IT-Journey Learning Resources Library
By Amr Abdel Eissa
Reference documentation and learning resources covering terminal, Bash scripting, Jekyll, Liquid templating, and development tools for IT-Journey.
Estimated reading time: 5 minutes
Table of Contents
Learning Resources Library
Reference documentation and educational resources for the tools and technologies powering IT-Journey. Browse by topic below, or use the sidebar to navigate directly to a specific technology.
About This Library
Purpose: Educational content and reference documentation for external tools, frameworks, and technologies used in IT-Journey.
Audience: Learners, students, and anyone exploring the technologies used in building and maintaining the IT-Journey platform.
Developer Documentation
Note for Contributors: If you’re looking for technical documentation about the IT-Journey repository structure, contribution workflows, or development setup, see the Developer Documentation in the repository root (
/docs/directory on GitHub).
Quick Links for Developers
- Repository Structure
- Jekyll Implementation
- Development Environment Setup
- Contributing Guide
- Frontmatter Standards
Available Documentation
Terminal
Command-line reference and productivity guides for working effectively in the terminal.
Topics:
- Terminal and Bash Learning Path - Complete path connecting Bashcrawl, terminal basics, cheatsheets, references, and scripting quests
- Terminal Shortcuts Cheat Sheet - Keyboard shortcuts for macOS, Linux, and Windows
- Complete BASH Reference - Exhaustive GNU Bash reference: built-ins, scripting, text processing, and advanced techniques
- Play Bashcrawl Online - Browser-based terminal dungeon for no-install command practice
Jekyll
The IT-Journey platform is built with Jekyll, a static site generator. The Jekyll documentation covers how IT-Journey specifically implements and uses Jekyll features.
Topics:
- Jekyll Overview - Jekyll as used in IT-Journey
- Configuration Options - Jekyll configuration reference
- Frontmatter CMS - Using frontmatter as a CMS
- Frontmatter Preview Configuration - Configure VS Code preview with permalinks
- Liquid Templating - Liquid template language
- Mermaid Diagrams - Creating diagrams
- Math Symbols - Mathematical notation
Obsidian
Obsidian-style links help connect notes, docs, quests, and posts into a lightweight learning graph powered by the zer0-mistakes theme.
Topics:
- Obsidian Knowledge Graph - How IT-Journey uses theme-owned wiki links and graph views
- Obsidian Graph View - Interactive map of linked content across the site
Wargames (External)
Security challenges aggregated from the OverTheWire community project. Learn and practice security concepts through gamified challenges.
Topics:
- Wargames Overview - Introduction, game list, and how to get started
This section is populated by the docs aggregation pipeline. Run
bash scripts/docs-aggregator/aggregate_docs.shto update.
Future Documentation Areas
This library will expand to include reference documentation for:
Planned Topics:
- Ruby - Ruby programming language fundamentals
- Liquid - Advanced Liquid templating techniques
- Bootstrap - Bootstrap framework usage
- GitHub Pages - GitHub Pages deployment and configuration
- Markdown - Advanced Markdown techniques
- Git - Version control workflows
Documentation Philosophy
What Belongs Here
This /docs/ learning library contains:
- External tool and technology references
- Educational tutorials and guides
- Framework and library documentation
- Technology overviews and comparisons
- Learning paths and resources
What Belongs in Developer Docs
The repository /docs/ directory contains:
- IT-Journey repository structure and architecture
- Development environment setup
- Contribution workflows and standards
- Testing frameworks and automation
- Scripts and tools documentation
- GitHub Actions and CI/CD workflows
How to Use This Library
For Learners
- Explore by Topic - Browse available technology documentation
- Follow Learning Paths - Use resources to build understanding
- Practice with IT-Journey - Apply concepts in the IT-Journey codebase
- Contribute Back - Share your learning by improving documentation
For Contributors
- Reference While Developing - Use as quick reference for tools
- Learn New Technologies - Understand technologies before contributing
- Add New Resources - Contribute documentation for new tools
- Keep It Updated - Help maintain accuracy and relevance
Contributing to This Library
Adding New Documentation
To add documentation for a new tool or technology:
- Create Directory - Add subdirectory under
pages/_docs/mkdir pages/_docs/new-tool/ - Create Index - Add
index.mdwith overviewtouch pages/_docs/new-tool/index.md - Add Content - Create topic-specific markdown files
touch pages/_docs/new-tool/getting-started.md -
Follow Standards - Use Frontmatter Standards
- Update Navigation - Add to
_data/navigation/docs.yml
Content Guidelines
- Focus on IT-Journey Context - Show how the tool is used in IT-Journey
- Include Examples - Provide practical, working examples
- Link to Official Docs - Reference authoritative sources
- Keep It Current - Update when technologies change
- Be Educational - Write for learners, not just reference
See Content Guidelines for detailed writing standards.
Documentation Sources
Git Submodules & Aggregation
The documentation library supports two approaches for integrating external content:
Docs Aggregation Pipeline (Active):
# Aggregate external documentation into _docs
bash scripts/docs-aggregator/aggregate_docs.sh
The aggregation pipeline clones external repos, extracts documentation, transforms it to Jekyll-compatible format with it-journey frontmatter, and places it under pages/_docs/. See docs-aggregator README for details and how to add new sources.
Git Submodules (Future alternative):
# Example: Adding Jekyll official docs
git submodule add https://github.com/jekyll/jekyll.git jekyll-docs
# Configure sparse checkout for specific directories
cd jekyll-docs/docs/_docs
git sparse-checkout init --cone
git sparse-checkout set docs/_docs
This approach allows:
- Always up-to-date official documentation
- Clean separation of sources
- Easy updates via Git
Manual Documentation
For tools without suitable official docs, we create our own:
- Custom tutorials and guides
- IT-Journey-specific implementations
- Integration examples and patterns
Technology Stack
IT-Journey is built with:
Core Technologies
- Jekyll 3.9.5 - Static site generator
- Ruby 3.2.3 - Programming language
- Liquid - Template language
- Kramdown - Markdown processor
- Bootstrap 5.2.0 - CSS framework
Development Tools
- Git - Version control
- Docker - Containerization
- GitHub Actions - CI/CD automation
- Python 3.11 - Scripting and automation
Services
- GitHub Pages - Hosting
- OpenAI GPT-4 - AI-powered analysis
- Giscus - Comments via GitHub Discussions
For detailed information, see Jekyll Implementation.
Getting Help
Questions About This Library
- Create issue with
documentationlabel - Suggest improvements via pull requests
- Start discussion in GitHub Discussions
Questions About Contributing
- See Contributing Guide
- Check Development Environment Setup
- Review Repository Structure
Additional Resources
Other IT-Journey Collections
| Collection | What It Is |
|---|---|
| 📘 Quick Start Guide | Step-by-step setup — machine config, Jekyll, GitHub, VS Code, deployment, CI/CD |
| 🏰 Quest Map | 144 gamified quests across 16 binary levels — from terminal basics to system architecture |
| 📝 Notes | Working notes, code snippets, and quick references from development |
| 📰 Blog Posts | Tutorials, AI development chronicles, and technical write-ups across 10 categories |
External Resources
Last Updated: 2025-10-13
Version: 2.0.0
The Learning Resources Library is part of the IT-Journey project. For technical developer documentation, see the /docs/ directory.