Skip to content

Repository files navigation

johnlon.github.io

Source for johnlon.github.io — John Lonergan's personal site: bio, blog, projects and CV.

Built with Jekyll and served by GitHub Pages from main.

Layout

Path Purpose
index.html Home page
projects.html Projects page
cv.html CV (screen theme + print CSS)
blog/ Blog index (paginated)
_posts/ Blog posts, YYYY-MM-DD-title.md
_layouts/ Page layouts (post.html)
_includes/ Shared fragments (styles, carousel, project cards)
apps/vitals/ Landing page + privacy policy for the Vitals app — lives here because the Johnlon/vitals repo is private and cannot serve GitHub Pages
assets/ Images, media, CV PDF
404.html Not-found page
_config.yml Jekyll config

Deploy

  • Push to main. GitHub Pages builds the repo root with its own Jekyll (classic "deploy from a branch" mode).
  • No GitHub Actions workflow, no Gemfile.
  • Live at https://johnlon.github.io/ a minute or so after the push.

Run locally

No Ruby or Jekyll on the host. Use the jekyll/jekyll Docker image, run from the repo root:

docker run --rm -p 4000:4000 -v "$PWD":/srv/jekyll jekyll/jekyll:latest jekyll serve
  • Site at http://localhost:4000, rebuilds on file changes.
  • Output goes to _site/ (gitignored, owned by root because the container writes it).
  • Stop with Ctrl-C.

One-off build without serving:

docker run --rm -v "$PWD":/srv/jekyll jekyll/jekyll:latest jekyll build

Writing a post

  • Add _posts/YYYY-MM-DD-title.md with front matter.
  • Markdown is kramdown (GFM), highlighting by rouge.
  • Published at /blog/YYYY/MM/DD/title/.

CV

  • cv.html is the content source of truth.
  • assets/john-lonergan-cv.pdf is generated from its print CSS with Puppeteer and committed alongside it.
  • Rules and the generation steps are in CLAUDE.md.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages