This repository contains the source for https://cwatson1998.github.io/.
It is a Jekyll site built on top of the Academic Pages template, but this README is intended to describe how this specific repo works now rather than the upstream template in general.
- The homepage is
_pages/index.md. It haspermalink: /, so it becomes the root URL. - Site-wide metadata and behavior live in
_config.yml. - The top navigation is defined in
_data/navigation.yml. - Shared HTML structure lives in
_layouts/and_includes/. - Styles live in
_sass/andassets/css/. - JavaScript source lives in
assets/js/_main.jsand is bundled intoassets/js/main.min.js.
_pages/contains standalone pages like the homepage, publications index, and teaching index._publications/contains one Markdown file per publication._teaching/contains one Markdown file per course or TA entry._talks/and_portfolio/are available collections, though they are not prominent in the current nav.files/contains downloadable PDFs and other static attachments.images/contains profile photos, icons, and other static media.
Install dependencies once:
bundle install
npm installRun the local preview:
bundle exec jekyll serve -l -H localhostOpen http://localhost:4000.
If you change JavaScript under assets/js/, rebuild the minified bundle:
npm run build:jsYou can also use Docker:
docker compose upThe live site is served from GitHub Pages at https://cwatson1998.github.io/.
The Penn site currently redirects to the GitHub Pages site, so the Penn deployment flow is not the primary publishing path anymore. Legacy Penn-hosting notes are kept in DEPLOYMENT.md.
old_html_website/is a legacy copy of an older site and is excluded from the Jekyll build.future: trueis enabled in_config.yml, so future-dated content can appear in builds.- There is a GitHub Actions workflow for regenerating talk-map data, but not a custom deployment workflow in this repo.