A modern, clean, accessible, and fast static site for Nick Dorn (PhD Candidate, Stanford), themed around the pulmonary circulation. Built with Jekyll using only GitHub Pages-approved plugins.
- Pulmonary tree motif with animated SVG hero (respects
prefers-reduced-motion). - Data-driven Publications, Projects, Talks via
_data/*.yml. - Client-side filters (tags/year), accessible components, WCAG-minded.
- Dark mode, high-contrast, and motion toggles.
- JSON-LD for Person and ScholarlyArticle, SEO via
jekyll-seo-tag. - Optional OG image generator (local Node script).
- Privacy-friendly analytics snippet (disabled by default).
- Install Ruby and Bundler.
bundle install- (Optional) For OG generation: install Node 18+;
npm install(see below). - Serve locally:
bundle exec jekyll serve --livereload - Open: http://127.0.0.1:4000
Edit _config.yml:
- If using
<user>.github.ioroot:url: "https://<user>.github.io"baseurl: ""
- If using a project site:
url: "https://<user>.github.io"baseurl: "/<repo>"
- Remove or edit
CNAMEif you aren’t using a custom domain.
- Create a repo and push all files.
- In Settings → Pages, select the
mainbranch and/ (root). - Wait for the site to build. Your site will be at
url + baseurl.
- Replace
assets/docs/resume.pdfandassets/docs/cv.pdfwith your PDFs (same filenames). - Update the HTML mirrors at
pages/resume.htmlandpages/cv.htmlif needed.
_data/publications.yml:title, authors, venue, year, doi, pdf, code, slides, poster, abstract, tags_data/projects.yml:name, summary, tech, repo, docs, demo, tags, featured, order_data/talks.yml:title, event, date, location, slides, video, abstract
We include:
assets/og/template.html(HTML template)assets/js/og-gen.js(Node script using headless Chromium via Puppeteer)
Usage:
# Install puppeteer locally
npm install
# Render template(s) to PNG into assets/img/
node assets/js/og-gen.js