Static Jekyll site for daslab.stanford.edu.
bundle install
bundle exec jekyll serve
# open http://localhost:4000/Lab members can update content directly through the GitHub web UI — no command line needed:
- People: edit a file in
_people/ - Alumni: edit a file in
_alumni/ - News: add a file to
_news/(filename:YYYY-MM-DD-short-title.md) - Publications: edit a file in
_publications/
Each entry is a small markdown file with a frontmatter block at the top — copy an existing entry as a template. Save the change and the site rebuilds in ~30 seconds.
Deployed via GitHub Pages, built by the workflow at .github/workflows/pages.yml. Currently live at:
Two steps, in order:
- Update DNS at Stanford. Have Stanford IT change the CNAME (or A/AAAA records) for
daslab.stanford.eduto point at GitHub Pages. The four GitHub Pages IPs for apex domains are:185.199.108.153,185.199.109.153,185.199.110.153,185.199.111.153. For a CNAME, point atdaslab.github.io. - Add a
CNAMEfile to this repo containing exactlydaslab.stanford.eduand push. GitHub will detect it and provision a Let's Encrypt cert automatically (give it a few minutes after DNS propagates).
Until DNS resolves to GitHub Pages, leave the CNAME file out — committing it early will make GitHub Pages redirect the staging URL to daslab.stanford.edu, which still points at AWS, breaking the preview.
The current site's content was migrated by tools/scrape_content.py from HTML in _scrape/. To refresh from the live AWS site (e.g., after a CMS update):
cd _scrape
for p in / /research/ /news/ /people/ /publications/ /resources/ /contact/; do
curl -sL "https://daslab.stanford.edu$p" -o "$(echo "$p" | sed 's:/:_:g').html"
done
cd ..
python3 tools/scrape_content.pyNote: this overwrites everything in _people/, _alumni/, _publications/, _news/. Don't run it after lab members have hand-edited content unless you're prepared to re-merge.