{{ end }}
```
- [ ] **Step 4: If created, verify file**
```bash
ls -la themes/danix-xyz-hacker/layouts/repository/single.html
```
Expected: File exists.
- [ ] **Step 5: Test repository page**
```bash
hugo server
```
Navigate to: `http://localhost:1313/en/repository/`
Expected: Page displays with hero section, markdown content, and repo cards in grid layout.
- [ ] **Step 6: If custom layout created, commit**
```bash
git add themes/danix-xyz-hacker/layouts/repository/single.html
git commit -m "feat: add custom repository page layout with repo cards grid"
```
---
### Task 13: Test 404 Page Functionality
**Files:**
- Reference: `layouts/404.html`
- [ ] **Step 1: Test 404 page keyboard navigation**
```bash
hugo server
```
Navigate to: `http://localhost:1313/en/this-does-not-exist/`
Press Tab repeatedly:
- Focus should move to search input
- Focus should move to recent articles
- Focus should move to navigation buttons
- Focus should move to "Follow the white rabbit" link
Expected: All elements keyboard-accessible, logical tab order.
- [ ] **Step 2: Test 404 easter egg trigger**
On 404 page, click "Follow the white rabbit" link.
Expected: Modal appears with "Choose Wisely" title, blue pill and red pill buttons, and close button (×).
- [ ] **Step 3: Test easter egg buttons**
- Click "Take the blue pill" → should navigate to home page
- Close modal (click ×) → modal should disappear
- Click "Follow the white rabbit" again → modal should reappear
- Click "Take the red pill" → should navigate to random article (or articles page)
Expected: All buttons work, modal focus trap works, Escape key closes modal (if implemented).
- [ ] **Step 4: Test 404 in Italian**
Navigate to: `http://localhost:1313/it/questa-pagina-non-esiste/`
Expected: 404 page displays in Italian with Italian text for all labels.
- [ ] **Step 5: Test 404 dark/light mode**
On 404 page, click theme toggle in header.
Expected: 404 page styling adapts to light and dark modes, focus rings visible in both.
- [ ] **Step 6: Test 404 responsive design**
Set browser viewport to:
- 320px (mobile): Page should be single column, buttons stack vertically
- 768px (tablet): Page should be single column, buttons side-by-side or stacked
- 1200px (desktop): Page should be centered with max-width
Expected: Page responsive at all breakpoints, no horizontal scroll.
- [ ] **Step 7: Commit test results (no code changes)**
If any issues found during testing, fix them inline in `layouts/404.html` and commit as bugfix. If all tests pass:
```bash
git add -u
git commit -m "test: verify 404 page functionality (keyboard navigation, easter egg, dark mode, responsive)" --allow-empty
```
---
### Task 14: Test Repository Page Functionality
**Files:**
- Reference: `content/en/repository/_index.md`, `content/it/repository/_index.md`, `data/repos.yaml`
- [ ] **Step 1: Test repository page renders content sections**
```bash
hugo server
```
Navigate to: `http://localhost:1313/en/repository/`
Verify page displays:
- Page title ("Slackware Repository")
- Quick Start section with code block
- Installation section with instructions
- Usage section with command examples
- Available Packages section
Expected: All markdown content renders correctly.
- [ ] **Step 2: Test repository cards display**
On repository page, scroll down to "GitHub SlackBuild Repositories" section.
Verify:
- Cards display in grid layout (1 column mobile, 2-3 columns tablet/desktop)
- Each card shows image, project name, description, tags, and GitHub link
- Images load correctly (or show placeholder if images not yet created)
Expected: All cards display with correct data from `data/repos.yaml`.
- [ ] **Step 3: Test repository page keyboard navigation**
Press Tab repeatedly:
- Focus should move through code blocks
- Focus should move through GitHub repo links
- All elements keyboard-accessible
Expected: Full keyboard navigation works.
- [ ] **Step 4: Test repository page in Italian**
Navigate to: `http://localhost:1313/it/repository/`
Expected: Page displays in Italian with Italian headings, descriptions, and link labels.
- [ ] **Step 5: Test repository page dark/light mode**
On repository page, click theme toggle in header.
Expected: Page styling adapts to both modes, cards have proper contrast, focus rings visible.
- [ ] **Step 6: Test repository page responsive design**
Set viewport to:
- 320px: Single column, cards stacked, code blocks scrollable
- 768px: Single column, cards 2 per row
- 1200px: Single column content, cards 2-3 per row
Expected: Page responsive at all breakpoints.
- [ ] **Step 7: Test copy-to-clipboard (optional, if implemented)**
If copy buttons are added to code blocks:
- Hover over code block, click copy button
- Verify code is copied to clipboard
- Verify toast notification shows "Copied!"
Expected: Copy functionality works with feedback.
- [ ] **Step 8: Commit test results**
```bash
git add -u
git commit -m "test: verify repository page content, cards, keyboard nav, dark mode, responsive" --allow-empty
```
---
### Task 15: Verify Accessibility Compliance (404 & Repository)
**Files:**
- Reference: `layouts/404.html`, `content/en/repository/_index.md`, `content/it/repository/_index.md`
- [ ] **Step 1: Test heading hierarchy**
Using browser DevTools, inspect both pages:
**404 page:**
- Should have one `
` (404 heading or error title)
- Should have `
` for "Recent Articles" section
- No heading skips (e.g., h1 → h3)
**Repository page:**
- Should have one `
` (page title)
- Should have `
` for Installation, Usage, Available Packages, GitHub Repos sections
- No heading skips
Expected: Proper heading hierarchy on both pages.
- [ ] **Step 2: Test color contrast**
Using WebAIM Contrast Checker or Chrome DevTools:
Check these elements on 404 page:
- "404" heading text vs background
- Error message text vs background
- Button text vs button background
- Link text vs background
- Focus ring vs background
Check on repository page:
- Section headings vs background
- Body text vs background
- Code block text vs code background
- Card titles vs card background
- Button text vs button background
- Focus ring vs background
Test in both light and dark modes.
Expected: All text meets WCAG AA minimum (4.5:1 contrast).
- [ ] **Step 3: Test focus indicators**
On both pages:
- Press Tab to move through all interactive elements
- Verify focus indicator (2px ring) is visible on each element
- Verify focus ring has sufficient contrast (≥3:1) with background
Expected: Focus indicators visible and contrasting on all focusable elements.
- [ ] **Step 4: Test screen reader (optional)**
If available, use VoiceOver (Mac) or NVDA (Windows):
**404 page:**
- Navigate to page, verify title announced ("404" or page name)
- Verify error message announced
- Verify search box label announced
- Verify article titles/links announced
- Verify buttons announced with labels
**Repository page:**
- Verify page title announced
- Verify section headings announced with level
- Verify code blocks announced (or at minimum, not blocking navigation)
- Verify card titles and links announced
- Verify all button labels announced
Expected: Screen reader users can navigate and understand page structure.
- [ ] **Step 5: Test prefers-reduced-motion**
If animations are used on 404/repository pages:
Set OS preference to reduce motion (System Preferences > Accessibility > Display > Reduce Motion).
Reload page and verify:
- Fade-in animation on 404 heading should be removed or instant
- Scale-in animation on easter egg modal should be removed or instant
- Card hover transitions should be removed or instant
Expected: Animations are disabled for users with motion preference.
- [ ] **Step 6: Commit accessibility verification**
```bash
git add -u
git commit -m "test: verify accessibility (WCAG AA) - heading hierarchy, contrast, focus, motion" --allow-empty
```
---
### Task 16: Final Build & Merge to Master
**Files:**
- Git branch: `week-6-pages` → `master`
- [ ] **Step 1: Run final CSS build**
```bash
npm run build
```
Expected: CSS compilation completes in ~200-250ms, no errors, `main.min.css` generated.
- [ ] **Step 2: Verify no uncommitted changes**
```bash
git status
```
Expected: "nothing to commit, working tree clean" or only intentional changes.
- [ ] **Step 3: View final commit log**
```bash
git log --oneline -10
```
Expected: Shows all commits from week-6-pages feature branch (Task 1 through Task 15).
- [ ] **Step 4: Switch to master and merge**
```bash
git checkout master
git pull
git merge week-6-pages -m "merge: Week 6 - 404 page and Repository page complete (all pages accessible, responsive, multilingual)"
```
Expected: Fast-forward or clean merge, no conflicts.
- [ ] **Step 5: Verify merge success**
```bash
git status
git log --oneline -1
```
Expected: On master, latest commit is merge commit, working tree clean.
- [ ] **Step 6: Verify all files present**
```bash
ls -la layouts/404.html
ls -la content/en/repository/_index.md
ls -la content/it/repository/_index.md
ls -la data/repos.yaml
```
Expected: All files present.
- [ ] **Step 7: Final Hugo build verification**
```bash
hugo server
```
Test all pages:
- Home page: loads correctly
- Articles page: displays article list
- About page: loads correctly
- Contact page: form displays
- Repository page (EN/IT): loads with content and cards
- 404 page (navigate to non-existent URL): displays correctly
- Language switcher: works on all pages
- Dark/light mode: works on all pages
- Keyboard navigation: works on all pages
Expected: All pages function correctly, no regressions.
- [ ] **Step 8: Commit final verification**
```bash
git log --oneline -1
git branch -a
```
Expected: Confirms merge to master and all commits integrated.
---
## Summary
**Week 6 deliverables:**
- ✅ 404 error page (Easter egg easter egg with blue/red pill modal, recent articles, search box)
- ✅ Repository page (Hero, Installation, Usage, Available Packages sections, GitHub repo cards)
- ✅ Multilingual support (EN/IT) for both pages
- ✅ Full keyboard accessibility, focus management, WCAG AA compliance
- ✅ Responsive design (320px, 768px, 1200px+)
- ✅ Dark/light mode compatibility
- ✅ All content editable via markdown and YAML (no hardcoded content in templates)
- ✅ All tests passing, all regressions verified as zero
**Files created:** 5 new files (404.html, 2 markdown content files, 1 data YAML file, optional custom layout)
**Files modified:** 4 files (2 i18n YAML files, potentially custom CSS if needed)
**Total commits:** ~16 commits across all tasks
**Testing:** 2 comprehensive test tasks covering functionality, accessibility, responsiveness
**Next:** Merge to master and update HANDOFF.md with Week 6 completion status.