This is a static site built with Jekyll and hosted on Google App Engine in the EU. Jekyll, and its site template on which this site was based, are licenced under the MIT licence1. If you want to learn how to manage your own site in the same way, or are simply curious, then read on for details.

Frontend

Cross browser support for the HTML5 <details>/<summary> tags was provided by details_shim, which is also licensed under the MIT licence1. The associated stylesheet was modified to match the look and feel of this site.

Icons were taken from the Open Iconic icon set, also under the MIT licence1.

The markup was done in HTML5 and Markdown; the stylesheets were preprocessed by SASS.

Encryption

Your connection to this site is encrypted over HTTPS using a free SSL certificate from Let’s Encrypt. This helps ensure that you are actually connected to our server and that the website content is not being modified in transit by a third party.

Build and Deployment

Updates are applied to the site in several stages:

  • source files are compiled by Jekyll;
  • output files are deployed to a private staging area for testing;
  • if necessary more changes can be applied, and the above steps repeated;
  • finally, the changes can be made public by deploying to the main site.

These steps can be run manually with the help of a Makefile, but are also configured to run automatically on GitLab CI.

Indeed, every time an update is pushed to the website repository on GitLab, a build process automatically starts in a Docker container and deploys the new site to a private staging area. If the results are satisfactory, the changes can finally be deployed to the public site by a second Docker process, triggered by a single click in the GitLab CI interface.

If you want to manage your own site in the same way, you can find some boilerplate code on GitHub based on our setup.


1 A generic copy of the MIT licence can be found here; each project’s licence can be also found in its respective Github repository.