Research|Development — tolstoy.life

development

Development — tolstoy.life

Last modified 23 September 2026 · view source

How the site is built. Implementation guides, conventions, and feature recipes for the frontend and backend of the Eleventy site under website/.

This folder complements the others:


What lives here

Feature recipes. One file per feature that has a non-trivial implementation. Each recipe references the editorial or design spec it implements, lists what already exists in the codebase, names the files to add or modify, and flags decisions left for implementation time. Recipes are written so a future session (or a contributor) can implement without re-litigating any settled question.

Current recipes: none in this folder. The first recipe (source-mode-implementation.md — per-fact footnotes + toggle, implementing the spec in docs/editorial/source-mode.md) was ported into the eleventy notes collection during the 2026-05-11 docs → dev-blog migration. New blog-style recipes go to website/src/posts/notes/; only structural docs (this README, forthcoming frontend.md / backend.md conventions) stay here.

Convention docs (not yet written). A frontend.md and a backend.md will land here once enough features have shipped to document real patterns rather than guesses. Until then, the upstream sources are the authoritative reference:


Working in this part of the project

The Eleventy site lives at website/. Useful commands from that directory:

npm start          # dev server at http://localhost:8080
npm run build      # production build to dist/
npm run colors     # regenerate CSS custom properties from design tokens
npm run test:a11y  # pa11y accessibility tests

Before changing CSS, JS, layouts, or markdown plugins, check whether the pattern is already handled by Eleventy Excellent. Lene’s setup is intentionally complete — when something looks unusual, it is usually deliberate. Recipes in this folder always name what already exists before describing what to add.


Public docs

Files here are public. The project is openly developed; documenting the build in the open is consistent with the spirit of the project. Internal session planning lives in _generated/ and _resources/, not here.