summaryrefslogtreecommitdiff
path: root/docs/typ/book.typ
blob: 7af907c3cf9911bb1d10e2050602dbd07e033634 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// 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: 10.5pt, fill: palette.ink, lang: "en")
#set par(justify: true, leading: 0.6em)
#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))