The pubsub event endpoint was only used for physical file sync, which is no longer needed now that reads/writes go directly through 9P. Removed the /event file, pubsub message bus, and all Publish calls. Added renameNote helper that renames the physical file and updates note.Path whenever title, keywords, signature, or body frontmatter changes, keeping the denote filename in sync with in-memory metadata. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| internal | ||
| pkg | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| mkfile | ||
README.md
denotesrv
9P server for denote notes.
Dependencies
- plan9port (wayland-9pfuse-truncate branch required for
9pfusetruncate fix)
Installation
mk install
Usage
denotesrv start # background
denotesrv fgstart # foreground
denotesrv status
denotesrv stop
On startup, the server automatically mounts at ~/mnt/denote via 9pfuse.
Use -mount /path to override the mount location.
Environment
| Variable | Default | Description |
|---|---|---|
DENOTE_DIR |
~/Documents/notes |
Notes directory |
NAMESPACE |
/tmp/ns.$USER.:0 |
9P namespace |
9P Filesystem
denote/
ctl (write) filter <query>, cd <path>, refresh
event (read) Event stream
index (read) Note metadata (respects filter)
new (write) Create note: "'title' tag1,tag2"
n/
<id>/
backlinks (read) Notes linking to this note
body (rw) File content
ctl (write) 'd' to delete
keywords (rw) Tags
path (rw) Filesystem path
signature (rw) Note signature
title (rw) Note title
See Also
- acme-denote — Acme frontend