GitHub Publish

by Olivier Rouiller
5
4
3
2
1
New Plugin

Description

Publish your vault notes for free in a few clicks - This plugin has not been manually reviewed by Obsidian staff.

Reviews

No reviews yet.

Stats

stars
downloads
0
forks
0
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

Publish your notes for free in a few clicks

The Plugin Github Publish allows you to publish your vault in minutes without the configuration hassle of the usual free solutions. The plugin uses Quartz as a rendering engine 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!

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 edited notes, lets you know when there are changes, and lets you publish the latest notes with a click.

User Friendly UX

The plugin is designed to make the process of publishing as smooth as possible and to give you the info you need to know what is going on. Just what you would expect from a modern usable software tool.

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.

Missing some features?

The pluggin is in a 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

This plugin is not yet on the Obsidian Community Plugins store. Install manually:

  1. Download the latest release assets (or build locally—see below).

  2. Copy or symlink the plugin/ folder into your vault:

    <vault>/.obsidian/plugins/github-publish/
    
  3. Enable GitHub Publish under Settings → Community plugins.

  4. Open Settings → GitHub PublishConnect to GitHub.

  5. Run the command palette → GitHub Publish: Set up site.

ln -s /path/to/obsidian-github-publish/plugin \
  ~/path/to/vault/.obsidian/plugins/github-publish

After changing plugin code, rebuild and reload Obsidian (or use the Reload app without saving command).

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)
GitHub Publish: Continue publish Resume an interrupted first publish

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.

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 toolchains and build the plugin
npm run build:plugin:advanced Build with extra settings (template engine, Quartz version)
npm run sync:toolchain Refresh bundled Quartz and in-house toolchains
npm run build Plugin only (assumes toolchains already synced)

More detail: plugin/README.md.

Repository layout

plugin/          Obsidian plugin (manifest, main.ts, bundled toolchains)
  assets/
    toolchain-quartz/   Default static site generator (Quartz)
    toolchain-inhouse/  Alternative Vite + React template
scripts/         Build and toolchain sync helpers
template/        Standalone in-house site template (local dev)
Wiki/            Design notes and specifications

Status

Early prototype (v0.1.0). Expect rough edges. Desktop only.

License

MIT © oilandrust