CLAUDE.md — Project guide for noeldjohnson.github.io

This is the personal/academic website of Noel D. Johnson, Professor of Economics at George Mason University (also Mercatus Center, Center for the Study of Public Choice, CESifo affiliate).

Stack & hosting

⚠️ Deploy model: pushing = publishing

There is no CI workflow. GitHub Pages rebuilds and publishes automatically on every push to master. A git push puts changes live. Therefore:

Local preview

Requires a modern Ruby (the system Ruby 2.6 is too old). Ruby is installed via Homebrew at $(brew --prefix ruby)/bin. To build and serve:

export PATH="$(brew --prefix ruby)/bin:$PATH"
bundle install          # first time only
bundle exec jekyll serve # http://localhost:4000

If Jekyll errors about webrick (Ruby 3+), add it: bundle add webrick.

Layout / where things live

Working papers / PDFs

Papers are hosted in this repo under assets/papers/ with stable, dateless filenames (e.g. market-for-ideas.pdf, market-for-ideas-presentation.pdf) so the links on the site never break when a draft is updated.

Noel’s current drafts live in /Users/noeljohnson/Dropbox/circulating/ (dated filenames). To update a paper: copy the newest dated file from there over the stable-named file in assets/papers/, keeping the same destination name. No research-page edit needed unless the title/authors change. Read the PDF’s first page to confirm the exact title/authors/abstract before writing entries or news blurbs.

Older papers still link to Dropbox URLs; migrate them to assets/papers/ opportunistically.

Home page news

The “What’s New?” feed lives in index.html (newest first). Keep only the most recent item(s) there; move older ones into _pages/news.html (the /news/ archive), preserving reverse-chronological order. Entry format: <p> <strong>M-D-YYYY</strong>: … </p>.

Conventions

Icons

FontAwesome 6.7.2 and Academicons 1.9.4 are loaded via CSS in _includes/head/custom.html. Use fab fa-fw fa-<brand> for FA brand icons and ai ai-fw ai-<name> for academic icons (e.g. ai-google-scholar, ai-orcid).

Analytics

Uses GA4 via the google-gtag provider (_config.ymlanalytics.provider, analytics.google.tracking_id = G-S9976Q8MZ9, anonymize_ip: true). _includes/analytics.html is the stock theme provider-switch; it only renders when JEKYLL_ENV=production, so analytics never fires during local jekyll serve. The old Universal Analytics id is retired/commented.

Known cleanup items (as of 2026-07)