Share Page
approvedby licc168
Instantly share a note as a beautiful webpage and copy the public link. - This plugin has not been manually reviewed by Obsidian staff.
Share Page — Obsidian Plugin
Instantly share any Obsidian note as a beautiful webpage via htmlto.link and copy the public link.
Features
- One-click share — Ribbon, command palette (
Share current note), or right-click a file - Same URL on update — Re-sharing a note updates the existing link; rename or move the file and it still matches
- Update on save — Optional. Already-shared notes update the same URL when you save; the first share is still manual
- 30+ templates — Memo, Pop Art, Traditional Chinese, Coil Notebook, Cyberpunk, Glassmorphism, and more
- Theme variants — Multiple color themes per template (e.g. Bright / Dark for Memo)
- Local template preview — Switch template and theme from the top-right of the current Markdown page without publishing or uploading the note
- Responsive layout — Share pages adapt to screen width automatically
- Delete share — Remove a previously shared link (
Delete share for current note) - Frontmatter integration — Automatically writes
share_linkandshare_updatedto note properties after sharing - i18n — UI follows Obsidian language (English / 中文), or set manually
- API Token help — Clear steps and a one-click link to get your token from htmlto.link settings
Installation
From Obsidian Community Plugins
Search "Share Page" in Settings → Community plugins → Browse.
Manual / BRAT
- Download
main.js,manifest.json,styles.cssfrom the latest GitHub Release. - Place them in
<your-vault>/.obsidian/plugins/htmlto-link/. - Enable Share Page in Settings → Community plugins.
Build from source
git clone https://github.com/licc168/obsidian-htmlto-link.git
cd obsidian-htmlto-link
npm install
npm run build
Copy main.js, manifest.json, styles.css to your vault's plugin directory.
Usage
- Open any Markdown note.
- Use the Template and Theme dropdowns at the top-right of the page to preview locally. Choose Obsidian original to exit preview.
- To publish, use
Ctrl/Cmd + P→ Share current note (or the ribbon icon/right-click menu). - Confirm the template/theme in the publish dialog. Unsaved edits are included and the share link is copied automatically.
To remove a share: Ctrl/Cmd + P → Delete share for current note.
To keep a public link in sync: share the note once, then enable Update share on save in plugin settings. Later saves update that same URL after a short pause. This does not create a new link if the old one expired.
Settings
| Setting | Description |
|---|---|
| API Token | Optional. Empty = guest (24h). Sign in at htmlto.link/settings, copy API Token, paste here for account-bound longer lifetime |
| Default Template | memo / popart / traditionalchinese / coilnotebook / … |
| Theme Class | e.g. bright-mode, candy-mode |
| Language | Auto / English / 中文 |
| Copy link on success | Enabled by default |
| Open in browser | Disabled by default |
| Write share info to note | Writes share_link / share_updated to frontmatter |
| Update share on save | Disabled by default. Saving an already-shared note updates the same public URL |
| Show options on publish | Template & theme picker dialog |
Template preview is not a separate setting. It is enabled from the Markdown page controls and remains separate from publishing.
Privacy & Data
- Network access: Template preview runs locally and does not send the note content or upload local images. When you publish, the plugin sends the current note's Markdown and referenced local images to the configured API server to create or update the share page. If Update share on save is enabled, saving an already-shared note also uploads that note and its referenced local images to update the existing page. Deleting a share also contacts that server. The plugin does not scan or upload the rest of the vault.
- Server-side storage: The configured service stores the published note content and uploaded images to serve the resulting public page. Anyone with the public share URL may be able to view the published content. The current service does not provide end-to-end encryption for this plugin's shares.
- Retention: Guest shares expire after 24 hours. Account-bound shares follow the retention period returned by the service and the applicable plan. Use Delete share for current note to request deletion of a share.
- Telemetry: The plugin does not send startup pings or client-side usage analytics. The service may record the minimum request information needed to operate the publishing API; see the HTML To Link Privacy Policy.
- Clipboard access: The plugin only writes to the clipboard. After a successful publish it copies the public URL when “Copy link on success” is enabled, and the local template preview can copy a code block you click. It never reads the clipboard, so it cannot expose content copied from outside Obsidian.
- Vault access: The plugin reads only the note being shared and its referenced local images. It writes
share_linkandshare_updatedto that note only when the corresponding setting is enabled. - Local data: Settings, share-update tokens, and image cache records are stored through Obsidian's plugin data API.
Development
npm install
npm run dev # watch mode
npm run build # production build
Project Structure
obsidian-htmlto-link/
├── manifest.json
├── package.json
├── styles.css
├── esbuild.config.mjs
├── src/
│ ├── main.ts # Plugin entry
│ ├── settings.ts # Settings tab
│ ├── constants.ts # Defaults / templates
│ ├── api.ts # API client
│ ├── publish.ts # Share & delete logic
│ ├── auto-update.ts # Optional update-on-save
│ ├── template-preview/ # Local template preview
│ └── i18n.ts # Internationalization
├── scripts/
│ └── sync-template-assets.mjs # Sync html2url template CSS
└── README.md
License
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.