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

One-Click Publish

jinhefengjinhefeng73 downloads

Publish the active Obsidian note with one click after a one-time Cloudflare setup, including linked pages and local assets.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates7

Language / 语言: English | 中文

Once your Cloudflare account is connected, publish the active Obsidian Markdown note with one click. One-Click Publish can include linked notes, upload referenced local assets, and keep a stable link when you publish updates.

What it does

  • Publishes the active note as the root page of a stable /s/{siteId} website.
  • Includes linked Markdown notes according to Linked page depth.
  • Supports WikiLinks, relative Markdown links, images, callouts, code blocks, tables, and task lists.
  • Uploads referenced local images and other supported assets.
  • Keeps external URLs, anchors, mailto: links, and external assets unchanged.
  • Copies the published URL automatically and writes share_site_id, share_link, and share_updated to the root note's frontmatter.
  • Uses Obsidian's native renderer when available and a deterministic fallback renderer otherwise.
  • Binds one root domain or subdomain from the connected Cloudflare account, while keeping the original Worker address as a fallback.

Install

Community plugins

In Obsidian, open Settings → Community plugins → Browse, search for One-Click Publish, install it, and enable it.

Manual installation

Download manifest.json and main.js from the latest GitHub Release. Place both files in:

.obsidian/plugins/one-click-publish/

Then open Settings → Community plugins and enable One-Click Publish.

Quick start

  1. On Obsidian desktop, open Settings → Community plugins → One-Click Publish.
  2. Click Deploy to my Cloudflare and complete the one-time Cloudflare authorization.
  3. Open the Markdown note you want to publish.
  4. Optionally enter a root domain or subdomain from the same Cloudflare account under Custom domain, then click Bind domain.
  5. Choose One-Click Publish from the command palette, ribbon, or note context menu.
  6. Open the copied link or find it in the note frontmatter.

The first deployment creates a private Worker and D1 database in your Cloudflare account. The plugin stores only the Worker URL and scoped Publish Token in the Vault after deployment. The Cloudflare access token is used in memory and revoked after setup.

After setup, include this plugin's settings when syncing the Vault to another device. Notes-only sync does not transfer the publishing connection.

Custom domains support both example.com and notes.example.com when the active Zone belongs to the connected Cloudflare account. Cloudflare manages the Worker domain record and certificate. The original workers.dev address remains available as a fallback; binding a root domain may affect existing routes on that domain.

The Cloudflare deployment connection and custom-domain binding are separate settings. Unbinding a custom domain removes only that custom-domain attachment and switches publishing back to the Worker address; it does not disconnect the saved Cloudflare Worker or Publish Token. Disconnect is a separate local connection action and is not a substitute for custom-domain unbinding.

If Cloudflare completes a domain removal but Obsidian cannot save the new local settings, the plugin keeps the primary connection and shows a recovery action in Settings. Use Recover custom-domain state to reconcile the saved state with Cloudflare before trying another domain operation.

Linked notes and assets

Linked page depth controls how far One-Click Publish follows links:

  • 0: publish only the active note.
  • 1: include directly linked notes.
  • Higher values: include deeper linked notes.

The active note is always the share root. Local images and supported referenced assets are uploaded with the pages. External resources are not downloaded or rewritten.

Settings

  • Language: English by default, with Chinese available.
  • Linked page depth: controls linked-note traversal.
  • Use Obsidian renderer: preserves Obsidian rendering when supported.
  • Custom domain: optionally binds one root domain or subdomain in the connected Cloudflare account.
  • Update Cloudflare Worker: appears only when the connected personal Worker needs a refresh, and updates it without replacing published data.
  • Worker compatibility check: compares the online Worker version with the plugin version in settings and before each publish; historical or unverifiable Workers must be updated first.
  • Debug mode: shows sanitized deployment and publishing diagnostics when troubleshooting.

The normal settings page does not ask for a service URL or Publish Token. The official hosted connection is planned; the current supported path deploys to your own Cloudflare account.

Limits and privacy

  • Personal publishing uses Cloudflare Workers and D1; it does not create or require R2.
  • There is no account-wide published-content quota and no published-note count limit.
  • Individual files are limited to 20 MB.
  • Content is uploaded in chunks to stay within Cloudflare request limits; the per-request and per-file platform limits still apply.
  • Debug logs exclude credentials, request bodies, and note contents.

Updating a published note

One-Click Publish stores the site ID in the root note's frontmatter. Publishing the same root note again updates the existing site instead of creating a new link.

Troubleshooting

  • Reload community plugins after installing or updating the plugin.
  • For a publish failure, enable Debug mode, retry once, and inspect the copyable Debug log.
  • For a deployment failure, confirm that Obsidian desktop can open the Cloudflare authorization flow and that the account permits Worker and D1 changes.
  • If custom-domain unbinding reports that Cloudflare changed the domain but local settings could not be saved, reopen Settings and use Recover custom-domain state. Do not disconnect the primary Cloudflare connection while recovery is pending.
  • For a manual installation, confirm that manifest.json and main.js are directly inside .obsidian/plugins/one-click-publish/.

Links

  • GitHub repository
  • Latest release
  • Author: Jin Hefeng
  • MIT License

For development, testing, packaging, and release instructions, see CONTRIBUTING.md.

HealthExcellent
ReviewPassed
About
Publish the active Markdown note to a stable /s/{siteId} site on Cloudflare with one click. Include linked notes and upload referenced local assets, preserve external URLs and anchors, keep a stable URL on updates, and automatically copy the published link and write share_site_id, share_link and share_updated into the note frontmatter.
PublishingAttachmentsIntegrations
Details
Current version
0.4.1
Last updated
2 months ago
Created
2 months ago
Updates
7 releases
Downloads
73
Compatible with
Obsidian 1.5.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
jinhefengjinhefeng
GitHubjinhefeng
  1. Community
  2. Plugins
  3. Publishing
  4. One-Click Publish

Related plugins

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.

Image auto upload

Upload images from your clipboard by PicGo.

Digital Garden

Publish your notes to a digital garden for others to enjoy.

BRAT

Easily install a beta version of a plugin for testing.

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.

Local REST API with MCP

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

Google Drive Sync

Syncs a vault into Google Drive for cross-platform use (works for iOS).