Getting Started with NASApunk
Install the theme, set your site identity, and write the first post.
- Doc no.
- TN-006
- Date
- 2026-10-18
- GMT day
- 2026:291
- Est. read
- 2 min
01Requirements#
- Tola 0.8 or newer.
- Node.js, for the Pagefind search index. Run
npm installonce in the site directory.
npm install
tola dev # live reload, search index skipped
tola build # writes public/, search index included02Site identity#
Most values live in tola.toml under [site]: title, author, description and language. Two values have no [site] key and live in templates/config.typ:
#let doc-prefix = "TN" // TN-001, TN-002, ... under each post title
#let mission = none // e.g. "RESEARCH NOTES" next to the site titleHeader links are set by nav-items in templates/layout.typ.
03Writing a post#
Every .typ file under content/posts/ is a post. It declares its metadata with tola-meta and holds only its text:
#import "@tola/source:0.0.0": tola-meta
#tola-meta((
title: "Post title",
date: "2026-10-18",
summary: "One line for the post list and the Open Graph card.",
tags: ("systems", "notes"),
series: "Flight Manual", // optional
draft: false, // optional; drafts are not published
))
= First section
Text.Unknown keys fail the build, so a typo in the metadata is caught early. The URL follows the file path: content/posts/foo/bar.typ publishes at /posts/foo/bar/.
04Components#
utils/ui.typ holds the in-article components: callout, hint, img, gallery, xref and related. utils/diagram.typ draws box-and-arrow diagrams and timelines in the site palette; [FM 02] Ascent Profile shows both. utils/cetz.typ is a drop-in cetz that renders to inline SVG, and utils/figure.typ holds colours and helpers for detailed drawings: The Figure Kit goes through them, and Figures with CeTZ puts them to work.