Development Roadmap

Phases

  • Foundation: baseline config and build
    • Configure _config.yml (collections, permalinks, plugins), Gemfile, .ruby-version, and CNAME.
    • Outcome: bundle exec jekyll serve runs cleanly with empty theme.
  • Theme Scaffold: structure and base UI
    • Create _layouts, _includes, assets/css, assets/js, and placeholders.
    • Implement default.html, head.html, nav.html, footer.html, and SCSS entry with variables and color-scheme toggle.
    • Outcome: Accessible shell with sticky nav, light/dark toggle, responsive grid utilities.
  • Collections: art and code
    • Define art and code collections, defaults, permalinks; build art_item.html, code_item.html, collection_index.html, card.html, gallery.html, lightbox.html.
    • Outcome: Grid index pages and detail pages with metadata and lightbox-ready galleries.
  • Blog: posts and pagination
    • Implement post.html, post_meta.html, blog/index with jekyll-paginate and _includes/pagination.html.
    • Outcome: Paged blog with Rouge highlighting.
  • Search & Taxonomy
    • Add Lunr-based client search (search.json, assets/js/search.js), tag pages for art/code, breadcrumbs on details.
    • Outcome: Client search indexing titles, tags, summaries; working tag filters.
  • SEO & Feeds
    • Wire jekyll-seo-tag, jekyll-sitemap, jekyll-feed, Open Graph/Twitter includes.
    • Outcome: Valid sitemap, RSS, and social metadata.
  • Images & Performance
    • Establish image workflow (manual sizes or allowed plugin), <picture> with srcset, loading="lazy", width/height to prevent CLS.
    • Outcome: Fast first load and responsive images; Lighthouse-friendly patterns.
  • Sample Content
    • Seed 2–3 art items, 2–3 code items, and 2 blog posts; include galleries, repo/demo links, code fences.
    • Outcome: Realistic content to validate all templates.
  • CI/CD
    • Use GitHub Pages native build with whitelisted plugins; if needs grow, add Actions workflow to build and deploy _site/.
    • Outcome: Reliable build path with domain preserved.
  • QA & Docs
    • Link check, accessibility pass (keyboard, focus, contrast), Lighthouse tuning, README with authoring guides (front matter examples).
    • Outcome: Site meets acceptance criteria and is easy to maintain.

Milestones & Checks

  • Baseline runs: bundle exec jekyll serve with no errors.
  • Collections complete: index/detail pages render sample content correctly.
  • Search ready: search.json generated and UI returns expected results.
  • SEO/feeds: Valid sitemap.xml and feed.xml.
  • Performance: Lighthouse ≥ 90 Perf, ≥ 95 others on home and a detail page.
  • Accessibility: Keyboard navigable, labeled controls, alt text present.

Key Decisions Early

  • Build path: use GitHub Pages native build with whitelisted plugins.
  • Font choice: start with a refined system stack for performance and easy fallback.
  • Image workflow: manual pre-sized assets; revisit build-time generation only if needed and supported.
  • Social links: confirm GitHub/Instagram handles and preferred contact.

Next Actions

1) Audit the repo to inventory current pages/posts/assets and confirm the build path. 2) Configure _config.yml and Gemfile to establish a clean local build using Pages-native plugins. 3) Implement central theme tokens (fonts/colors) and wire SCSS to use them site‑wide.