Files
astro-website/openspec/changes/card-layout/specs/blog-section-surface/spec.md
2026-02-10 02:34:25 -05:00

1.4 KiB

MODIFIED Requirements

Requirement: Blog index listing (posts)

The site MUST provide a blog index page at /blog that lists WordPress posts as cards containing:

  • featured image (when available)
  • title
  • excerpt/summary
  • publish date

The card MUST render a meta row with:

  • publish date on the left
  • views on the right when available (if views are not provided by the dataset, the card MUST omit views without breaking layout)

The card MUST render a footer row showing the content source label (e.g., blog).

The listing MUST be ordered by publish date descending (newest first).

Each post card MUST be instrumented with Umami Track Events data attributes and MUST include at minimum:

  • data-umami-event
  • data-umami-event-target_id
  • data-umami-event-placement
  • data-umami-event-target_url

Scenario: Blog index lists posts

  • WHEN the cached WordPress dataset contains posts
  • THEN /blog renders a list of post cards ordered by publish date descending

Scenario: Blog post card click is tracked

  • WHEN a user clicks a blog post card on /blog
  • THEN the click emits an Umami event with target_id, placement, and target_url

Scenario: Blog post card layout is standardized

  • WHEN /blog renders a blog post card
  • THEN the card shows featured image (when available), title, trimmed excerpt, meta row (date + optional views), and a footer source label