CLAUDE.md

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

What this repo is

Personal website/blog published at https://rtviii.xyz, built with Quarto. The CNAME file ties the GitHub Pages deployment to the custom domain. package-lock.json is intentionally empty — there is no Node/JS toolchain; Quarto is the only build tool.

Commands

  • quarto preview — local dev server with live reload
  • quarto render — full build of the site into _site/
  • quarto render posts/<slug>/index.qmd — render a single post

Architecture

Authoring format is .qmd (Quarto markdown). Site structure:

  • _quarto.yml — single source of site config (theme litera, output dir _site/, header includes). draft-mode: unlinked means draft pages render but aren’t linked from listings.
  • index.qmd — homepage. blog.qmd — auto-listing of posts/ (sorted by date desc). listings.qmd + listings/ — curated reading lists. papers/ — CV and papers page.
  • posts/<slug>/published blog posts. Each is a directory with index.qmd, a data/ subdir for figures/assets, and optional per-post references.bib. These are what blog.qmd auto-lists.
  • _wip/drafts. The _-prefix means Quarto skips it during render, so drafts stay in the repo but never ship to _site/. Move a directory from here into posts/ to publish it.
  • Long posts may be split across files: posts/<slug>/index.qmd carries the frontmatter and uses {{< include _sections/NN-name.qmd >}} to pull in section files from a _sections/ subdir (underscore prefix prevents Quarto from rendering them as standalone pages). See posts/mmcif/ for the pattern.
  • _includes/ — shared layout partials (_navigation.qmd, _listing_layout.qmd) referenced from frontmatter.
  • _templates/default.html — custom HTML template.
  • molstar_assets/index.js — Mol* 3D structure viewer bundle used by some structural-biology posts.
  • refs.bib — top-level bibliography; individual posts use their own references.bib via bibliography: in YAML frontmatter.
  • _freeze/ — Quarto’s frozen computation cache. Generated; do not hand-edit.
  • _site/ — build output. Generated; do not hand-edit.

Conventions

  • To publish a new post: create posts/<slug>/index.qmd with YAML frontmatter including title, date, categories, and (if cited) bibliography: references.bib. Use _wip/<slug>/ while drafting. For WIP posts inside posts/ (e.g. published slug but not ready), add draft: true to the frontmatter.
  • Do not introduce a Node toolchain — the empty package-lock.json is deliberate.