summaryrefslogtreecommitdiff
path: root/docs/typ/book.typ
diff options
context:
space:
mode:
Diffstat (limited to 'docs/typ/book.typ')
-rw-r--r--docs/typ/book.typ45
1 files changed, 45 insertions, 0 deletions
diff --git a/docs/typ/book.typ b/docs/typ/book.typ
new file mode 100644
index 00000000..26191fa7
--- /dev/null
+++ b/docs/typ/book.typ
@@ -0,0 +1,45 @@
+// 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
+
+#set document(title: "pardes")
+#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)
+ 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))