CLAUDE.md — ecoclassical.github.io
CLAUDE.md — ecoclassical.github.io
Context for Claude Code when working on this repository.
What this site is
Personal academic website for Oriol Vallès Codina — ecological macroeconomist and computational social scientist at Johns Hopkins University / Net Zero Industrial Policy Lab.
Live at: https://ecoclassical.github.io
Technology
- Jekyll with the academicpages theme
- Hosted on GitHub Pages (branch:
master) - Deploy:
git push origin master→ GitHub Actions builds and serves automatically - No local build required to preview minor edits, but
jekyll serveworks via Docker (docker-compose.yaml)
Repository layout
_config.yml Site-wide settings (title, author, social links, plugins)
_data/
navigation.yml Header nav links (CV, Publications, Talks, Teaching)
authors.yml Author metadata
_pages/ Markdown/HTML pages
about.md Homepage (permalink: /)
cv.md / cv.html CV page
publications.md Publications listing
talks.md Talks listing
teaching.md Teaching listing
non-menu-page.md Template for pages NOT in the nav (permalink-only)
_publications/ One .md per publication (used by publications.html)
_talks/ One .md per talk
_teaching/ One .md per teaching item
files/ Static files served as-is (no Jekyll processing)
timbuktu.html Research library portal (~6 MB, self-contained)
projects.html Personal projects dashboard (bookmark-only, not in nav)
publications_timeline.html
publications_donut.html
workplan/workplan.html
images/ Images referenced by pages
assets/ JS/CSS theme assets (don't edit unless theming)
Author profile (sidebar)
Defined in _config.yml under author:. Key fields:
- name: Oriol Vallès Codina
- bio: Ecological macroeconomist and computational social scientist
- location: Poughkeepsie, NY, US
- employer: Johns Hopkins University / Net Zero Industrial Policy Lab
- uri: https://www.netzeropolicylab.com/
- email: oriolvallescodina@gmail.com
- googlescholar, orcid, researchgate, linkedin, github: all set
Nav menu
Controlled by _data/navigation.yml. Current nav: CV · Publications · Talks · Teaching. To add a page to the nav, add an entry there. To keep a page out of nav (bookmark-only), give it only a permalink: in front matter and do NOT add it to navigation.yml.
Hidden / bookmark-only pages
Pages in files/ are plain HTML — they are served at https://ecoclassical.github.io/files/<filename> without going through Jekyll. This is the pattern used for:
files/projects.html— projects dashboardfiles/timbuktu.html— research library
Jekyll _pages/ files can also be hidden from the nav but will still appear in the sitemap. Prefer files/ for truly private pages.
Adding a publication
Create a file in _publications/ following the pattern of existing entries (e.g., 2024-02-17-paper-title-number-4.md). Front matter fields: title, collection, permalink, excerpt, date, venue, paperurl, citation.
Standalone HTML files in files/
These are self-contained (no Jekyll, no external CDN dependencies). When creating new ones:
- Embed all JS/CSS inline or use system fonts / no external resources
- They work when opened via
file://locally as well as over HTTPS - Do NOT add Jekyll front matter (no
---block) — they are served as static files
Timbuktu relationship
timbuktu.html in files/ is generated by the separate R pipeline in ~/Documents/R/timbuktu/. To update it:
cd ~/Documents/R/timbuktu
Rscript 11_timbuktu.R
cp timbuktu.html ~/Documents/R/ecoclassical.github.io/files/timbuktu.html
cd ~/Documents/R/ecoclassical.github.io
git add files/timbuktu.html && git commit -m "Update timbuktu portal"
git push origin master
See ~/Documents/R/timbuktu/CLAUDE.md for the full Timbuktu pipeline context.
Deploying changes
cd ~/Documents/R/ecoclassical.github.io
git add <files>
git commit -m "Description"
git push origin master
GitHub Pages rebuilds automatically. Changes are live within ~1–2 minutes.
