Files
astro-website/openspec/changes/blog-umami-fix/specs/blog-section-surface/spec.md
2026-02-10 01:34:07 -05:00

1.9 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

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

Requirement: Category-based secondary navigation

The blog section MUST render a secondary navigation under the header derived from the cached WordPress categories.

Selecting a category MUST navigate to a category listing page showing only posts in that category.

Each secondary navigation link 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: Category nav present

  • WHEN the cached WordPress dataset contains categories
  • THEN the blog section shows a secondary navigation with those categories

Scenario: Category listing filters posts

  • WHEN a user navigates to a category listing page
  • THEN only posts assigned to that category are listed

Scenario: Category nav click is tracked

  • WHEN a user clicks a category link in the blog secondary navigation
  • THEN the click emits an Umami event with target_id, placement, and target_url