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 Jekyll-based static blog at https://blog.hybrid3d.dev/ covering Computer Graphics, Machine Learning, Quantum Computing, and Software Engineering. Posts are primarily written in Korean.
Common Commands
# Local development server (with live reload)
jekyll serve
# Build with draft posts visible
jekyll serve --drafts
No Gemfile — use jekyll directly (Homebrew Ruby: /opt/homebrew/opt/ruby/bin/jekyll). Ensure PATH includes Homebrew Ruby via source ~/.zshrc.
Required gems (install once): jekyll, bundler, jekyll-theme-slate, jekyll-redirect-from, jekyll-sitemap, jekyll-feed
Architecture
Jekyll Collections:
_posts/— Blog posts organized by category subdirectory (computer-graphics/,general/,hidden/,quantum-computer/,software-engineering/)_category/— Category definition pages (outputs at/:category-name/)_difficulty/— Difficulty level definitions (none,low,middle,high)_image/— Image metadata (output: false)
Layout Hierarchy:
_layouts/default.html— Base template; includes header, footer, analytics, Disqus_layouts/post.html→ extendsdefault.html; adds MathJax, category/difficulty tags, schema.org microdata_layouts/category.html/_layouts/difficulty.html— Archive pages for filtering posts
Includes:
head.html— SEO meta tags, og:image, noindex/nofollow supportmathjax.html— Math rendering (included conditionally in post layout)comments.html— Disqus integration (blog-hybrid3d-dev.disqus.com)
Post Front Matter
---
title: "Post Title"
date: YYYY-MM-DD HH:MM:SS +0900
categories: computer-graphics # matches _category/ filenames
difficulty: middle # none | low | middle | high
comments: true
published: true # omit or false to hide
---
To make a post unlisted (accessible by URL but not listed): set sitemap: false and add robots: noindex, nofollow in front matter.
Key Config (_config.yml)
- Theme:
jekyll-theme-slatewith custom SCSS overrides in_sass/andcss/main.scss - Plugins:
jekyll-redirect-from,jekyll-sitemap,jekyll-feed - Timezone:
Asia/Seoul(KST, UTC+9) - Content width: 800px; mobile breakpoint: 600px
Styling
css/main.scss imports from _sass/: _base.scss, _layout.scss, _syntax-highlighting.scss, _normalize.scss. The site uses the Slate theme as a base with custom overrides.