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 install once in the site directory.
sh
npm install
tola dev       # live reload, search index skipped
tola build     # writes public/, search index included

02Site 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:

typst
#let doc-prefix = "TN"   // TN-001, TN-002, ... under each post title
#let mission = none      // e.g. "RESEARCH NOTES" next to the site title

Header 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:

typst
#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.