This document provides a comprehensive overview of the IT-Journey repository structure, explaining the purpose of each directory and major component.
it-journey/
├── .github/ # GitHub configuration and workflows
│ ├── workflows/ # CI/CD automation workflows
│ ├── instructions/ # AI assistant instructions
│ ├── ISSUE_TEMPLATE/ # Issue templates
│ └── copilot-instructions.md
├── _config.yml # Main Jekyll configuration
├── _config_dev.yml # Development configuration
├── _data/ # Site data files
│ ├── navigation/ # Navigation configurations
│ └── ui-text.yml # UI text and translations
├── _includes/ # Reusable HTML components
├── _layouts/ # Page layout templates
├── assets/ # Static assets
│ ├── css/ # Stylesheets
│ ├── js/ # JavaScript files
│ ├── images/ # Image files
│ └── svg/ # SVG graphics
├── docs/ # Developer documentation (THIS)
│ ├── architecture/ # System design and structure
│ ├── setup/ # Installation and configuration
│ ├── workflows/ # CI/CD documentation
│ ├── scripts/ # Script documentation
│ ├── testing/ # Testing framework docs
│ └── standards/ # Coding and content standards
├── pages/ # Content collections
│ ├── _posts/ # Blog posts and journals
│ ├── _docs/ # Learning resources
│ ├── _quests/ # Gamified learning experiences
│ ├── _notebooks/ # Jupyter notebooks
│ ├── _notes/ # Personal notes
│ ├── _about/ # About pages
│ └── _quickstart/ # Quick start guides
├── scripts/ # Automation scripts
│ ├── core/ # Core utilities
│ ├── development/ # Development tools
│ └── deployment/ # Deployment automation
├── test/ # Testing infrastructure
│ ├── hyperlink-guardian/ # Link validation system
│ └── quest-validator/ # Quest content validator
├── Gemfile # Ruby dependencies
├── package.json # Node.js dependencies (if any)
├── docker-compose.yml # Docker development setup
├── Dockerfile # Container image definition
└── README.md # Main project README
.github/GitHub-specific configuration and automation.
Key Files:
workflows/*.yml - GitHub Actions workflows for CI/CDinstructions/*.md - AI assistant context and guidelinesISSUE_TEMPLATE/*.md - Structured issue templatescopilot-instructions.md - GitHub Copilot configurationPurpose: Automates testing, validation, deployment, and provides context for AI tools.
_config.yml & _config_dev.ymlJekyll configuration files defining site structure, collections, and behavior.
_config.yml:
bamr87/zer0-mistakes_config_dev.yml:
_data/Structured data files for site content that isn’t posts or pages.
Contents:
navigation/*.yml - Site navigation structuresui-text.yml - Interface text and translationsprerequisites.yml - Learning prerequisites datastatistics_config.yml - Content statistics configurationUsage: Accessible via site.data in Liquid templates.
_includes/Reusable HTML/Liquid components included in layouts and pages.
Contents:
content_statistics/ - Content metrics displayscontent_stats_direct.html - Direct statistics integrationPurpose: DRY principle - write once, include anywhere.
_layouts/Page templates that define structure and presentation.
Key Layouts:
javascript.html - JavaScript-heavy pagesPurpose: Consistent page structure across the site.
assets/Static files served to browsers.
Structure:
css/ - Custom stylesheets (main.scss, custom.css)js/ - JavaScript files (12 files)images/ - Images (177 files: PNG, GIF, XCF)svg/ - SVG graphics (22 files)gif/ - Animated GIFsparticles.json - Particle.js configurationAsset Management:
pages/)All user-facing content lives in the pages/ directory, organized into Jekyll collections.
pages/_posts/Blog posts and journal entries following Jekyll conventions.
Naming Convention: YYYY-MM-DD-title-slug.md
Purpose:
Current Count: 85 markdown files
pages/_docs/Reference documentation and learning resources for external tools.
Structure:
jekyll/ - Jekyll-specific documentationindex.md - Documentation library indexPurpose:
Note: This is separate from docs/ (developer documentation).
pages/_quests/Gamified learning experiences with fantasy themes and progressive difficulty.
Key Features:
Contents: 53 markdown files + supporting scripts (14 .sh, 3 .ps1, 2 .ipynb, 2 .yml)
Purpose: Transform technical learning into engaging adventures.
pages/_notebooks/Jupyter notebooks for interactive code examples and data analysis.
Contents: 6 .ipynb files + 5 markdown files
Purpose:
pages/_notes/Personal development notes and work-in-progress content.
Contents: 33 markdown + 2 Python + 2 Ruby files
Purpose:
pages/_about/Information about the IT-Journey project and site.
Contents: 12 markdown + 2 YAML + 1 text file
Purpose:
pages/_quickstart/Quick reference guides for rapid learning.
Contents: 6 markdown files
Purpose:
docs/ (Developer Documentation)YOU ARE HERE - Technical documentation for contributors and AI agents.
Structure:
architecture/ - System design and structure docssetup/ - Installation and environment setupworkflows/ - CI/CD and automation docsscripts/ - Script documentationtesting/ - Testing framework referencesstandards/ - Coding and content standardsPurpose: Enable effective contribution by developers and AI agents.
scripts/Automation tools and development utilities.
Organization:
core/ - Essential utilities (environment-setup.sh, version-manager.sh)development/ - Development tools (build, content, testing)deployment/ - Deployment automationlink-checker.py - Unified link health monitoringPurpose: Automate repetitive tasks, ensure quality, streamline development.
test/Testing frameworks and validation tools.
Components:
hyperlink-guardian/ - Link validation with AI analysisquest-validator/ - Quest content structure validationtest-results/ - Test output artifactsPurpose: Automated quality assurance and proactive monitoring.
GemfileRuby gem dependencies for Jekyll and plugins.
Key Dependencies:
github-pages ~> 231 (includes Jekyll)jekyll-theme-zer0 (theme gem)ffi ~> 1.17.0 (system library bindings)webrick ~> 1.8 (development server)docker-compose.yml & DockerfileContainer-based development environment.
Benefits:
frontmatter.jsonFrontmatter schema definitions for content validation.
Purpose: Define required and optional fields for different content types.
Format: YYYY-MM-DD-slug-with-hyphens.md
Example: 2025-10-13-el-capitan-boot-loader.md
Format: descriptive-quest-name.md
Example: link-to-the-future-automated-hyperlink-checking-and-error-reporting.md
Format: tool-topic-description.md or tool-specific-feature.md
Example: jekyll-diagram-with-mermaid.md
Format: descriptive-action-name.sh or descriptive-action-name.py
Example: environment-setup.sh, link-checker.py
Format: UPPERCASE_TOPIC.md for main docs, descriptive-name.md for guides
Example: REPOSITORY_STRUCTURE.md, setup-guide.md
docs/) - Technical repository informationpages/_docs/) - Educational external referencespages/_posts/, pages/_quests/) - Published contentpages/_notes/) - Draft and experimental contentmain_config.yml configurationpages/ directory_layouts/ (theme + local)_includes/_site/bundle exec jekyll serve --config _config_dev.yml
JEKYLL_ENV=production bundle exec jekyll build
docker-compose up
Navigation is defined in _data/navigation/*.yml files:
main.yml - Primary site navigationabout.yml - About section navigationdocs.yml - Documentation navigationposts.yml - Blog post navigationquickstart.yml - Quick start navigationThese are referenced in _config.yml and used by layouts to generate navigation menus.
IT-Journey uses the zer0-mistakes theme as a remote theme:
_config.yml: remote_theme: "bamr87/zer0-mistakes"Last Updated: 2025-10-13
Version: 1.0.0