Conversation
…ed modifiers
The README's "Theming" table conflated a typo with a misleading layout,
and three whole modifier vocabularies were absent from user-facing docs.
* Typo. README and config.default.toml both wrote `mod-newline` (one
dash). The actual selector is `.mod--newline` (two dashes), so the
documented form silently no-op'd. Fixed in both files.
* Theming layout. The 4-column table (themes / colour schemes / layout
mods / font mods) put independent toggles on the same row, suggesting
e.g. `theme--default` requires `mod--newline` + `mod--font-serif`.
Replaced with one bulleted list per category — combinations are
obvious without misleading row alignment.
* New section: "Article-listing modifiers". Documents the 8 display
classes accepted by `{{< articles-list >}}` (`preformatted`,
`cluster`, `no-{taxa,types,tags,time,summary,text,gap}`) plus the
activation classes `articles-filterable` and `stack`. These were
defined in CSS only, not docs.
* New section: "Article filter". Documents `{{< articles-filter >}}`,
its `class` and `tagfilter` parameters, the `sticky` modifier
(generic helper at `.sticky`, applied via `class="sticky"`), how it
pairs with `articles-list class="articles-filterable"`, and the
noscript fallback that shows post counts via `data-count`.
* New section: "Image modifiers". Documents the URL-fragment syntax
(`#blend`, `#screen`, `#multiply`, `#shadow`) recognised by
`layouts/partials/render-image.html` and applied via the markdown
image render hook + `{{< figure >}}`. Notes that `{{< include >}}`
does not process fragments.
The new article-listing / image / filter sections use tables (each row
is a single class with a single description, no cross-cutting); the
Theming section deliberately doesn't (rows would imply non-existent
correlations between independent toggles).
Docs-only: no code changes. Cross-checked every documented name
against a real selector / parameter / fragment keyword.
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The README's Theming docs had two problems and three vocabularies of modifier were absent from user-facing docs entirely.
Typo. README and
config.default.tomlboth spelledmod-newlinewith one dash. The actual selector is.mod--newline(two dashes), so the documented form silently no-op'd for anyone who copy-pasted it. All othermod--*modifiers in the codebase use two dashes —mod-newlinewas the lone exception, and it was wrong.Misleading table. The 4-column "Theming" table (themes / colour schemes / layout mods / font mods) put independent toggles on the same row, implying e.g. that
theme--defaultrequiresmod--newline+mod--font-serif. Per the directive: don't display as a table unless rows and columns make sense to combine.Undocumented vocabularies. Three groups of modifier existed in code but not in the README:
{{< articles-list class="…" >}}(preformatted,cluster,no-{taxa,types,tags,time,summary,text,gap}).{{< articles-filter >}}shortcode itself, itsclass/tagfilterparameters, thestickyhelper, and how it pairs with thearticles-filterableactivation class.#blend,#screen,#multiply,#shadow) processed bylayouts/partials/render-image.htmland the markdown image render hook.What
README.md+config.default.toml:mod-newline→mod--newline.README.md"Theming" section: the 4-column table is replaced by one bulleted list per category (Themes, Colour scheme, Layout modifiers, Font modifiers). Each list reads top-to-bottom; combinations are obvious without misleading row alignment.README.md"Article-listing modifiers" (new): table with one row per display class — rows are independent here, so a table is the right shape.README.md"Article filter" (new): documents{{< articles-filter >}}, theclassandtagfilterparameters, thestickymodifier (a generic.stickyhelper atassets/styles/screen.css:2160applied viaclass="sticky"), the typical pairing witharticles-list class="articles-filterable", and the noscript fallback showing per-taxon post counts viadata-count.README.md"Image modifiers" (new): documents#blend/#screen/#multiply/#shadowfragment syntax, where the parsing happens (layouts/partials/render-image.htmllines 5–7, 51, 62), and the caveat that{{< include >}}does NOT process fragments — use plain markdown image syntax or{{< figure >}}.Test plan
grep -rn "mod-newline"(one-dash) returns zero matches in the repomod--*→assets/styles/screen.css:166, 884, 895, 899, 903, 997assets/styles/screen.css:2900–2950class+tagfilter→layouts/shortcodes/articles-filter.html:3, 5sticky→assets/styles/screen.css:2160assets/styles/screen.css:1324–1342+layouts/partials/render-image.htmlcd exampleSite && hugo --gc --minifycleannpx html-validate@^9 …exit 0Docs-only — no code changes.
Generated by Claude Code