Deliver the full conservation-nonprofit theme per OVERRIDE-CONTRACT (Wave A).
- 49 mandatory builtin overrides in templates/overrides/earthen/ (chrome,
marketing, primitives, commerce, blog family, auth surface, page-suggestions),
re-skinned from the frozen builtins into botanical/paper-grain chrome with
all content fields, custom tags, provider vars, HTMX/auth wiring and JS
preserved verbatim. Stale button/card/image/text/heading overrides fixed to
the new field contract (link/style/label, media/text via {% img %}).
- 7 page templates: default, full-width, landing, article, blog-index, contact,
auth.
- Blocks rework: impact_metrics/partner_logos/botanical_divider/footer converted
to builtin overrides (deleted as theme blocks); donation_cta and field_note
kept; impact_report added. Persona blocks now 3.
- 5 presets (all 19 tokens; mossbed/sage-morning/ember-loam are dual-mode).
- Bundled Fraunces + Work Sans woff2 (OFL) in assets/fonts/; fonts.json,
RECOMMENDED_FONTS.md, RECOMMENDED_ICONS.md; required_icon_packs=[lucide].
- Seed: home/about/blog(3 posts)/contact/login as Rootline Trust, contact-form
formConfig.targetTable=contact_submissions + row_inserted email-admins workflow.
- Themed email-safe wrapper; on-theme master pages; CSS-first botanical motion.
Verified: make (build) exit 0, make archive-check exit 0, check-safety exit 0.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.0 KiB
1.0 KiB
Earthen — icon packs
Earthen renders icons through the sprite system only
(<svg><use href="/icons/<pack>.svg#<name>"/></svg>, or the ::pack:name:size::
shorthand in templates). It does not inline icon SVGs. The theme's botanical
line-art (fern, seed, root motifs) is decorative illustration, not icons, and is
drawn inline on purpose.
Required pack
- Lucide — declared in
plugin.modrequired_icon_packs = ["lucide"]. Lucide ships bundled with the CMS, so no action is normally needed. If it is missing on your instance, open/admin/icons, install Lucide, and enable it.
Block schemas that expose an icon picker default to Lucide names, so the theme
renders correctly out of the box. When the loader begins honoring
required_icon_packs, Lucide will be installed automatically on activation.
Optional
No other packs are required. If you add icons from another pack in block content,
install that pack via /admin/icons first, then reference it as "<pack>:<name>"
in the block's icon field.