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.yml
Jekyll 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.
Gemfile
Ruby 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
& Dockerfile
Container-based development environment.
Benefits:
frontmatter.json
Frontmatter 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