CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Technology Stack
This is a Jekyll-based personal blog/website (sorokin.engineer) using:
- Jekyll static site generator
- Ruby 2.5+ (managed via rbenv)
- Liquid templating
- Kramdown for Markdown processing
- SCSS for styling
- Analytics: Google Analytics and Yandex Metrika
Development Commands
Local Development
# Install dependencies
bundle install
# Serve locally (default port 4000)
jekyll serve
Docker Development
For containerized development without local Ruby installation:
# Build and run container
./debug.sh
# Or manually:
docker build . -t sorokin.engineer
docker run --rm -it --name sorokin.engineer -p 4000:4000 --mount type=bind,source="$(pwd)"/,target=/workspaces/sorokin.engineer sorokin.engineer
VS Code DevContainer
The project includes .devcontainer/ configuration for VS Code remote containers with automatic Jekyll setup.
Architecture
Site Structure
_layouts/: HTML templates (default, post, page, reviews, etc.)_includes/: Reusable HTML components (analytics, search, navigation, etc.)_data/: YAML data files (menu, localization, reviews, languages)_posts/: Blog posts in Markdown_sass/: Sass stylesheetspages/: Static pagesposts/: Additional post organizationimages/: Static assets and media
Key Features
- Multi-language support with language selector
- Tag cloud and search functionality
- Reviews system with structured data in
_data/reviews.yaml - Comment system integration (Disqus, Staticman)
- Responsive design with custom SCSS
Configuration
- Main config:
_config.yml - Analytics IDs and social links configured in
_config.yml - Jekyll plugins: sitemap, feed, redirect-from
- Permalink structure:
/:categories/:title.html
Data Files
_data/menu.yaml: Site navigation structure_data/localization.yaml: Translation strings_data/languages.yaml: Supported languages_data/reviews.yaml: Structured review data_data/comments/: User comments (Staticman)
Content Management
Posts are written in Markdown with YAML front matter and support:
- Categories and tags
- Language variants
- Redirects via jekyll-redirect-from
- Custom layouts for different content types
The site builds automatically on GitHub Pages or can be deployed via the generated _site/ directory.