Behaviour for pluggable site theming providers.
Implementations should provide a map-like theme object that the UI and templates can render from. We ship a small JSON-backed default implementation that reads a JSON file (see Gamend.Theme.JSONConfig).
Recommended keys in the theme map:
- "title" (string)
- "tagline" (string)
- "description" (string)
- "contact_email" (string) — shown with a mailto link on /privacy, /data_deletion and /terms; without it they say "support channels"
- "theme_color" (string or map with light/dark keys)
- "navigation" (map of nav link arrays)
- "useful_links" (list)
- "features" (list)
- "metadata" (map)