// The book: every topic in reading order, then the tutor. Facts live in the // content files named by `chapters` in style.typ; this is layout only. // typst compile --root . --ignore-system-fonts docs/typ/book.typ // (--root . because the tutor is read from src/tutor.txt.) #import "style.typ": palette, mono, chapters, tutor-path, doc-links #set document(title: "pardes") #doc-links.update(true) #set page(paper: "a4", fill: palette.paper, margin: (x: 22mm, y: 24mm)) #set text(font: "Libertinus Serif", size: 10pt, fill: palette.ink, lang: "en") #set par(justify: true, leading: 0.62em, spacing: 1em) #set list(spacing: 0.8em) #show heading.where(level: 2): set block(above: 2em, below: 0.9em) #show heading.where(level: 3): set block(above: 1.5em, below: 0.7em) #show raw: set text(font: mono, size: 0.9em) #show heading: set text(fill: palette.tag-name) #show heading.where(level: 1): it => { pagebreak(weak: true) v(18mm) text(size: 22pt, weight: "bold", it.body) v(8mm) } // title page #page(numbering: none, { v(1fr) text(size: 34pt, weight: "bold", fill: palette.tag-name)[pardes] v(4mm) text(size: 13pt, style: "italic", fill: palette.tag-fg)[acme's tags and three buttons, helix's keys, terminals as panes, the editor as a 9P filesystem] v(2fr) }) #page(numbering: none, outline(depth: 2)) #set page(numbering: "1") #counter(page).update(1) #for ch in chapters { [#heading(level: 1, ch.title) #label("ch-" + ch.id)] if ch.file == none { text(style: "italic", fill: palette.tag-fg)[This chapter is not written yet.] } else { set heading(offset: 1) include ch.file } } = The tutor #text(size: 8pt, raw(read(tutor-path), block: true))