Skip to content

Design system styleguide scaffold #197

@ephes

Description

@ephes

Description

Implement the design-system styleguide scaffold described in specs/2026-01-17_design_system.md. This adds a theme-aware /styleguide/ view, a simple theme switcher, and demo component rendering using shared templates to avoid drift.

Scope / Goals

  • Add a theme-aware styleguide view and route, guarded by CAST_ENABLE_STYLEGUIDE.
  • Theme switching via ?theme=<name> (styleguide-only; no session persistence).
  • Per-theme templates under cast/<theme>/styleguide/ that reuse production partials.
  • Demo data via src/cast/devdata.py.
  • Smoke tests + basic behavior tests.

Notes

  • Dependency: example project fix (specs/2026-01-17_fix_example_project.md).
  • Real-world references: ../homepage and ../python-podcast data for component examples.

Acceptance Criteria

  • /styleguide/ renders when enabled and returns 404 when disabled.
  • ?theme=<name> switches templates; invalid themes fall back with a warning banner.
  • Styleguide loads gallery + Podlove components with demo data.
  • Tests cover render, theme switching, and disabled behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions