paigenorth.github.io

Academic homepage of Paige Randall North, built as a custom Jekyll template on GitHub Pages (no local build step; GitHub builds on push).

Architecture

  • README.md is the homepage content. GitHub Pages’ jekyll-readme-index plugin serves it at /. This is deliberate: Paige edits only README.md for routine updates (news items, papers, talks). Never rename it or add an index.md/index.html that would shadow it.
  • _layouts/default.html — the single layout: sticky header, nav, theme toggle, footer. The “About me” heading and portrait are injected only when page.url == "/" (sub-pages like midwest/index.md must not get them).
  • assets/css/style.css — all styling. Light/dark themes are CSS custom properties on :root; dark applies via prefers-color-scheme and via [data-theme] set by the toggle (the attribute must win in both directions). html and body both carry background — removing the html one reintroduces a white flash on anchor jumps.
  • assets/js/main.js — builds the nav from the page’s own headings: each # H1 becomes a top-level item, each ### H3 under it becomes a dropdown entry. Nothing to update when sections change. Also: theme toggle (persisted in localStorage, follows OS preference until the user chooses), mobile hamburger, scrollspy highlighting.
  • assets/fonts/ — self-hosted STIX Two Text (regular + italic woff2, variable weight 400–600). Body/content serif; headings and nav use the system sans stack. Do not swap in a CDN link.

Gotchas

  • titles_from_headings is disabled in _config.yml on purpose: logic-seminar-2025.md starts with “# Algebraic theories.” which would otherwise become its browser-tab title.
  • logic-seminar-2025.md has a permalink: /teaching/logic-seminar-2025.html because README links to it at that path.
  • Old standalone pages (ross/, hottseminar/, old-index.html) are static HTML served verbatim — intentionally untouched archives.
  • No Gemfile: the machine’s Ruby (2.6) is too old for modern Jekyll. To preview locally, render README.md with kramdown and splice it into the layout manually (resolve the Liquid by hand), or just rely on GitHub Pages.

Owner preferences (from the redesign session, July 2026)

  • Serious, pared-down look; STIX Two Text chosen for its math-publishing feel.
  • Headings sans-serif, body serif; wide content column (65rem) on desktop.
  • Design must work in both themes and on phones — verify both before pushing.