Skip to content

Centralize metadata and evaluate static site generation approach #8

@madjin

Description

@madjin

Problem

shows.json was used to scaffold the initial website but has drifted from the actual implementation. Show pages, character data, and pipeline steps are currently hardcoded in individual HTML files, making updates cumbersome and error-prone.

Current State

  • Show metadata scattered across individual HTML files
  • shows.json exists but is outdated and unused
  • gallery.json was successfully refactored for dynamic loading (good pattern to reference)
  • Duplication of character info, pipeline steps, and show details across pages

Goals

  • Centralize metadata in a single source of truth
  • Improve maintainability and reduce duplication
  • Evaluate technical approaches for the project

Considerations

Data Storage Options

  • JSON files (current approach with gallery.json) - simple, works well for static hosting
  • SQLite database - more powerful queries, but requires build step or server-side logic
  • Markdown + frontmatter - human-friendly, pairs well with SSGs

Static Site Generation

Evaluate lightweight SSGs that could improve maintainability:

  • 11ty (Eleventy) - flexible, minimal, works with various template engines
  • Astro - modern, component-based, good performance
  • Hugo - fast, powerful, but steeper learning curve
  • Custom build script - maintain control, use what we need

Migration Strategy

  • Reconcile current website content with shows.json
  • Define schema for centralized metadata
  • Consider incremental migration vs full rewrite
  • Preserve existing URLs and functionality

Next Steps

  1. Audit current website content vs shows.json discrepancies
  2. Define metadata schema requirements
  3. Research and prototype SSG options
  4. Create migration plan
  5. Decide on approach and timeline

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions