Jekyll Setup
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)
- Changed to ISO-8601 dates:
- Add custom 404 page
- Just created a simple
404.html
file in the project root, using thedefault
layout
- Just created a simple
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 executesjekyll serve --draft
- Publishing a draft
jekyll-publish-draft.pl file