Content
Markdown in a page, a YAML data file for a listing, and the annotation that renders a page as pure Markdown.
-
Write prose with the markdown tag
In
atelier/_index.php, drop Markdown straight into the page — it's converted to HTML after PHP runs, so PHP variables and Markdown mix freely. Wrap the paragraph between an opening and a closing tag namedmarkdown, the same way every paragraph on this tutorial page is written — view this page's source to see the real thing, since showing the tag's own angle brackets here would trip the very tag it's demonstrating.Add a
proseattribute on the opening tag to wrap the output in.prose— this site's own@kirigami/canva-based typography for long-form content. -
List notes from a YAML file
notes/_notes.yaml:- title: The first pleat date: 2026-08-02 excerpt: Where the studio's name actually comes from. - title: Paper weights, compared date: 2026-08-19 excerpt: 80gsm folds crisp; 120gsm holds a curve.notes/_index.phppoints a PHPDOC annotation at it, and gets the parsed data back as a plain array of objects — no manualfile_get_contents()/yaml_parse():/** * @title Notes * @posts _notes.yaml */foreach ($posts as $post) { echo '<h3>' . str_htmlesc($post->title) . '</h3>'; echo '<p>' . str_htmlesc($post->excerpt) . '</p>'; }Any annotation value ending in
.yaml,.yml,.jsonor.mdthat resolves to a real file is loaded and parsed automatically — the string becomes structured data instead. -
A whole page that's just Markdown
For a single note that's pure prose, skip writing PHP at all.
notes/premier-pli/_premier-pli.mdholds the text; the page file becomes almost nothing:/** * @title The first pleat * @content _premier-pli.md */@contentrenders that file's contents as the page body and skips executing the PHP file entirely — reserved for pages that are pure data or Markdown, wrapped by the same shared header/footer as everything else.
NOTE
Three different shapes, same output family: <markdown> for prose mixed with logic, an auto-loaded data file for structured listings, @content for pages that are only ever going to be prose. Pick the one that matches the page, not one convention for the whole site.