Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mrgvsv/obsidian-github-embeds

Embed GitHub issues, PRs, and code snippets directly in Obsidian
https://github.com/mrgvsv/obsidian-github-embeds

Last synced: 3 months ago
JSON representation

Embed GitHub issues, PRs, and code snippets directly in Obsidian

Awesome Lists containing this project

README

        

# Obsidian GitHub Embeds

*Embed GitHub issues, PRs, and code snippets directly in Obsidian.*

![Demo GIF](./screenshots/github-embeds-demo.gif)

## Details

When in **reader mode**, the Github Embeds plugin will find all GitHub links and attempt to embed a preview below it.

#### Issues and PRs

Issues and pull requests will be displayed for any link matching one of the following:

- `https://github.com///issues/`
- `https://github.com///pull/`

#### File Snippets

File snippets will be displayed when the link matches a URL like:

- `https://github.com///blob//`

Snippets can also be limited to one or more lines. If we wanted a file to only show line 12, we could append our URL with `#L12`. To show multiple lines, like 12 through 19, we could change this to read `#L12-L19`.

> **Note**
> While we can scope our files to a particular set of lines, the entire file will still need to be requested. This may result in poor performance for really large files.

#### Authentication

In order to make use of GitHub's API, calls need to be authenticated. Because of that, this plugin requires you to [create a personal access token](https://github.com/settings/tokens?type=beta).

By default, the token will be generated with the **Repository access** set to **Public repositories (read-only)**. To allow this plugin to also work with private repositories, change the access to **All repositories** and give it at minimum the following repository permissions:

- **Contents** (*Read-only*)
- **Issues** (*Read-only*)
- **Pull requests** (*Read-only*)

With the token created, navigate to this plugin's settings and paste it into the token text field.

### Screenshots

Screenshot of pull request embedScreenshot of file embed

## Todo

There are some remaining features I'd like to add:

- [ ] Display embeds in editor mode
- [ ] Opt-in/opt-out specific links
- [ ] Better configuration of issue/PR info placement
- [ ] More PR metadata (additions/deletions, check status, etc.)

The following are things that would be great but are likely out-of-scope for this project:

- Allowing issue/PR to be editable

## Support

This plugin is totally free to use! I have a lot of fun making stuff like this, so I never expect any type of financial compensation. But if you enjoy the plugin and are feeling generous, I certainly won't say no to a cup of coffee!