# 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 - `
` for search box with `