Skip to content

0.3.1

Choose a tag to compare

@uchimata2 uchimata2 released this 17 Aug 22:56
· 262 commits to master since this release

A source reference is now one component wherever it appears: the mark in a slide's corner, the list
behind a mark that cites more than one document, and the colophon at the back. Those three used to be
authored separately, and they drifted. A colophon would name the documents a deck rested on, link to
none of them, and send the reader back through the slides to find the links.

The ruleset was audited, all 165 rules. Four changed and none were removed. Thirteen turned out to be
rules that no tool and no reviewer could apply, and they are now named instead of left looking
enforced.

Two fixes to this repository's own tooling round it out: a gate over the references inside the
documentation, and a self-test that blocked the one command able to fix what it failed on.

Upgrading a deck built on an earlier version

This is the row from docs/PUBLISHING.md §8.1, which every release fills in so that a wall of
failures against a file you did not touch is readable as a new requirement rather than a regression.

What it newly required. The four-kind source vocabulary: a source reference is one component
wherever it renders, typed by what the source is. New contracted parts, .sources-id,
.sources-icon, .sources--list and .qv-file, and .sources may now sit anywhere in a .slide
rather than only in its .provenance. .sources-open gains a required data-file. The shared shell
moved in all three regions.

What newly fails. shell.py check on every deck built before this release: SKELETON,
COMPONENTS and SCRIPT all differ. component.py check: .qv-file: 0 per .qv-head, and
.sources-open: N of N carry no data-file on any deck carrying a quick view. check.py:
DS-105 marks wearing the wrong kind's glyph on any deck whose multi-source marks draw the
single-source glyph, which was every such deck before this release. Nothing fails for the identifier
bound, because no deck written before this release has a .sources-id to exceed it.

The smallest edit.

python tools/deck/shell.py sync <deck> --write
python tools/deck/shell.py tokens <deck> --write

sync settles the three regions and .qv-file with them, because .qv-file ships in the skeleton.
The other two are per-deck markup and sync must not touch them: add data-file="<the source's base name>" to each .sources-open, and point every multi-source mark's <use> at a symbol drawn by
Lucide library, which python tools/deck/shell.py icons <deck> --set sources=library --write adds.

The release's other three tasks require nothing of a deck. The audit narrowed one rule and split
another so the gate keeps only the half it can decide, which loosens what a deck must satisfy rather
than tightening it, and the two tooling fixes never reach a deck at all.