CLAUDE.md

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

Jekyll site for Riikka Koskenranta’s blog and high school course pages (English ena*, Swedish rub*), served by GitHub Pages from master at riikka.koskenranta.fi. Content and UI text are in Finnish.

Commands

_config.yml has safe: true because GitHub Pages builds it with the github-pages gem. Only whitelisted plugins work, and jekyll-redirect-from is the only one used.

Architecture

Everything is keyed by semester (YYYY-YYYY, e.g. 2026-2027) and course name (lowercase, e.g. rub11-12.3). The school year is split into teaching periods (“jakso”, 1–5).

Pvm Tunnin aihe Kielioppi Digitehtävät Muuta

), laksyt/, materiaali/, kurssi-info/. Each page sets course: in front matter, and that value must match name` in the courses file.

Editing via Pages CMS

The owner edits content at app.pagescms.org, configured by .pages.yml. Each CMS save is a commit to master. Labels are Finnish: Läksyt = homework, Aikataulu = schedule, Materiaali = material, Jakso = teaching period, Asetukset = settings. The Kurssi options between the # kurssit:start and # kurssit:end markers in .pages.yml are generated, so don’t hand-edit them.

GitHub Actions push bot commits to master:

After pushing, pull before further work because a bot commit may have landed. Files must use LF line endings.

Adding a new semester

Commit c82b495e (“Add 2026-2027 semester”) is the reference. The steps:

  1. Add _data/courses_<new>.yml, _data/navigation_<new>.yml and an empty _data/schedule_<new>_<course>.yml for each course.
  2. Create kurssit/<new>/<course>/ pages. Copy them from the previous semester and change course: and the schedule data key.
  3. In _config.yml, set semester, set the previous semester’s defaults to current: false, archived: true, add a defaults entry for the new path, and update the prose tag options.
  4. Add a when "<new>" branch in _includes/course-variables.liquid, point index.html at courses_<new>, and add a section at the top of kurssit/arkisto/index.html for the previous semester.
  5. Follow the Pages CMS steps in README.md (“New semester”): Läksyt path → _posts/<new> with a .gitkeep, rebuild the course groups, and set period: 1 in _data/asetukset.yml.