mirror of
https://github.com/kbenestad/mdcms.git
synced 2026-06-18 15:24:32 +00:00
- New theme.yml keys: nav-link, nav-link-active, nav-section-heading (per light/dark mode). Fixes themes where nav-background equals accent, which made active nav links invisible against their own background. - New colours-semantic-dark block overrides callout semantic colours in dark mode only, preventing washed-out callout borders and backgrounds on dark page backgrounds. - CSS: nav item and section heading selectors now use the new CSS variables with graceful fallbacks to existing defaults — no breakage for themes that don't set the new keys. - app/theme.yml starter updated with new keys (commented examples) and sensible colours-semantic-dark defaults. - CLAUDE.md updated with full key reference table and guidance on when to use nav colour overrides. - docs/claude-design.md: new authoring guide for Claude Design covering contrast rules, nav pattern examples, and a pre-publish checklist. https://claude.ai/code/session_01NQKywehSj8Ku4yKhwB4VNB
80 lines
2.9 KiB
YAML
80 lines
2.9 KiB
YAML
# mdcms v0.4 | DO NOT REMOVE THIS COMMENT
|
|
# MD-CMS v0.4 — Theme configuration
|
|
#
|
|
# Edit colours, fonts, and layout here. See docs for full reference.
|
|
|
|
# ──────────────────────────────────
|
|
# Colours
|
|
# ──────────────────────────────────
|
|
light:
|
|
accent: "#2563EB"
|
|
background: "#FFFFFF"
|
|
nav-background: "#F8FAFC"
|
|
text: "#1E293B"
|
|
text-muted: "#64748B"
|
|
# nav-link: "#1E293B" # inactive nav link text (defaults to text)
|
|
# nav-link-active: "#2563EB" # active nav link text (defaults to accent)
|
|
# nav-section-heading: "#64748B" # nav section label text (defaults to text-muted)
|
|
|
|
dark:
|
|
accent: "#60A5FA"
|
|
background: "#0F172A"
|
|
nav-background: "#1E293B"
|
|
text: "#F1F5F9"
|
|
text-muted: "#94A3B8"
|
|
# nav-link: "#E2E8F0" # inactive nav link text (defaults to text)
|
|
# nav-link-active: "#60A5FA" # active nav link text (defaults to accent)
|
|
# nav-section-heading: "#94A3B8" # nav section label text (defaults to text-muted)
|
|
|
|
# ──────────────────────────────────
|
|
# Semantic colours
|
|
# Used by callout tags (info, warning, success, error).
|
|
# colours-semantic applies to both modes; colours-semantic-dark overrides for dark mode.
|
|
# ──────────────────────────────────
|
|
colours-semantic:
|
|
info: "#2563EB"
|
|
warning: "#D97706"
|
|
success: "#16A34A"
|
|
error: "#DC2626"
|
|
|
|
colours-semantic-dark:
|
|
info: "#60A5FA"
|
|
warning: "#F59E0B"
|
|
success: "#34D399"
|
|
error: "#F87171"
|
|
|
|
# ──────────────────────────────────
|
|
# Callout defaults
|
|
# ──────────────────────────────────
|
|
callouts:
|
|
info:
|
|
icon: info
|
|
primary-colour: "#2563EB"
|
|
background-colour: "#2563EB"
|
|
warning:
|
|
icon: warning
|
|
primary-colour: "#D97706"
|
|
background-colour: "#D97706"
|
|
success:
|
|
icon: success
|
|
primary-colour: "#16A34A"
|
|
background-colour: "#16A34A"
|
|
error:
|
|
icon: error
|
|
primary-colour: "#DC2626"
|
|
background-colour: "#DC2626"
|
|
|
|
# ──────────────────────────────────
|
|
# Typography
|
|
# Format: "provider:Font Name:weight" (provider: bunny | google)
|
|
# ──────────────────────────────────
|
|
font-body: "bunny:Noto Sans:400"
|
|
font-heading: "bunny:Noto Sans:700"
|
|
font-size: 1.0 # unitless multiplier (1.0 = 16px base)
|
|
line-height: 1.7 # unitless multiplier
|
|
|
|
# ──────────────────────────────────
|
|
# Layout
|
|
# ──────────────────────────────────
|
|
main-width: 80em
|
|
nav-width: 20em
|