A new website, at last!
23 May 2020
Revamping my old website has been on my to-do list for a very long time! After 15 years of service, it was certainly in need of some modernisation. I finally found some time during the COVID-19 lockdown to develop a completely new site.
My requirements were really very simple:
- To use modern web standards and responsive design so the site looks good on mobiles as well as desktop browsers.
- To have an easy way of displaying my publications, preferably with the option of presenting them to the reader in various different ways.
- To have a page describing my new book and supplementary materials including videos.
- To have a simple form of blogging capability.
Having used popular content management systems like WordPress and Drupal for various projects in the past, I was certain that I did not want to use that kind of database-driven system here. In addition to being overkill for my simple site, version control becomes convoluted when the site’s content lives inside a database and the design and layout exist elsewhere.
After some research into the options, I decided to use the Jekyll static site generator. For my requirements Jekyll hit the right balance between simplicity and flexibility. All content lives in Markdown or HTML files, with the option of storing addition data in YAML files. This means that all materials related to the site are plain text files that can be easily stored in a version control system such as Git. The content files can contain Liquid code to flexibly produce the desired output from general template files. I also used Bootstrap to help with the front-end layout and styling. Overall, it works really nicely.
A significant extra attraction of Jekyll was the existence of the popular Jekyll-Scholar plugin. This takes a standard BibTeX file as input and produces a rendered publications list as output. After a little bit of playing around (thanks to gykovacs’s blog post which helped get me oriented), I got it working very well. Now, whenever I need to add a new publication I can simply add an entry into a master BibTeX file, and deposit extra materials (e.g. a PDF file) with a standardised naming convention into the publications folder, and Jekyll Scholar not only adds it to my publications list (which can be sorted in various different ways), but also automatically generates a details page with further information about each publication. Nice!
I decided to keep the new site fairly lightweight, so there are various bits of content from the old site that I have not ported over. So as not to lose these, I have moved the whole of the old site to a new home and set up redirects in my server’s Apache configuration so the most popular links still end up at the right place.
For further information about the tools I used to build the site, see the colophon.