Development Roadmap
Phases
- Foundation: baseline config and build
- Configure
_config.yml(collections, permalinks, plugins),Gemfile,.ruby-version, andCNAME. - Outcome:
bundle exec jekyll serveruns cleanly with empty theme.
- Configure
- 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.
- Create
- Collections: art and code
- Define
artandcodecollections, defaults, permalinks; buildart_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.
- Define
- Blog: posts and pagination
- Implement
post.html,post_meta.html,blog/indexwithjekyll-paginateand_includes/pagination.html. - Outcome: Paged blog with Rouge highlighting.
- Implement
- 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.
- Add Lunr-based client search (
- SEO & Feeds
- Wire
jekyll-seo-tag,jekyll-sitemap,jekyll-feed, Open Graph/Twitter includes. - Outcome: Valid sitemap, RSS, and social metadata.
- Wire
- Images & Performance
- Establish image workflow (manual sizes or allowed plugin),
<picture>withsrcset,loading="lazy", width/height to prevent CLS. - Outcome: Fast first load and responsive images; Lighthouse-friendly patterns.
- Establish image workflow (manual sizes or allowed plugin),
- Sample Content
- Seed 2–3
artitems, 2–3codeitems, and 2 blog posts; include galleries, repo/demo links, code fences. - Outcome: Realistic content to validate all templates.
- Seed 2–3
- 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.
- Use GitHub Pages native build with whitelisted plugins; if needs grow, add Actions workflow to build and deploy
- 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 servewith no errors. - Collections complete: index/detail pages render sample content correctly.
- Search ready:
search.jsongenerated and UI returns expected results. - SEO/feeds: Valid
sitemap.xmlandfeed.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.