Feature
A justfile captures the everyday garden chores as short recipes, so the build,
serve, sync, and note-creation steps are one command each. The dev server
hot-restarts when config, layout, or content changes, and new notes are stamped
with a jj change id for a stable, collision-free
filename.
Usage
just dev— live preview server that auto-restarts on changes toquartz.config.ts,quartz.layout.ts, orcontent/.just build— one-off static build (handy for agents debugging output).just sync— push thev4branch via jj.just new "My title"— create a new note incontent/notes/named after a jj change id, pre-filled fromtemplates/notes.mdwith the title and today’s date.just prep—npm i.
Implementation
justfile— built up across several commits:devstarted asnpx quartz build --serve(3625aaf), then gained awatchexec --restartwrapper watching config (4150472) and later layout + content (ab1c77daddsbuild).syncrunsjj bs v4 -r @- && jj psb v4(93c0b31).new(d3adeb1) ensures a non-empty working copy gets a freshjj new, reads the short change id viajj log -r @ -T 'change_id.short()', copies the template tocontent/notes/<id>.md, andsed-substitutesTITLE/DATE.templates/notes.md(d3adeb1) — the stamped frontmatter template (title,date,tag: note) thenewrecipe fills in.