rabbit-hole-template
A static Rabbit Hole site template with contextual note panes, Obsidian-style links, and public/private publishing guardrails.
Rabbit Hole Template
A static website template for public rabbit holes, research trails, field notes, and working ideas.
It gives you:
- contextual note panes
- an always-visible trail back to the starting note
- Obsidian-style wiki links
- hover previews before opening links
- search over public notes
- direct URL trails for shared rabbit holes
- a
publish: trueguardrail - no backend required
Quick Start
npm install
npm run build
npm run preview
Then open the local preview URL shown in your terminal. npm run build parses _notes/ and writes the static site to _site via _site/build.js, then bundles the React stacking UI with Vite; npm run preview serves that built output — this is what Vercel deploys.
There's also npm run dev, which starts Vite's dev server for the React UI in src/. It does not regenerate note pages, so it won't show your notes — re-run npm run build (and npm run preview) after editing _notes/ to see real content.
How Notes Publish
Write Markdown files in _notes/.
Only notes with this frontmatter publish:
publish: true
Private notes can stay in _notes/ with:
publish: false
The builder also understands fieldnotes: true for older Field Notes setups, but new notes should use publish.
What Makes A Rabbit Hole
A rabbit hole is a trail of linked notes, not a polished essay.
Good starter shape:
- what sent me in
- what I found
- what surprised me
- what it connects to
- what I might do with it
- sources or links
Use rabbit_hole frontmatter to group notes that belong to the same trail.
Note Links
Use Obsidian-style links:
[[Sample Rabbit Hole]]
[[Sample Rabbit Hole|custom label]]
The site turns those into contextual note links.
Recommended Frontmatter
---
title: My Note Title
description: A short description for search and previews
last_modified: 2026-06-06
publish: true
type: spark
rabbit_hole: my-rabbit-hole
status: open
energy: low
patterns:
- attention
- language
tags:
- example
---
Useful type values:
sparkfield-notetermpatternsourceproject-bridgeindexorigin— the entry note for the site (see_notes/Index.md)draft— private, in-progress notes (pair withpublish: false)
Useful status values:
opensimmeringclosedbecame-project
Deploying To Vercel
This repo includes vercel.json.
Vercel settings:
- Build command:
npm run build - Output directory:
_site - Install command:
npm install
GitHub Template Setup
After pushing this repo to GitHub:
- Open the repository settings.
- Turn on Template repository.
- Keep the repo public if you want others to use it.
- Add topics like
digital-garden,obsidian,markdown,static-site,rabbit-hole, andnotes.
Obsidian
See OBSIDIAN.md.
Privacy Checklist
Before publishing a real notes site:
- keep your private vault separate from this repo
- copy or export only public-ready notes into
_notes/ - confirm private notes use
publish: false - run
npm run build - check
_site/notes.jsonfor anything that should not be public
What This Template Is Not
This is not a hosted CMS, database app, or full private vault system.
It is a static website that publishes approved Markdown notes.
How to Install
- Download the template file from GitHub
- Move it anywhere in your vault
- Open it in Obsidian — done!
Stats
Stars
0
Forks
0
License
MIT
Last updated 5d ago
Categories
Tags