chroma at render time, emitting CSS classes rather than inline colour, handed to a `code` theme fragment. Highlighting works with scripting off, in a feed reader, in a browser that never runs JavaScript. No lighter pure-Go option exists — every "alternative to chroma" is JavaScript, which the reference theme is gated against. A fence's info string carries the rest: title, numbers, start, hl=3,7-9, and file=name lines=A-B, which reads the snippet out of a file beside the bundle and numbers it by that file's own lines. So a post quotes several parts of one program without the copies drifting from it, and a reader can find what they are looking at. Verified on the real binary: the same file at lines 5-10 and 12-14, each numbered as it really is, with different lines tinted. Not a new package: a new one could not import the key=value parser this repo already has, because ADR-0069 forbids a feature importing its sibling, and a second parser for the same syntax is what §6 stops. Two costs, both stated in the ADR rather than buried. The binary goes from ~15MB to 19MB, for a project whose story is one small binary. And the reference theme now carries a token palette — the first thing in it that is a taste rather than a demonstration — kept to eight classes for that reason. The demo quotes a shell file, not a Go one: a .go file under examples/ joins the module and has to compile, which the build gate caught before it shipped. 6 of 9 modules, ext 2188/3500.
8 lines
460 B
HTML
8 lines
460 B
HTML
{{/* The engine highlights and the theme frames. `.Body` is chroma's token spans, already classed, so the
|
|
palette below in theme.css is the theme's to change — and a copy button, which needs a script, belongs
|
|
in a theme of your own rather than here (ADR-0026, ADR-0075). */}}
|
|
{{define "code"}}<figure class="code"{{with .Args.lang}} data-lang="{{.}}"{{end}}>
|
|
{{- with .Args.title}}<figcaption>{{.}}</figcaption>{{end}}
|
|
{{- .Body}}
|
|
</figure>{{end}}
|