Guidance for AI agents working in this repository.
Personal site for Ryan Shaffer (ryanshaffer.net), deployed via GitHub Pages from the main branch. The site is a Jekyll static blog built on the Minimal Mistakes remote theme.
Primary content types:
_pages/ (About, Publications, Teaching, archives)_posts/_config.yml_data/navigation.yml| Component | Details |
|---|---|
| Generator | Jekyll via github-pages gem |
| Theme | mmistakes/minimal-mistakes (remote theme) |
| Skin | air |
| Markdown | Kramdown |
| Custom domain | www.ryanshaffer.net (CNAME) |
Do not vendor or fork the theme into this repo. Override theme files only when necessary, using Jekyll’s override paths (_includes/, _layouts/, etc.).
bundle install
bundle exec jekyll serve
_config.yml._site/ (gitignored). Do not edit _site/ directly.wdm for file-watcher support.Verify changes in the browser at http://localhost:4000 before pushing.
_config.yml # Site settings, author, post defaults
_data/navigation.yml # Top navigation links
_pages/ # Static pages (included via _config.yml)
_posts/ # Blog posts (YYYY-MM-DD-slug.md)
_includes/ # Theme overrides (head, favicons)
images/ # Site images (portrait, headers, post figures)
papers/ # PDF copies of select publications
index.html # Home page front matter
CNAME # Custom domain for GitHub Pages
_posts/)YYYY-MM-DD-slug.md---
title: "Post title"
date: 2019-07-07T18:38:30-05:00 # include for original posts; link posts may omit
categories:
- Blog
tags:
- quantum computing
link: https://example.com/external-article # optional; for link/summary posts
---
/images/filename.jpg.link: field pointing to the external source (paper, AWS blog, etc.). Minimal Mistakes renders these as link posts.layout: single with author profile, date, share, and related posts (see _config.yml defaults)._pages/)permalink: and title: in front matter.layout: single unless a different layout is intentional._pages/about.md)._data/navigation.yml)_pages/publications.md)papers/.url in _config.yml is https://ryanshaffer.net; CNAME is www.ryanshaffer.net. Do not change these without coordinating DNS.search: false — site search is disabled. Do not enable without configuring a search provider.comments: true in post defaults, but no comment provider (Disqus, Giscus, etc.) is configured. Comments will not render until a provider is added._includes/head.html (G-GP9ZQ8V3GL). Preserve it unless explicitly asked to remove.Existing overrides:
_includes/head.html — page title format, Google Analytics, main CSS_includes/head/custom.html — favicon and web manifest linksindex.html — home layout with header image (/images/talk-header.jpg)When customizing:
_config.yml and front matter over template overrides._includes/ or _layouts/ only when the theme does not expose a config option.images/./images/filename.jpg (not relative paths).favicon.svg, favicon.ico, etc.).images/ and commit them with the post.main triggers GitHub Pages build.github-pages gem dependency set; avoid adding Jekyll plugins not supported by GitHub Pages._site/, .sass-cache/, or .jekyll-metadata/.bundle exec jekyll build or bundle exec jekyll serve.| Task | Where to edit |
|---|---|
| New blog post | _posts/YYYY-MM-DD-slug.md |
| Update bio/CV | _pages/about.md, _config.yml (author:) |
| Add publication | _pages/publications.md, optionally papers/ |
| Change nav | _data/navigation.yml |
| Site title/description | _config.yml |
| Home page header | index.html front matter |
| Favicon/meta | _includes/head/custom.html, root favicon files |
_site/ output