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 reloadquarto 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 (themelitera, output dir_site/, header includes).draft-mode: unlinkedmeans draft pages render but aren’t linked from listings.index.qmd— homepage.blog.qmd— auto-listing ofposts/(sorted by date desc).listings.qmd+listings/— curated reading lists.papers/— CV and papers page.posts/<slug>/— published blog posts. Each is a directory withindex.qmd, adata/subdir for figures/assets, and optional per-postreferences.bib. These are whatblog.qmdauto-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 intoposts/to publish it.- Long posts may be split across files:
posts/<slug>/index.qmdcarries 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). Seeposts/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 ownreferences.bibviabibliography: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.qmdwith YAML frontmatter includingtitle,date,categories, and (if cited)bibliography: references.bib. Use_wip/<slug>/while drafting. For WIP posts insideposts/(e.g. published slug but not ready), adddraft: trueto the frontmatter. - Do not introduce a Node toolchain — the empty
package-lock.jsonis deliberate.