by zachmueller
Publish your notes with sliding panes and link to others notes
Commonplace Notes
Commonplace Notes (CPN) is an Obsidian plugin that publishes a curated subset of your vault as a fast, stacked-panes static site — the kind where clicking a link opens the target note in a new column beside the current one, so a reader can follow a train of thought without losing their place. Sites are self-hosted on AWS (S3 + CloudFront), notes are private by default (nothing publishes until you opt a note in), each note gets a stable per-note UID that drives its URL, and the Markdown→HTML pipeline is fully user-extensible. CPN is desktop-only.
Status
Beta (0.2.0, requires Obsidian 1.0.0+). Installed and updated via
BRAT. See
Getting started for the full install + first-publish
walkthrough.
Quick start
The 60-second path (assumes the plugin is installed and enabled):
- Open Settings → Commonplace Notes and confirm the default profile.
- Deploy AWS infrastructure with the Deploy publishing infrastructure command (or point the profile at an existing bucket). See Infrastructure deployment.
- Open a note and run Toggle publishing context: to opt it in
(this adds the profile to
cpn-publish-contexts; acpn-uidis generated automatically). - Run Publish current note.
- Run Copy link to current note URL and open it in a browser.
New here? Getting started walks through all of this in detail.
Documentation
- Getting started — install (BRAT + source) and your first publish
- Concepts — glossary of the core ideas
- Commands — every command in the palette
- Settings — every setting, with defaults
- Publishing model — contexts, profiles, UIDs, URLs, invalidation
- Infrastructure deployment — provision AWS from inside Obsidian
- Authentication & access — read-gating, sign-in, and commenting
- Site asset customizations — inject per-profile snippets
- Parser extensions — extend the Markdown→HTML pipeline
- Troubleshooting
Key concepts at a glance
- Publishing profile — a named publish target (bucket, base URL, infra, look & feel). Multiple profiles let one vault feed multiple sites.
- Publish context — a profile ID listed in a note's
cpn-publish-contexts; it's how a note opts in to a site. - UID — a stable per-note identifier (
cpn-uid) that drives the site URL, generated the first time a note gains a publish context. - Stacked URLs — links that open several notes side by side in one view.
Full definitions in the concept glossary.
Building from source
Contributors (end users should use BRAT):
nvm use # Node 26 (see .nvmrc)
npm install
npm run build # tsc typecheck + esbuild production bundle → main.js
npm run dev # esbuild watch mode
The build emits main.js; the plugin ships main.js, manifest.json, and
styles.css. Note the npm package name is commonplace-notes-publisher, but the
Obsidian plugin ID (in manifest.json, and used at
app.plugins.plugins['commonplace-notes']) is commonplace-notes.
Contributing & license
Contributions are welcome — open an issue or PR at zachmueller/commonplace-notes.
Licensed under the MIT 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.