CLAUDE.md

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

Project Overview

This is a personal blog/website built with Jekyll and hosted on GitHub Pages at mlumiste.com. The site uses the Minimal Mistakes theme (via remote_theme) with custom overrides and styling.

Build & Development Commands

Local Development

# Install Ruby dependencies
bundle install

# Install Node.js dependencies (for JS minification)
npm install

# Serve the site locally (standard Jekyll)
bundle exec jekyll serve

# Serve with live reload using Rake task
bundle exec rake preview

# Build the site
bundle exec jekyll build

JavaScript Build

# Uglify and minify JavaScript assets
npm run build:js

# Watch for JS changes and rebuild
npm run watch:js

The JS build process concatenates and minifies vendor libraries and custom scripts from assets/js/ into assets/js/main.min.js.

Repository Structure

Content Organization

Configuration

Special Pages

The repository includes several standalone HTML pages with custom functionality:

These pages are complete HTML documents, not processed through Jekyll’s typical page rendering (though they may use layouts).

Theme Architecture

This site uses Jekyll’s remote_theme feature to pull the Minimal Mistakes theme from GitHub. Local customizations are layered on top:

  1. Theme files are fetched from mmistakes/minimal-mistakes repository
  2. Local overrides in _layouts/, _includes/, and _sass/ take precedence
  3. Custom skin is defined in _config.yml as minimal-mistakes_skin: "custom"

When modifying theme files, copy the original from the Minimal Mistakes repo and place it in the corresponding local directory before editing.

Content Guidelines

Blog Post Front Matter

Posts should include standard YAML front matter:

---
layout: single
classes: narrow  # optional, for narrower content width
title: "Post Title"
date: YYYY-MM-DD
categories: technical  # or other categories
comments: false
---

Math Support

Posts support LaTeX math rendering via MathJax/KaTeX. Use standard LaTeX syntax with $$ delimiters for display math.

Deployment

The site automatically deploys to GitHub Pages when changes are pushed to the master branch. No manual deployment steps are required.

Important Notes