Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

GitHub Publish

Olivier RouillerOlivier Rouiller68 downloads

Publish your vault notes for free in a few clicks

Add to Obsidian
GitHub Publish screenshot
GitHub Publish screenshot
GitHub Publish screenshot
  • Overview
  • Scorecard
  • Updates24

The Plugin allows you to publish your vault in minutes without the configuration and learning curve of the free solutions. The plugin uses Quartz as a site generator and GitHub Pages for hosting, but does all the configuration setup for you.

Easy steps:

  • Authenticate with your GitHub account,
  • Give permissions (repo and actions)
  • Select the folder you want to publish, and the name of the site
  • Profit!

Setup Demo

GitHub Permissions

The plugin requires a few permissions from your GitHub account; those are the permissions and why we ask for them.

  • Public Repo: We use this permission to create new repositories on your behalf, list existing public repositories, and create commits to upload content.
  • Workflow: We use this to set up GitHub Actions that build the website when you publish new content. We do not read any data from your repositories other than that, and the plugin does not delete repositories or touch data outside the content/ folder.

Live Demo

Checkout the Wiki of the project that is published with the Quartz template.

Example Wiki

Published site example (light theme)

Keep track of changes and publish your updated notes

The plugin keeps track of your published sites, lets you know when there are changes, and lets you publish the latest notes with a click.

Site Status UI

Features

  • One-click setup — choose a content folder, site name, and repository; the plugin handles the rest
  • Quartz by default — Obsidian-flavored markdown, backlinks, and graph view out of the box
  • Incremental publishes — only changed notes are uploaded after the initial publish
  • Multi-site — publish several folders from one vault to separate repositories
  • Progress tracking — monitors GitHub Actions until the site is live

How it works

  1. You authenticate with GitHub (device flow OAuth).
  2. On first publish, the plugin creates a repo containing your notes under content/, a pinned Quartz toolchain, and a deploy workflow.
  3. A commit to main triggers GitHub Actions, which builds dist/ and deploys to GitHub Pages.
  4. Later publishes diff your vault folder against a stored manifest and push only what changed.

Enjoying the pluggin or missing some features?

Get in touch! The plugin is in an early prototype version, and I am curious to know what features you would like to see. Get in touch directly via email: [email protected].

Some Issue?

Please report issues and bugs on the GitHub Issue Page

Install

Download the latest release, then install into your vault:

<vault>/.obsidian/plugins/github-publish/

From the Obsidian community store: install as usual — the Quartz toolchain is embedded in main.js and loaded in memory when you publish.

From a GitHub release: download main.js, manifest.json, and styles.css into your plugin folder. The Quartz toolchain is embedded in main.js — no separate assets/ folder is required.

For development: symlink or copy this repository into your vault (after npm run build:plugin):

<vault>/.obsidian/plugins/github-publish/

The folder should contain manifest.json, main.js, and styles.css.

Usage

Command Description
GitHub Publish: Set up site Wizard for a new published site
GitHub Publish: Publish changes Push note updates (picks a site if you have several)

Published sites appear as cards in the plugin settings, each with its own Publish changes button and live status.

If publish fails with an UpdateRef permissions error, disconnect and reconnect GitHub so your token includes the workflow scope.

Deleting a published Site

The Pluggin currently do not implement deletion of site and repository. Please delete the repository on your GitHub account, you can find a link to it in the site status of the puggin settings.

Development

Requirements: Node.js 20+ and npm.

git clone https://github.com/oilandrust/obsidian-github-publish.git
cd obsidian-github-publish
npm run build:plugin
Script Purpose
npm run build:plugin Sync Quartz toolchain and build the plugin
npm run build:plugin:advanced Build with Quartz version controls in settings
npm run sync:toolchain Refresh bundled Quartz toolchain
npm run build Plugin only (assumes toolchain already synced)
npm run lint Run ESLint
npm run dev Watch mode for plugin development

Debugging

Open Obsidian's developer console (Cmd+Option+I on macOS, Ctrl+Shift+I on Windows/Linux) and filter by GitHub Publish for API logs and errors.

License

MIT © oilandrust

HealthExcellent
ReviewSatisfactory
About
Publish your vault in minutes, without the learning curve of typical free solutions. The plugin uses Quartz as a rendering engine and GitHub Pages for hosting, and does all the configuration setup for you. Just authenticate with your GitHub Account, then choose the folder you want to publish and the site name, and click 'Publish'. That's it!
PublishingGitIntegrations
Details
Current version
0.1.23
Last updated
8 hours ago
Created
Last week
Updates
24 releases
Downloads
68
Compatible with
Obsidian 1.5.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Sponsor
PayPal
Author
Olivier RouillerOlivier Rouilleroilandrust
oilandrust.github.io/portfolio/
GitHuboilandrust
  1. Community
  2. Plugins
  3. Publishing
  4. GitHub Publish

Related plugins

Quartz Syncer

Manage and publish your notes to Quartz, the fast, batteries-included static-site generator.

GitHub

Share as Gist

Share a note as a GitHub.com Gist.

Version History Diff

Diff the version history of the core Sync and File Recovery plugins and Git for the active file.

BRAT

Easily install a beta version of a plugin for testing.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Share Note

Instantly share/publish a note, with the full theme and content exactly like you see in Obsidian. Data is shared encrypted by default, and only you and the person you send it to have the key.

Git

Integrate Git version control with automatic backup and other advanced features.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Terminal

Integrate consoles, shells, and terminals.

Readwise Official

Sync highlights from Readwise to your vault.