A Jekyll site hosted on GitHub Pages. Content lives in
plain data files under _data/, so most updates don't require touching any HTML.
Almost everything you'll want to change lives in the _data/ folder. Edit a
file, commit/push it, and GitHub rebuilds the site automatically (usually within
a minute).
| What to update | File to edit |
|---|---|
| Team — PI, scientists, students, staff | _data/team.yml |
| Alumni | _data/alumni.yml |
| Publications | _data/publications.yml |
| Research areas | _data/research.yml |
| Protocols & resources | _data/protocols.yml |
| Lab events | _data/events.yml |
The data files are YAML. The rules:
- Keep the indentation (2 spaces) exactly as shown.
- Each list entry starts with
-. - Each property is
key: value. - If a value contains a colon followed by a space, wrap it in quotes.
In _data/team.yml, add an entry under scientists, students, or staff:
- name: Jane Doe
role: Postdoc
photo: images/team/jane.jpg
linkedin: https://www.linkedin.com/in/janedoe/ # optionalIn _data/alumni.yml (kept alphabetical):
- name: Jane Doe
years: 2020-2024 # optional
current: Scientist, Acme Bio # optional
linkedin: https://www.linkedin.com/in/janedoe/ # optionalIn _data/publications.yml (newest first):
- year: 2026
title: Your paper title
authors: Doe J et al.
journal: Nature
url: https://doi.org/10.xxxx/xxxxxIn _data/research.yml. The icon picks one of the built-in SVGs
(helix, nodes, screen, network, cells, shield):
- title: New Area
icon: helix
description: One or two sentences describing the work.In _data/events.yml (newest first; the carousel shows the 12 most recent, so a new entry with a recent date appears automatically):
- date: 2026-05-01
title: "Lab Retreat"
description: "Annual offsite" # optional
image: images/events/retreat-2026.jpg- Put the image in
images/team/. - Reference it in the YAML as
images/team/filename.jpg. - Square-ish portraits work best (e.g. 400×500).
The live site builds on GitHub automatically — you don't need any of this just to publish. To preview before pushing, you need Jekyll once:
gem install bundler jekyll
bundle install
bundle exec jekyll serveThen open http://localhost:4000. (Because the site is now templated, opening
index.html directly via file:// will not render the content — use the
local server, or just push and view the live site.)
- Don't hand-edit
index.html,css/, orjs/for content changes — use the_data/files. _config.ymlholds site-wide settings.- The DNA-helix hero animation lives in
js/main.js.