CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

This is a Jekyll-based personal blog and portfolio website hosted on GitHub Pages at https://gilyes.com. The site includes:

  • Blog posts about technical topics (Raspberry Pi, WCF, Linux, Docker)
  • A resume page (resume.html) that dynamically renders from _data/cv.yml
  • Standard Jekyll structure with layouts, includes, and posts

Development Commands

Local Development

jekyll serve -D

This starts the Jekyll development server with drafts enabled. The site will be available at http://localhost:4000.

Note: The repository contains _serve.sh which uses watchy to auto-reload on config changes, but this may be specific to the original development environment.

Building the Site

Jekyll builds the site automatically. The output goes to the _site/ directory (which is ignored by git for GitHub Pages deployments).

Architecture

Resume System

The resume page (resume.html) is a standalone HTML template that pulls all content from _data/cv.yml. To update the resume:

  1. Edit _data/cv.yml with the structured YAML data
  2. The HTML template loops through career positions, skills, education, etc.
  3. Changes appear automatically when Jekyll rebuilds

Blog Posts

  • Located in _posts/ directory
  • Use filename format: YYYY-MM-DD-title-slug.md
  • Front matter includes: layout, title, tags, category, comments
  • Drafts go in _drafts/ directory

Layouts and Includes

  • _layouts/default.html: Base template, conditionally includes sidebar based on two_columns page variable
  • _layouts/post.html and _layouts/page.html: Extend the default layout
  • _includes/: Reusable components (header, footer, sidebar, pagination, comments via Disqus)

Configuration

_config.yml contains:

  • Site metadata (title, description, URL)
  • Personal info (GitHub username, Disqus shortname)
  • Jekyll settings (pagination, markdown processor, syntax highlighter)
  • Permalink structure: /:title/

Key Files

  • _config.yml: Main Jekyll configuration
  • _data/cv.yml: Resume/CV data structure
  • resume.html: Resume template (standalone page, not using standard layouts)
  • css/main.scss and css/cv.scss: Site and resume stylesheets