@gurupanguji

Semantic Collections Implementation Spec

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this spec task-by-task. Steps use checkbox (- [ ]) syntax for tracking.

Goal: Convert the remaining repeated content blocks in the archive and review pages into semantic lists without changing the visual layout.

Architecture: Keep the shared footer/nav work as-is and limit this pass to repeated collections that readers should be able to traverse as lists. The main changes live in the archive page, the reviews index, and review subpages where related-link clusters currently use generic container elements around repeated links.

Tech Stack: Jekyll, Liquid, HTML5 semantic elements, site CSS.


Overview

This issue covers the remaining repeated-content containers that are still rendered as generic div-based groups or standalone repeated links. The goal is to expose list semantics for assistive technologies while preserving the current visual design and spacing.

In Scope

1. Blog Archive List

File: blog/index.html

The archive entries should be rendered as a semantic list rather than a plain stack of anchors inside a generic wrapper.

Expected shape:

<div class="blog-archive">
  <ul class="archive-list">
    <li>
      <a class="archive-item" href="">
        ...
      </a>
    </li>
  </ul>
</div>

Requirements:

2. Review Collection Cards

File: reviews/index.html

The repeated review cards in the cameras and lenses sections should be represented as list items.

Expected shape:

<ul class="review-list">
  <li>
    <a href="camera/fujifilm/x100vi/index.html" class="review-card-link">
      <figure class="review-entry wide" style="margin: 0;">
        ...
      </figure>
    </a>
  </li>
</ul>

Requirements:

3. Review Inspirations

File: reviews/index.html

The inspiration links are a repeated set of outbound resources and should be a semantic list.

Expected shape:

<ul class="inspiration-list">
  <li>
    <a class="inspiration-item" href="...">
      ...
    </a>
  </li>
</ul>

Requirements:

Files: reviews/camera/fujifilm/x100vi/index.html, reviews/camera/leica/m11-p/index.html, and any similar review subpages that contain repeated sibling links in a related-links block

Where a related-links block contains multiple sibling links, convert it to a semantic list inside a labeled navigation region.

Expected shape:

<nav class="related-links" aria-label="Related reading">
  <ul>
    <li><a href="...">...</a></li>
    <li><a href="...">...</a></li>
  </ul>
</nav>

Requirements:

Out of Scope

Accessibility and Visual Constraints

Verification

Acceptance Criteria