I wanted to use a basic or a 2 column Jekyll theme, but they were either to basic or had a lot of overhead. So I used the default theme, made some minor changes and created some scripts to help with post-creation.

Theme

I tried to find a basic (minimalistic, mostly text, Stack Problems was probably the closest) or a 2 column Jekyll theme (something like Lemma). But all of them were either to basic (almost just text) or had a lot of overhead involved (far from minimalistic). That or I just got bored.

So I decided to use the default theme, which was actually pretty close to what I wanted, it just needed some minor changes

Changes to the default theme

Add excerpts

Changed the <li> element in index.html to include the excerpt of each post:

{{ post.excerpt }}

Display tags in post list

Downloaded a tag icon SVG

Created an include file icon-tag.html (based on the span from the icon-gibhub.html file)

<span class="icon">{% include icon-tag.svg %} {{ include.tag }}</span>

Then, also in the <li> element in index.html, loop over the tags in the post (post.tags) and use the icon-tag.html include:

{% for tag in post.tags %}
    {% include icon-tag.html tag=tag %}
{% endfor %}

Add favicon.png

in _includes/head.html:

<link rel="shortcut icon" type="image/png" href="/favicon.png">

Minor changes

  • Remove RSS
  • Fix date time format
    • Changed to ISO-8601 dates: %Y-%m-%d (2016-05-28) instead of %b %-d, %Y (May 28, 2016)
  • Add custom 404 page
    • Just created a simple 404.html file in the project root, using the default layout

Creating posts

Creating a draft seems pretty simple: create a .md file in the _drafts folder, setup some front matter and run Jekyll with the --drafts switch. When you are happy with it, add the date to the file, and move it into the _posts folder, remembering to rename the file based on the YEAR-MONTH-DAY-title.MARKUP format.

Since this all seemed very manualy, I created some Perl scripts to help setup and manage Jekyll posts

  • Creating drafts
    • jekyll-new-draft.pl [title]
  • Serving, with draft posts, using Jeykill
    • jekyll-serve-draft.pl, which executes jekyll serve --draft
  • Publishing a draft
    • jekyll-publish-draft.pl file