diff options
Diffstat (limited to 'docs/typ/style.typ')
| -rw-r--r-- | docs/typ/style.typ | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/docs/typ/style.typ b/docs/typ/style.typ index ed713537..065cc210 100644 --- a/docs/typ/style.typ +++ b/docs/typ/style.typ @@ -59,8 +59,8 @@ (id: "building", title: "Building, for contributors", file: "building.typ"), ) -/// The one-line pitch: the A4 sheet's header and the site's landing page. -#let tagline = "acme's tags and three buttons, helix's keys, terminals as panes, the editor as a 9P filesystem" +/// The one-line pitch: the A4 sheet's header and the book's title page. +#let tagline = "acme's tags and three buttons, helix's keys, terminals as panes, the editor as a virtual filesystem over 9P" /// The tutor, shown as it is in the editor (`Tutor`), from the repo root. #let tutor-path = "/src/tutor.txt" @@ -254,9 +254,16 @@ } } -/// Where pardes lives and under what licence, for the site's footer (and -/// any output that wants them). none until decided. -#let project = (source: "https://git.0x4200.cafe/pardes", license: "ISC") +/// Where pardes lives and under what licence: install.typ, the site's +/// landing and its footer all read it. Every mirror holds the same tree; +/// the first is the one the install line clones. A new mirror is one line. +#let project = ( + mirrors: ( + (name: "sourcehut", web: "https://git.sr.ht/~gbrls/pardes", clone: "https://git.sr.ht/~gbrls/pardes"), + (name: "git.0x4200.cafe", web: "https://git.0x4200.cafe/pardes", clone: "https://git.0x4200.cafe/pardes.git"), + ), + license: "ISC", +) /// A glossary: like #pairs, under its own heading. On paper the heading /// and the table; in HTML a <details> that starts closed, its summary the @@ -270,3 +277,25 @@ [#heading(title) #lbl] pairs(..cells) } + +/// Every theme as a picture, on the site's Themes page; nothing on paper, +/// where forty-odd screenshots would only add weight. Reads +/// docs/site/media/themes/themes.toml: `ready` (absent means true) and a +/// [[theme]] per theme, in NextColor's order, with `name`, `file` (under +/// media/themes/) and `kind` ("light" or "dark"). +#let theme-gallery() = context if html-out() { + let g = toml("../site/media/themes/themes.toml") + let ready = g.at("ready", default: true) + heading[Every theme] + html.elem("div", attrs: (class: "gallery"), for t in g.theme { + let src = "media/themes/" + t.file + html.elem("figure", attrs: (class: "shot " + t.kind), { + if ready { + html.elem("a", attrs: (href: src), html.elem("img", attrs: (src: src, alt: t.name + " (" + t.kind + ")", loading: "lazy"))) + } else { + html.elem("div", attrs: (class: "pending"), "screenshot to come") + } + html.elem("figcaption", raw(t.name)) + }) + }) +} |
