Site theme

To build this page, I copied and modified the wonderfull Jekyll template written by Trevor Bedford (Bedford lab website).

Source code

All source code that’s necessary to construct the site is freely available on GitHub. All code is placed under the MIT license. You’re welcome to borrow / repurpose code to build your own site, but Trevor Bedford would very much appreciate attribution and a link back to bedford.io from your about page.

Forks

List of websites that use Trevor Bedford’s source code:

Build

The site is built with Jekyll. This allows the site to be versioned on GitHub and, importantly, allows anyone with commit access to the GitHub repository to easily contribute. This makes it possible to have a shared lab blog that multiple people can manage.

Content is stored as simple Markdown files with a bit of YAML at the top. This keeps content mostly semantic and can be easily processed. An example post can be seen here. In addition to including blog posts, simple Markdown files are included for papers and people, in which case the YAML metadata is bit broader, indicating things like paper PDFs or Twitter handles.

I had wanted to make it possible to point the site at GitHub repos and display their contents in a nicely formatted way. These are projects, and in their case, there is no data on them in the site, except for a list of repo names. Project data is pulled in automatically by cloning the project repo and project metadata is gathered using Octokit to access the GitHub API via a preprocessing script. This allows project pages to display things like a list of contributors and recent commits.

Design

Site layout and design is built on top of Bootstrap. This gives a responsive grid to work with as well as a number of useful CSS components like code blocks and nav bars. On top of this I have included:

Deploy

Deployment is done to an Amazon S3 bucket, using s3-website. I’ve written a script to update and deploy the site to S3. I then have an Amazon CloudFront distribution set up to mirror the S3 files across Amazon’s network to improve download speeds. This solution appears faster and cheaper than using other hosting providers and is ideal for serving a static site.