- Moved homepage-recent-posts to archive with 2025-10-31 date - Created new spec at specs/homepage-recent-posts/ - All validation checks pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
3.8 KiB
homepage-recent-posts Specification
Purpose
TBD - created by archiving change homepage-recent-posts. Update Purpose after archive.
Requirements
Requirement: Display Recent Blog Posts on Homepage
The homepage MUST display the 3 most recent blog posts immediately after the user's description content section.
Scenario: Three most recent posts are displayed
Given the blog section contains 5 published posts When a visitor accesses the homepage Then exactly 3 most recent posts are displayed And posts are ordered by publication date (newest first)
Scenario: Fewer than three posts exist
Given the blog section contains only 2 published posts When a visitor accesses the homepage Then all 2 posts are displayed And no error or empty slots are shown
Scenario: No blog posts exist
Given the blog section contains no published posts When a visitor accesses the homepage Then the recent posts section is not displayed And the homepage layout remains intact
Requirement: Post Display Format
Each displayed blog post MUST show the post title as a clickable link and the publication date.
Scenario: Post title is clickable
Given a blog post is displayed on the homepage When a visitor clicks the post title Then they are navigated to the full blog post page And the language context is preserved (German homepage → German post, English homepage → English post)
Scenario: Publication date is formatted correctly
Given a blog post with date "2025-10-30" is displayed When viewing the German homepage Then the date is formatted as "30. October 2025" When viewing the English homepage Then the date is formatted as "October 30, 2025"
Requirement: Multilingual Support
The recent posts section MUST respect the site's multilingual configuration and display language-appropriate content.
Scenario: German homepage shows German posts
Given the visitor accesses the German homepage (/de/) When the recent posts section is rendered Then only German blog posts are displayed And the section heading is in German (e.g., "Neueste Beiträge")
Scenario: English homepage shows English posts
Given the visitor accesses the English homepage (/en/) When the recent posts section is rendered Then only English blog posts are displayed And the section heading is in English (e.g., "Recent Posts")
Requirement: Visual Design and Layout
The recent posts section MUST maintain consistency with the existing site design and remain responsive.
Scenario: Section styling matches site design
Given the recent posts section is displayed Then it uses Bootstrap classes consistent with the rest of the site And spacing and typography match existing content sections And the section is visually distinct from the description section above
Scenario: Responsive layout on mobile devices
Given the homepage is viewed on a mobile device (< 768px width) When the recent posts section is displayed Then the layout remains readable and properly formatted And no horizontal scrolling is required And links are easily tappable
Requirement: Performance and Build
The implementation MUST not negatively impact Hugo build performance or site load times.
Scenario: Hugo build completes successfully
Given the homepage template includes recent posts query
When running hugo build
Then the build completes without errors or warnings
And the homepage HTML is generated correctly for both languages
Scenario: Site performance remains optimal
Given the homepage includes recent posts section When measuring page load performance Then Lighthouse performance score remains >90 And no additional HTTP requests are made And HTML file size increase is minimal (< 2KB)