wiki/package.lisp
The luv workshop wiki as Lisp objects: an Org-subset reader that turns wiki pages into element trees, a figure index over the whole corpus, a Spinneret renderer that writes the static site, and the ASDF component and operation that make the wiki a buildable system.
Inline objects
Reading
Corpus and site
Lisp source
ASDF
A small CSS compiler: a reader syntax for quantities and --references, a
tree of style groups, rules, at-rules, declarations, selectors, and values
built by define-style and rule, and write-css, the text backend over it.
Reader syntax
Values
Selectors
The tree
Text backend
The wiki's stylesheet, as luv.CSS style definitions.
(name &body body)Define the style group NAME: an optional docstring, then rules. A rule is (SELECTOR . BODY), SELECTOR a string or a list of strings. BODY alternates :property keywords with values -- bare symbols are CSS words, strings are written verbatim, numbers and 0.85rem quantities and --name references are themselves -- and…
SELECTOR { declarations }, and nested rules and at-rules whose selectors combine with this one.
(node stream &key parent indent)Write NODE as CSS text to STREAM. PARENT is the selector NODE is nested under, INDENT the block depth.
Element model