stevenkuhn.net a special blend of windows, linux, and .net with a touch of randomness

27 Aug 09 1

Migrated from Drupal to GitHub Pages

Last night I officially moved stevenkuhn.net from my Linode-hosted Drupal site over to GitHub Pages. Drupal is cool to set up and for more complicated sites it makes tasks easier to accomplish. However, for my simple technical blog, I found that certain simple things (such as attaching images to posts) were unnecessarily complicated. Yes, other systems are more geared for blogging (like WordPress), but after seeing GitHub Pages, I wanted to try a new approach.

Unlike Drupal, WordPress, or other dynamically driven CMS/blogging engines out there, GitHub Pages serves only static html pages. There is no database. There is no server-side environment running like PHP or ASP.NET. While on the surface it may seem pretty insane not to use a dynamic site since static pages are exactly that, but that’s where the beauty of Jekyll comes in. What is Jekyll? A brief overview from Jekyll’s readme file:

Jekyll is a simple, blog aware, static site generator. It takes a template directory (representing the raw form of a website), runs it through Textile or Markdown and Liquid converters, and spits out a complete, static website suitable for serving with Apache or your favorite web server. This is also the engine behind GitHub Pages, which you can use to host your project’s page or blog right here from GitHub.

I’m not going to dive into the details of Jekyll because there are numerous sites that explain it already. However, a few advantages I like about Jekyll are:

  • No caching system is needed since there is no database.
  • No longer tied to a WYSIWYG textbox. I’m free to write my posts in any text editor of my choosing.
  • Offline support. Running Jekyll locally will run a local webserver which can be used to view changes without being connected to the internet.
  • Complete control over the html. I like to be able to change the html easily without messing around with php templates (as I did with Drupal).
  • Static pages can look and act dynamically with the various javascript libraries and APIs available.

So far I’m impressed with how the site has turned out. My next plans are to add my twitter feed, an archive section, and paging support for the front page. The source of my blog is available on GitHub; feel free to take a look!

Comments (1)
  1. Just out of interest, does the word 'git' have the same meaning in the US as it does in the UK? If it does then there are some serious marketing issues here.


Leave a comment