The AllenNLP website is for the most part a static website. There is
no CMS driving any of the content. However, the site is using html
abstraction (in the form of includes) to make it easier to edit and
maintain. Includes are not a feature of static html, so this abstraction
is being handled via Jekyll.
Since the AllenNLP website is hosted on GitHub Pages, Jekyll was the logical choice, as GitHub supports Jekyll out of the box. More about GitHub Pages and Jekyll
Jekyll is a simple, blog-aware, static site generator. It takes a
template directory containing raw text files in various formats, runs it
through a converter (like Markdown) and our Liquid renderer, and spits
out a complete, ready-to-publish static website suitable for serving
with your favorite web server.
Since GitHub Pages has deep integration with Jekyll, they make it
very easy to run Jekyll sites on their servers. You don't need to
configure anything or monkey with build processes. GitHub does that all
automatically. You simply push your files and GitHub does the rest.
Here's a tutorial video that outlines Jekyll basics and how the system works.
Modifying the Website
In order to make changes to the website you need to checkout the master branch on the allennlp-website repo. The process for making changes is: