[In the digital matrix where URLs thread through luminous forests, a wraith prowlsโ€”the 404 Specter. Its hunger is broken paths; its lair, forgotten slugs. Today you rise as a Link Warden, weaving binary incantations to bind the 404 and light every trail.]

Your quest blends myth and method: a practical Jekyll journey powered by GitHub CI/CD that harmonizes with the companion article โ€œ404 Hunting: The Quest for Resources.โ€ Follow these chapters to forge stable permalinks, etch redirect runes, summon automated hyperlink guardians, and grow living resource endpoints so your realm strengthens with every release.

๐ŸŒŸ The Legend Behind This Quest

Once, refactors fractured timelines and slugs wandered nameless. Guild lore taught three arts to restore order: predictable permalinks, decisive redirects, and vigilant guardians that patrol every merge. Master these and the 404 Specter fades into mist.

๐ŸŽฏ Quest Objectives

Primary Objectives

Secondary Objectives

Mastery Indicators

๐ŸŒ Choose Your Adventure Platform

๐ŸŽ macOS Kingdom Path

brew install rbenv ruby-build
rbenv install 3.2.4
rbenv local 3.2.4
gem install bundler
bundle install
bundle exec jekyll serve --livereload

๐ŸชŸ Windows Empire Path (WSL)

# Use WSL2 Ubuntu and follow Linux steps

๐Ÿง Linux Territory Path

sudo apt-get update && sudo apt-get install -y ruby-full build-essential zlib1g-dev
gem install bundler
bundle install
bundle exec jekyll serve

โ˜๏ธ GitHub Actions Path

โš”๏ธ Skills Youโ€™ll Forge

๐Ÿ—๏ธ Workshop: Redirect Implementation

Add or confirm in _config.yml:

permalink: pretty
url: https://your-domain.example
baseurl: "" # set to "/repo" for project pages
plugins:
  - jekyll-sitemap
  - jekyll-feed
  - jekyll-redirect-from

Create an inviting 404.html:

---
permalink: /404.html
layout: default
---
<main class="not-found">
  <h1>๐Ÿงญ Lost in the Linkwood</h1>
  <p>The path you sought fades into mist. Try these routes:</p>
  <ul>
    <li><a href="/">Return to camp (home)</a></li>
    <li><a href="/sitemap.xml">Consult the star map (sitemap)</a></li>
  </ul>
  <h2>Recent beacons</h2>
  <ul>
    
      <li><a href="/posts/essential-vscode-extensions-developers/">Essential VS Code Extensions for Developers: The Ultimate 2025 Guide</a></li>
    
      <li><a href="/posts/docker-beginners-tutorial/">Docker for Beginners: Complete Tutorial to Get Started with Containers</a></li>
    
      <li><a href="/posts/prd-machine-self-writing-documentation/">PRD Machine: Building a Self-Writing Product Requirements Distillery</a></li>
    
      <li><a href="/posts/mastering-prompt-engineering-vscode-copilot/">Mastering Prompt Engineering: A Practical Guide to VS Code Copilot</a></li>
    
      <li><a href="/posts/mastering-react-beginners-guide/">Mastering React: A Beginner's Guide</a></li>
    
  </ul>
  <p>If this seems wrong, please <a href="https://github.com/bamr87/it-journey/issues/new?title=404:%20/quests/level-1110-404-hunting-quest/">open a scroll (issue)</a>.</p>
  <style>.not-found{max-width:720px;margin:3rem auto;padding:0 1rem}</style>
</main>

๐Ÿ” Knowledge Check: Paths

๐Ÿง™โ€โ™‚๏ธ Chapter 2: Tame the Wraith (Redirects)

โšก Powers Youโ€™ll Gain

๐Ÿ—๏ธ Workshop: CI Setup

Enable redirects:

# Gemfile
gem "jekyll-redirect-from"
# _config.yml
plugins:
  - jekyll-redirect-from

On the new canonical page, add old trails:

