CLAUDE.md
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 website/blog built with Jekyll using the al-folio theme, hosted on GitHub Pages. The site content is primarily in Japanese.
Site URL: https://arugo11.github.io
Development Commands
Local Development
1
2
3
4
5
6
7
8
# Install dependencies (first time only)
bundle install
# Build the site
bundle exec jekyll build
# Start local development server (serves at http://localhost:4000)
bundle exec jekyll serve
Note: There is no bin/serve script - use bundle exec jekyll serve directly.
Building and Deployment
1
2
3
4
5
# Production build
bin/cibuild # Equivalent to: bundle exec jekyll build
# Deploy to GitHub Pages (manual deployment)
bin/deploy # Deploys from main branch to gh-pages branch
Note: Automatic deployment is handled via GitHub Actions (.github/workflows/deploy.yml). Changes pushed to the main branch automatically trigger deployment.
Code Formatting
The project uses Prettier for code formatting. The GitHub workflow (.github/workflows/prettier.yml) runs automatically on commits.
1
2
3
# Format code manually
npm install
npx prettier . --write
Content Structure
Blog Posts (_posts/)
- Blog posts use the naming format:
YYYY-MM-DD-title.md - Front matter required:
title,date,layout: post,categories,tags,description,image - Use
_templates/post-template.mdas a starting point for new posts - Permalink format:
/blog/:year/:title/
News (_news/)
- News/announcements are stored in
_news/directory - Uses the same markdown format as blog posts
- Permalink format:
/news/:path/
Projects (_projects/)
- Project showcase entries in
_projects/directory - Categories defined in
_config.ymlunderproject_categories
Pages (_pages/)
- Static pages like about, blog index, projects, etc.
- Each page has a corresponding
.mdfile in_pages/
Site Configuration
Main configuration is in _config.yml:
- Language: Japanese (
lang: ja) - Blog name: “Logbook”
- Navigation: Defined in
navbar_pagessection - Collections:
newsandprojectsare custom collections - Plugins: jekyll-archives, jekyll-feed, jekyll-scholar, jekyll-toc, jemoji, etc.
Key Configuration Sections
blog_name: Blog section titlelatest_posts.limit: Number of posts shown on homepage (default: 5)display_tags: Tags shown in the blog sidebargiscus: GitHub Discussions-based commenting system (enabled for Japanese)
Theme Customization
- Color theme: Custom cream color
#F6ECD4defined incolors.cream - Styles: Located in
_sass/directory - Layouts: Liquid templates in
_layouts/(default, post, page, about, etc.) - Includes: Reusable components in
_includes/(header, footer, social, etc.) - Assets: Static assets in
assets/(images, CSS, JS, fonts)
Layout Types
default.liquid: Base layoutpost.liquid: Blog post layout with TOC supportpage.liquid: Static page layoutabout.liquid: About/profile page layoutdistill.liquid: Distill publication format
Special Features
- TOC (Table of Contents): Enabled via
jekyll-tocplugin - MathJax: Enabled (
enable_math: true) - Dark Mode: Enabled (
enable_darkmode: true) - Comments: Giscus (GitHub Discussions) integration
- Search: Built-in search functionality enabled
- Image lazy loading: Enabled
Deployment Workflow
- Push changes to
mainbranch - GitHub Actions workflow
.github/workflows/deploy.ymltriggers automatically - Site is built and deployed to GitHub Pages
- Deployed from
gh-pagesbranch
Files to Exclude
The following are excluded from the build (defined in _config.yml):
_site/(build output directory)bin/,vendor/(development dependencies)- Documentation files (README.md, CONTRIBUTING.md, CUSTOMIZE.md, etc.)
- Docker files
Custom Data Files
_data/schedule.yml: Stores schedule/calendar events data. Events are structured as YAML objects consumed by the schedule page.
Custom Styles
The _sass/_custom.scss file defines site-specific styles:
- Theme colors: Cream color
#F6ECD4for light mode, dark mode colors - Custom components:
.post-card,.weekly-log,.trpg-session,.ml-article - Calendar styles: FullCalendar customization via
.fcclasses - Project cards: 16:9 aspect ratio for
.card-img-top