JavaScript CSS HTML Python PHP
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

This is the source code of my website. It's built on Jekyll, but has been expanded to also do things like:

  • Make including images in blog posts convenient.
  • Minify and optimize everything possible.
  • Feed your dog and take him for walks.


gulp to build.

Jekyll is only one component of the build process. As such, this should not be used as a "github" website. Other build targets include:

Target Effect
blogimages Process all blog images.
blogimages-clean Remove all images created by blogimages.
blogimages-clean-originals Process all images and remove the originals.


  • The grid framework, structure of LESS files, typography and many other parts are from the Bootstrap project.
  • Some SVG assets are from FontAwesome
  • All code snippets are attributed by comments preceding their use.

This is released under the The MIT License, in the hope that someone finds it useful.



Gone are the days where this section would be "A cheap web host that supports PHP and hasn't turned on mod_security." This requires:

Package What it is
nodejs Node.js. May be called node.
npm Node Packaged Modules
rubygems RubyGems
imagemagick ImageMagick


  1. Install the dependencies.
  2. git clone
  3. Run npm install to automatically install other dependencies. This will take a while.
  4. Install gulp globally with sudo npm install -g gulp
  5. Install Ruby dependencies via RubyGems with sudo gem install jekyll redcarpet


Blog images

Known Issues

  • When building blog images, images that already exist are written again. Since these images are not regenerated, the performance penalty is small. The fix would be to copy the stream and filter the files before writing them, in this place.2
  • Nonexistent error handling.