Skip to content

Epic 5: Astro static site with search and diff viewer #4

@williamzujkowski

Description

@williamzujkowski

Objective

Build apps/web — Astro v5 static site with search, navigation, and Time Machine diff viewer.

Tasks

  • Astro v5 with Content Collections + glob() loader
  • Git submodule to us-code-source (fallback: git clone --depth=1 in CI)
  • Custom CSS + Tailwind — professional, accessible, efficient (no M3/Material)
  • Accessible navigation drawer for browsing Titles → Chapters → Sections
  • Pagefind integration for static search (5-15MB lazy-loaded index)
  • Svelte v5 component: Time Machine diff viewer (fetches commit history via Octokit)
  • Side-by-side green/red diff comparison between release points
  • GitHub Pages deployment at williamzujkowski.github.io/openlaw-git (or org domain)

Performance considerations

  • Astro Content Layer with 50k+ Markdown files — may need pagination or on-demand rendering
  • Consider Astro SSR or hybrid mode if SSG OOMs on full corpus
  • Pagefind index chunking for lazy loading

Accessibility

  • WCAG 2.1 AA compliance
  • Keyboard navigation for all interactive elements
  • Screen reader labels for diff viewer

Testing

  • Playwright E2E: navigation, search, diff viewer
  • Lighthouse CI: performance, accessibility scores

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicEpic-level tracking issuefrontendAstro static site

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions