cloudac718 downloadsSelectively publish your notes and images to GitHub for Hugo/Jekyll/Hexo sites.
Treat Obsidian as a Headless CMS. Selectively publish notes and images to a GitHub repository, compatible with Hugo, Jekyll, Hexo, and other static site generators.
Notes/中文笔记.md → remote content/english-notes.md).share: true frontmatter.remote_path frontmatter if no mapping exists.[[WikiLinks]] to standard [Markdown Links](/path/to/note.md).![[image.png]] to a dedicated folder and rewrites links.npm install to install dependencies.npm run build to build the plugin.main.js, manifest.json, and styles.css to your vault's .obsidian/plugins/obsidian-github-pager/ folder.Go to Settings > Obsidian GitHub Pager and configure:
repo scope. See Creating a personal access token. Ensure the token has access to the target repository with content write permissions.content/posts). Used as fallback when no mapping exists.static/images).{{file}} to include the filename).share: true frontmatter.main or master.The plugin maintains a mapping table to control which files sync to which remote paths.
Notes/my-note.md) and Remote file path (e.g., content/my-english-note.md).The remote path can be:
content/notes.md) — the file will be saved with that exact name.content/posts) — the file will be saved with its local filename in that directory.Push Current File to GitHub.Sync all mapped files to GitHub from the command palette. All enabled mappings are synced in a single Git commit.share: true frontmatter) triggers an automatic sync.Before pushing, the plugin compares file content with the remote. If content is unchanged, the push is skipped, avoiding empty commits.
If a file has no mapping but has remote_path in its frontmatter, the plugin falls back to that path. Similarly, if a file has share: true but no mapping or frontmatter path, the default Base Path is used.
| Command | Description |
|---|---|
| Push Current File to GitHub | Sync the currently active file |
| Sync all mapped files to GitHub | Batch sync all enabled mappings in one commit |
| Test GitHub connection | Verify your GitHub token is valid |
Ctrl+Shift+I) for logs and error messages.repo scope and write permissions to the target repository.