Jekyll and other gadgets to manage a static blog
Posted: May 25, 2015
This blog uses a few modules and widgets, which I will present here. I believe individual components can be reused anywhere, so I'm writing them down as references.
Jekyll is Github's static site generator. The principle is straightforward: you compile a set of HTML/Markdown files locally, and you push the build on a server. Static pages can then be rendered by Apache, nginx or another web server without further deployment configuration.
Blog posts are written in Markdown, and converted to HTML.
Jekyll supports many plugins, which give you other means to generate HTML contents, for example from a BibTex file (see jekyll-scholar below).
RSS and Atom
Since Jekyll uses Liquid templating, it becomes easy to generate RSS/Atom content. All you need is a skeleton and a content block which loops through your blog posts. This has been done here for RSS and here for Atom.
You can copy the files e.g. in
blog/feed/, and Jekyll will do the
I also generate an RSS feed which contains only posts in the
category. This way, only selected posts appear on
Debian Planet. To get it, simply filter
your posts in an RSS file:
jekyll-scholar is an extension providing a way to display a list of academic publications. It's highly configurable to easily suit most needs.
Here's how I use it. I have a git submodule named
bibliography in my
Jekyll repository, which contains a BibTex file. This file is parsed
by jekyll-scholar, the content is rendered for every item and fed to a
biblio.html layout (this permits me to generate togglable links for
the abstract and the bibtex).
The pdf files are stored in a
dl/papers/ folder. They are named after
their BibTex id, hence it is easy to generate links to them.
You can find plenty of Jekyll themes out in the wild.
I personnally preferred to write my own one. It's quite easy if you use CSS frameworks like Twitter Bootstrap. Learning the grid layout is fast and permits to get a mobile-friendly site in minutes.
Icons on the left menu come from Font Awesome.
This post will be updated to always reflect a recent configuration. I use it as a notebook if I want to rebuild a Jekyll site. Hope that helps!