Themes¶
A Theme is a portal — a navigable "world" the app skins itself to (colour + design assets). Themes are a global controlled vocabulary spanning every content type (not per-book): every piece of content, and every Journey, is assigned one or more Themes by multi-select. Switching a Theme recolours the whole UI — the portal metaphor is literal, not decorative.
What a Theme is¶
Themes are static reference data: the FE fetches the whole set once, caches it, and every
theme_id used elsewhere (passage cards, journeys, Home) resolves against that cache. A theme is a
Wagtail snippet, not a routable page — a theme's own content surface (browsing content within a
theme) is out of scope for the current API; these are the visual portal + skin only.
Featured theme¶
One theme can be marked featured — a single slot, set by editors, that surfaces as the Home "Theme of the Week". Featuring a theme has no effect on the theme set or its ordering; it's a separate slot layered on top.
How themes relate to content¶
Content pieces and Journeys are assigned Themes by multi-select — a piece may sit in several worlds at once. See the Glossary for the canonical definition.
See also¶
- API Guide — endpoints, the
designblock,themes_hashchange detection. - Editor Guide — how editors manage themes in the CMS.