# 404 & Repository Pages Design Spec
**danix.xyz Hacker Theme — Week 6**
**Date:** 2026-04-17
**Project:** danix.xyz Hacker Theme (Hugo)
**Scope:** Design two new pages (404 error page, Repository/Slackware guide page)
**Status:** Design Phase (awaiting approval)
---
## Overview
This spec defines the design and implementation strategy for two new pages in Week 6:
1. **404 Error Page** — User-friendly error page with hacker theme integration, search, recent articles, and interactive easter egg
2. **Repository Page** — Slackware package repository guide with hero section, installation/usage sections, and GitHub SlackBuild repo cards
Both pages must:
- Maintain visual cohesion with existing theme (Weeks 1-5)
- Meet WCAG 2.1 AA accessibility standards
- Support multilingual content (EN/IT)
- Be fully responsive (320px, 768px, 1200px+)
- Work in light and dark modes
- Integrate animations and interactive elements from Week 5
---
## Part 1: 404 Error Page
### Purpose & Audience
- **Purpose:** Display when users navigate to non-existent URLs; provide helpful navigation back to site content
- **Audience:** Users who've made typos or followed broken links
- **Success Criteria:** Users quickly understand the error, access search/articles, find their way back to site
### Visual Design & Layout
#### Structure
```
Header (existing hamburger + theme toggle)
────────────────────────────────────────
Main Content (centered, full-width, single column)
• 404 heading (large, accent color, themed)
• Error message (friendly, conversational)
────────────────────────────────────────
Search box (interactive, themed)
────────────────────────────────────────
"Recent Articles" section (3-5 articles)
- Article title + date + category
- Links to articles
────────────────────────────────────────
Quick navigation links (Home, Articles, Contact)
────────────────────────────────────────
Easter egg (interactive: "Follow the white rabbit")
────────────────────────────────────────
Footer (existing)
```
#### Visual Elements
- **404 Heading:** Oversized (6xl/4rem), accent purple color, bold weight, animated entry (fade-in + subtle scale from Week 5 keyframes)
- **Error Message:** 1.125rem/18px, gray-600 (light mode) / gray-400 (dark mode), conversational tone
- **Search Box:** Styled to match form inputs from Week 4 (border, focus ring, label), full-width or max-width container
- **Article Cards:** Minimal style (title, date, category badge), inherit article list styling from Week 2-3
- **Navigation Links:** Button styles from Week 2 (primary, secondary, outline variants)
- **Easter Egg:** Hidden by default, triggered by specific interaction (click "Follow the white rabbit" link or keyboard shortcut), displays blue pill/red pill choice (inline modal or overlay)
#### Color & Typography
- **Accent:** Primary purple (#8B5CF6 or project's purple)
- **Text:** Inherit from project palette (gray-900/light, gray-50/dark)
- **Heading Font:** Inherit from project (likely mono or sans-serif bold)
- **Body Font:** Inherit from project
- **Focus Indicators:** 2px ring from Week 5 (visible in light & dark modes)
#### Responsive Behavior
- **Mobile (320px):** Single column, search box full-width, article cards stacked, buttons stack vertically
- **Tablet (768px):** Single column, slightly wider max-width for content, buttons may be inline
- **Desktop (1200px+):** Single column, centered max-width (~600-800px), all elements readable
#### Dark/Light Mode
- **Light Mode:** Light background, dark text, purple accents, focus rings with high contrast
- **Dark Mode:** Dark background, light text, purple accents, focus rings with high contrast (inherited from Week 5)
### Functionality & Interactivity
#### Search Box
- **Type:** Client-side search or Hugo search integration
- **Behavior:** On input, filter/search site content in real-time or on Enter
- **Display:** Show matching results (articles, pages) or "no results" message
- **Accessibility:** Label associated with input, ARIA live region for search results, keyboard-navigable results
#### Recent Articles Section
- **Content:** Auto-pulled from Hugo's recent articles (3-5 most recent)
- **Display:** Title, date (formatted EN/IT), category badge, link to article
- **Accessibility:** Semantic list, headings, links keyboard-navigable, article titles descriptive
#### Easter Egg (Optional Interactive Element)
- **Trigger:** Click "Follow the white rabbit" link or press a keyboard shortcut (e.g., Shift+? or Alt+W)
- **Display:** Modal or inline section with blue pill/red pill choice (humorous, non-intrusive)
- Blue pill: Stay on 404 page (or navigate to a funny "you chose the blue pill" page)
- Red pill: Navigate to a random article (or home page with a surprise)
- **Accessibility:** Modal must have focus trap (from Week 5), close button, keyboard-dismissible (Escape key)
- **Implementation:** Alpine.js for toggle, CSS animations for reveal
#### Language Switching
- **EN/IT:** Page content, search results, article titles, labels all in current language
- **Logic:** Uses existing language switcher from header, maintains language context in URLs
- **i18n Strings:** All UI text (404 heading, error message, button labels, search placeholder) in `i18n/en.yaml` and `i18n/it.yaml`
### Accessibility Requirements (WCAG 2.1 AA)
#### Semantic HTML
- One `
` (404 heading, may be visual-only via CSS if needed, but semantically present)
- `
` for "Search" and "Recent Articles" sections (proper hierarchy)
- `` wrapper around content
- Semantic `` for each article in recent list
- `