{"id":30618063,"url":"https://github.com/cyprieng/obsidian-github-publisher","last_synced_at":"2026-05-05T08:32:32.151Z","repository":{"id":310789290,"uuid":"1041194279","full_name":"cyprieng/obsidian-github-publisher","owner":"cyprieng","description":"Push selected notes and folders from Obsidian directly to a GitHub repository.","archived":false,"fork":false,"pushed_at":"2026-03-15T17:26:33.000Z","size":232,"stargazers_count":7,"open_issues_count":2,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-16T05:38:22.983Z","etag":null,"topics":["github","obsidian","obsidian-md","obsidian-plugin"],"latest_commit_sha":null,"homepage":"https://www.cyprien.io/projects/obsidian-github-publisher/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cyprieng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-20T06:00:08.000Z","updated_at":"2026-03-15T17:24:04.000Z","dependencies_parsed_at":"2025-09-18T18:09:46.866Z","dependency_job_id":null,"html_url":"https://github.com/cyprieng/obsidian-github-publisher","commit_stats":null,"previous_names":["cyprieng/obsidian-github-publisher"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/cyprieng/obsidian-github-publisher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyprieng%2Fobsidian-github-publisher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyprieng%2Fobsidian-github-publisher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyprieng%2Fobsidian-github-publisher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyprieng%2Fobsidian-github-publisher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyprieng","download_url":"https://codeload.github.com/cyprieng/obsidian-github-publisher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyprieng%2Fobsidian-github-publisher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32642007,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"online","status_checked_at":"2026-05-05T02:00:06.033Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github","obsidian","obsidian-md","obsidian-plugin"],"created_at":"2025-08-30T11:08:10.507Z","updated_at":"2026-05-05T08:32:32.144Z","avatar_url":"https://github.com/cyprieng.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Publisher for Obsidian\n\n**GitHub Publisher** is a plugin for [Obsidian](https://obsidian.md/) that lets you automatically or manually publish selected notes and folders from your vault to a folder in a GitHub repository.\n\nThis plugin is ideal for publishing notes for use with a static site generator, or backing up part of your vault to GitHub.\n\nFor more details on how you can use it to publish your notes, check here: [easily publish your Obsidian notes through GitHub](https://www.cyprien.io/posts/obsidian-github-publisher/).\n\n## Installation\n\nThis plugin is not yet available in the official Obsidian Community Plugins list. You can install it using one of the methods below.\n\n### Using BRAT (recommended)\n\n1. Install [BRAT](https://github.com/TfTHacker/obsidian42-brat) from **Settings \u003e Community Plugins \u003e Browse**.\n2. Go to **Settings \u003e Community Plugins \u003e BRAT \u003e Add Beta Plugin**.\n3. Paste the repository URL: `https://github.com/cyprieng/obsidian-github-publisher`.\n4. Click **Add Plugin**, then enable **GitHub Publisher** in your Community Plugins list.\n\n### Manual installation\n\n1. Download `main.js` and `manifest.json` from the [latest release](https://github.com/cyprieng/obsidian-github-publisher/releases).\n2. Create the folder `\u003cyour-vault\u003e/.obsidian/plugins/github-publisher/`.\n3. Copy the downloaded files into that folder.\n4. Restart Obsidian (or reload plugins).\n5. Enable **GitHub Publisher** in **Settings \u003e Community Plugins**.\n\n## Features\n\n- **Selective publishing:** Choose specific notes and folders to export, or use tags to automatically select files.\n- **Configurable destination:** Publish to any folder in any branch of your repository.\n- **Manual and automatic publishing:** Trigger export manually or on an interval.\n- **Overwrites remote folder:** The target folder in your repository will always match your selected local notes/folders.\n\n## Configuration\n\nOpen the plugin settings from `Settings` → `GitHub Publisher`. Configure the following:\n\n- **GitHub Token:**  \n  A [GitHub Personal Access Token](https://github.com/settings/tokens) with permissions to commit to your repository.\n\n- **Repository URL:**  \n  Full URL to your GitHub repository (e.g., `https://github.com/yourusername/yourrepo`).\n\n- **Target folder in the repo:**  \n  Relative path inside your repository where notes will be placed (leave empty to use the root).\n\n- **Branch:**  \n  The branch to push changes to (default: `main`).\n\n- **Publish files with given tags:**\n  Tags that mark files for publishing (e.g., `#publish`, `#note`). Any file containing at least one of these tags (in frontmatter or inline) will be published.\n\n- **Notes/folders to export:**\n  The notes or folders you want to push to your repo.\n\n- **Publish interval (min):**  \n  How often to publish automatically (0 to disable periodic publishing).\n\n## Usage\n\n- **Manual Publishing:**  \n  Use the command palette (`Cmd/Ctrl + P` → \"Publish to GitHub now\") or the \"Synchronize now\" button in the settings.\n\n- **Automatic Publishing:**  \n  If an interval is set, the plugin will periodically export your selected notes/folders.\n\n## Important Behavior\n\n\u003e **One-way export:**  \n\u003e This plugin performs a **one-way publish** from Obsidian to GitHub.  \n\u003e The contents of the selected notes/folders will **overwrite** the target folder in your GitHub repository on each publish.  \n\u003e Any files in the target GitHub folder that are not present locally will be **deleted**.  \n\u003e This is **not a two-way sync**, changes made on GitHub are not imported back into Obsidian.\n\n## How It Works\n\n- The plugin collects all selected notes/folders and their contents.\n- It uses the GitHub API to create, update, or delete files in your specified repo folder and branch.\n- The remote folder is overwritten to match your selection (additions, updates, deletions).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyprieng%2Fobsidian-github-publisher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyprieng%2Fobsidian-github-publisher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyprieng%2Fobsidian-github-publisher/lists"}