themes-earthen/RECOMMENDED_ICONS.md
Alex Dunmow 8b8fb4d65d feat(earthen): Wave A theme lane — 49 overrides, 7 templates, seed (WO-TF-016)
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>
2026-07-05 11:13:01 +08:00

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.mod required_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.