Skip to content

The Gardener's Handbook

Everything in this site is one garden. The mapping is simple:

In a libraryIn this garden
The shelfThe garden — the bed on the home page
A bookA vegetable — one major topic (a course, a language)
Its pagesLeaves — the individual notes inside

Click a vegetable and you step into its plot: the sidebar shows that topic’s leaves and nothing else, with a path back to the garden at the top.

src/
├── garden.mjs ← the registry: one entry per vegetable
└── content/docs/
├── japanese/ ← one folder per topic
│ ├── index.md ← the topic's home leaf
│ ├── grammar/
│ └── vocabulary/
├── example-course/
└── handbook/ ← this page
  1. Dig the plot — create src/content/docs/<topic>/ with an index.md home page, then add one Markdown file per note. New leaves appear in the topic’s sidebar automatically.

  2. Put it in the registry — add one entry to src/garden.mjs:

    {
    slug: 'control-systems',
    label: 'Control Systems',
    veg: 'pumpkin',
    note: 'semester 2',
    },

    That single entry grows the plot in the garden bed, the topic’s own sidebar, and the crest above it. If the topic has sub-folders that deserve labeled groups (like Japanese’s Grammar and Vocabulary), give the entry a sidebar array — copy the one on the japanese entry.

  3. Pick the vegetable — varieties on hand: carrot, daikon, pumpkin, eggplant, tomato, cabbage, turnip, and sprout. They’re all drawn in src/components/Veggie.astro, so a new variety is one more SVG.

  • One idea per leaf. A note called “は vs が” gets reread; “Grammar dump week 3” never does.
  • Name files for the ideacontrol-systems/root-locus.md reads better in six months than cs2/lec7.md. Future-you is the most important reader.
  • Rewrite, don’t transcribe. Notes go down within a day of the lecture, from memory first; the gaps you find are the exam questions you would have missed.

Math ( inline, display blocks, the lot), code with syntax highlighting, callouts, tables, footnotes, and task lists — the sample lecture note shows everything in one place.