redirect_from:
  - /2023/11/04/old-title/
  - /posts/old-title/

Or create a dedicated redirect stub:

---
layout: redirect
redirect_to: /posts/new-canonical-title/
permalink: /legacy-path/
---

๐Ÿ” Knowledge Check: Redirects

๐Ÿ›ก๏ธ Abilities Youโ€™ll Master

๐Ÿ—๏ธ Workshop: Collections & Data

Lychee (quick, generous):

name: Hyperlink Guardian
on:
  pull_request:
  push:
    branches: [ main ]
  schedule:
    - cron: '0 3 * * 1'
jobs:
  lychee:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run lychee
        uses: lycheeverse/lychee-action@v1
        with:
          args: >-
            --verbose --no-progress --cache --max-cache-age 1d
            --accept 200,204,206,301,302,308
            --exclude-mail
            --timeout 20
            **/*.md **/*.html
        env:
          GITHUB_TOKEN: $

HTMLProofer (strict, post-build):

name: Link Checker
on: [push, pull_request]
jobs:
  htmlproofer:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.2'
          bundler-cache: true
      - name: Build Jekyll
        run: |
          bundle install --path vendor/bundle
          bundle exec jekyll build --trace
      - name: HTMLProofer
        run: |
          gem install html-proofer
          htmlproofer ./_site \
            --assume-extension \
            --check-external-hash \
            --enforce-https \
            --typhoeus-config 'timeout:20' \
            --url-ignore "^https://localhost,https://127.0.0.1" \
            --http-status-ignore '0,429'

๐Ÿ” Knowledge Check: Guardians

๐Ÿง™โ€โ™‚๏ธ Chapter 4: Grow Endpoints Organically (Collections & Data)

๐Ÿ”ง Capabilities Youโ€™ll Build

๐Ÿ—๏ธ Building Your Knowledge Foundation

Declare a collection:

collections:
  resources:
    output: true
    permalink: /resources/:path/

Example content _resources/magic-spell.md:

---
title: The Magic Spell of Code
---

Content about spells...

Data-driven links via _data/quests.yml:

- name: 404 Hunting
  description: Banish errors!

Template snippet:


๐Ÿ” Knowledge Check: Growth

๐ŸŽฎ Quest Implementation Challenges

Challenge 1: Refactor Without Regret (๐Ÿ• 20โ€“30 minutes)

Objective: Rename an existing page and preserve the old trail.

Requirements:

Success Criteria:

Challenge 2: Guardianโ€™s Vigil (๐Ÿ• 20โ€“30 minutes)

Objective: Add one link checker on PRs and a scheduled weekly sweep.

Requirements:

Success Criteria:

๐Ÿ† Master Challenge: Deโ€‘404 a Trail (๐Ÿ• 30 minutes)

Objective: Use guardian logs to create a minimal viable resource (MVR) or redirect to resolve a real 404.

๐ŸŽ Quest Rewards and Achievements

๐Ÿ”ฎ Your Next Epic Adventures

๐Ÿ“š Quest Resource Codex

graph TD
    A[๐Ÿฐ Quest Start] --> B{๐Ÿง™โ€โ™‚๏ธ Choose Path}
    B -->|๐ŸŽ macOS| C[Setup Ruby & Jekyll]
    B -->|๐ŸชŸ Windows| D[Use WSL2]
    B -->|๐Ÿง Linux| E[Install Ruby & Bundler]
    C --> F[Forge Permalinks]
    D --> F
    E --> F
    F --> G[Craft 404]
    G --> H[Tame with Redirects]
    H --> I[Summon CI Guardians]
    I --> J[Grow Endpoints]
    J --> K{โœ… No 404s?}
    K -->|Yes| L[๐ŸŽ Rewards]
    K -->|No| M[๐Ÿ”ง Debug & Retry]
    M --> I

๐Ÿ—บ๏ธ Quest Network Position

Prerequisite Quests:

Follow-Up Quests:

Validation Recap: