Note that all of the tools used to build this page are horribly out of date, but I'm never re-writing this webpage, so deal with it.
Most pages are just Markdown files that you can edit directly.
News Items and Blog Posts
For both long-form blog posts and short news updates, we use Jekyll's blogging system. To post a new item of either type, you create a file in the [_posts directory][postsdir] using the naming convention
YYYY-MM-DD-title-for-url.md. The date part of the filename always matters; the title part is currently only used for full blog posts (but is still required for news updates).
The file must begin with YAML front matter. For news updates, use this:
--- layout: post shortnews: true ---
For full blog posts, use this format:
--- layout: post title: "Some Great Title Here" ---
And concoct a page title for your post. The body of the post goes after the
--- in either case.
Building and Deploying
Note that Jekyll no longer supports Red Carpet markdown. To compile this webpage, install an older version of Jekyll.
The requirements for building the site are:
- [ruby]: use a package manager, e.g., with Macports
sudo port install ruby
- [rbenv]: use a package manager, e.g., with Macports
sudo port install rbenv
- [Bundler]: run
gem install bundler
- Jekyll: run
gem install --version 3.8 jekyll
- [Python]: we're still using python 2.7, so install that
- [Pip]: use package manager, e.g., with Macports
sudo port install py36-pip
- Pybtex: run
pip install pybtex
- bibble: included as a submodule. Because git is cruel, you need to use
git clone --recursive URLor issue the commands
git submodule init ; git submodule updateto check out the dependency.
- ssh and rsync, only if you want to deploy directly.
make compiles the bibliography and the website content to the
directory. To preview the site, run `jekyll serve`` and head to
To upload a new version of the site via rsync over ssh, type
If you use an alternative Python when building the bibliography, use