T-TM1K-learning-p6-print-site
State: planning/proposed · Impact: medium · Complexity: medium
Publish a book as a static site. The site is an Astro template fed by
@sksizer/obsidian-astro, which gains the one hook it lacks: a fence
language mapped to a component, so exercises stay interactive in the
static build without progress. The CLI grows print and publish.
| Location | Role today |
|---|---|
packages/ts/obsidian-astro/ | Vault to Astro collections; wikilinks resolved at build by its remark plugin; no fence-to-component mapping |
solutions/augmented/apps/vimit/src-astro/ | The Astro site vimit is today: layouts, sidebar, progress meter, glossary and review pages; the chrome to carry over |
solutions/determined/packages/runners/ | Plain Vue runners, mountable as islands |
solutions/augmented/apps/augmented_dot_com/ | The Cloudflare static deploy precedent |
Proposed
Section titled “Proposed”sites/books/ is an Astro project that takes a vault path
and builds a static book: catalog, parts, modules, glossary. A
fenceComponents option in obsidian-astro maps vim-exercise and
sql-exercise to the runner islands. learning print <vault> builds
it; learning publish uploads bundles, catalog and site.
Approach
Section titled “Approach”- Add
fenceComponentsto obsidian-astro’s remark plugin: a fence whose language is mapped becomes the component with the body as a prop. - The Astro template, taking vimit’s layouts and stripping its stores.
printandpublishverbs.- A CI job that prints the vim book and checks the build is deterministic.
| Area | Note |
|---|---|
packages/ts/obsidian-astro/ | fenceComponents |
sites/books/ | The Astro template |
solutions/determined/apps/learning-cli/ | print, publish |
.github/workflows/ci.yml | Print-site build job |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1:
learning print vaults/vimproduces a site whose module pages run the vim exercises. - AC-2: Two prints of the same vault are byte-identical.
- AC-3: Pages are prose HTML; the runner is the only script on a page without an exercise.
Out of scope
Section titled “Out of scope”- Progress in the static site.
- A static Nuxt build of the reader. A separate spike if wanted.
Dependencies
Section titled “Dependencies”T-J3NWfor the runners.
Discovery context
Section titled “Discovery context”D-LIRI.
Depends on
Section titled “Depends on”T-J3NW