Skip to content

Add a recipe

A recipe is a Markdown file with a short block of structured details at the top and your write-up below. The site lays it out as numbered section cards, with a contents panel on the right.

  1. Copy src/content/recipes/_template.md to src/content/recipes/<short-id>.md. Use a lowercase, hyphenated name such as my-buck-boost.md; it becomes the page address.
  2. Fill in the details at the top (see below).
  3. Write the body: start it with a ## heading. Each ## heading becomes a numbered section card, and each ### a numbered subsection.
  4. Run npm run dev to see it, and npm run validate before you push.
SectionWhere it comes from
1 OverviewThe hero illustration, abstract (or summary), stats tiles and the source button
2 Reference circuitThe schematic drawing and components as a bill of materials. Without a schematic this section is called Key components and shows the table alone. Parts that have a part page are linked automatically
3 and laterYour Markdown body, such as Design requirements, How it works, Choosing the components, Layout and Documents
LastCommunity build notes (generated)
FieldWhat goes in it
titleA descriptive title.
design_idThe manufacturer’s ID, if there is one (optional).
manufacturerFor published reference designs (optional).
kindreference-design or tutorial.
categoryFree text for now, for example Power / DC-DC.
summaryOne or two sentences, under 300 characters. Used on cards and in search.
abstractA longer intro shown under the title, in plain text (optional).
sourceA link to the original (required for reference designs).
statsUp to four headline numbers, each with a label.
source_revisionThe revision of the source document your numbers were checked against, such as Rev 1.0 (May 2026) (optional).
pantry_idThe id of the Pantry card this recipe expands. The card then shows a “Read the recipe” link (optional).
drafttrue while the prose still needs a human review or a build to confirm it. The page shows a “Draft notes” tag.
componentsThe parts, each with part and a short description of its role. Add ref (the reference designator on the schematic) and maker to make a full bill of materials. For a generic part, put its value in part, such as 100 kΩ, 1%, 0603.
schematic and schematic_captionA drawing in src/assets/recipes/ and its caption (optional). See Schematic drawings below.
author and licenseWho made it, and the license of the design files they share (optional). The write-up itself is CC BY 4.0; see Licenses.
hero and hero_captionAn illustration file in src/assets/recipes/ and its caption (optional).

The body is ordinary Markdown with a few extras:

  • Tables are styled automatically and scroll sideways on a narrow screen.
  • Callouts: start a paragraph with > to make it a note, for a warning or a point you want to stand out.
  • Links to other pages on this site use the site: prefix, so they work wherever the site is hosted: [the SY21219 recipe](site:recipes/sy21219/) or [SY21219](site:parts/silergy/sy21219/). npm run validate checks that the target exists.
  • Calculated values: if a number comes from your own calculation rather than the source document, say so, and show the formula or inputs.

The reference circuit section can show a schematic. Drawings are SVG files in src/assets/recipes/ that use classes (sch-w, sch-ic, sch-ref and so on) instead of colors, so they follow the light and dark themes. You can draw one in any editor that lets you set classes, or generate it:

  1. Open scripts/schematics/designs.mjs. It holds drawing functions built on a small kit in lib.mjs (resistors, capacitors, inductors, grounds, IC boxes, net flags).
  2. Add your drawing function, then list it in scripts/schematics/build.mjs.
  3. Run npm run schematics. It writes the SVG into src/assets/recipes/, and the generated file is committed with the rest.
  4. Set schematic: your-file.svg in the recipe.
  • Credit the maker. A manufacturer’s reference design stays credited to them, with a link to the original source. Write your own words; don’t paste their documents.
  • Be upfront about status. Say what’s been built and measured, and what hasn’t.
  • Quote values with a colon. If a value contains a colon followed by a space, wrap the whole value in double quotes, or the page won’t build. npm run validate catches this.
  • Don’t type section numbers into headings; they’re added automatically.
  • Pictures: see Images.

Written content and drawings: CC BY 4.0 · Code: MIT · Manufacturers' documents, designs and trademarks belong to their owners · License details