AGENTS.md — peleccom.github.io
AGENTS.md — peleccom.github.io
Personal GitHub Pages site for Alexander Pitkin. Jekyll static site, Minimal Mistakes remote theme v4.28.0.
Dev server (Docker only)
Ruby/Jekyll are NOT installed on the host. Everything runs in Docker.
docker compose up -d # start dev server at http://localhost:4000
docker compose logs -f # follow Jekyll rebuild logs
docker compose restart # restart after Gemfile changes
The container auto-rebuilds on file changes (--watch --force_polling).
Architecture
- Data-driven content — structured data in
_data/*.yml:skills.yml— ~70 skills across 8 sections, each withname,icon,descriptionterminal.yml— terminal hero schemes and command linesnavigation.yml— site nav items
- Pages use
layout: singlewithauthor_profile: true(except blog which useslayout: posts) _includes/— page-level includes:tech-stack.html(skills grid),terminal-hero.html(homepage),project-cards.html(hardcoded),head/custom.html(FA kit + favicons)assets/css/main.scss— all custom styles. Imports Minimal Mistakes theme first, then overrides.- CV page (
alexander_pitkin_cv.html) is a redirect to https://rxresu.me/peleccom/alexander-pitkin-cv
Icon system
- Icons from xandemon/developer-icons via jsDelivr CDN (
@v7.0.1) - Font Awesome fallback for icons with
fa-orfab-prefix - To check availability: probe
https://cdn.jsdelivr.net/gh/xandemon/developer-icons@v7.0.1/icons/{name}.svg - All icon lookups go through
_data/skills.yml
Google Analytics
- Only enabled in production (GitHub Pages). Locally disabled.
- Handled by Minimal Mistakes’ built-in analytics (jekyll.environment guard), not a custom snippet
- Tracking ID set in
_config.ymlunderanalytics.google.tracking_id
LinkedIn badge
- Two placements: sidebar (
linkedin-badge-wrapper, hidden on mobile) and homepage bottom (linkedin-badge-bottom, hidden on desktop) - Controlled via CSS media queries in
assets/css/main.scss
What’s NOT here
- No tests, no CI configuration, no build step beyond
jekyll build - No linting, type checking, codegen, or JS bundler
- No database, API server, or dynamic state