Welcome to my re-developed blog!
My original blog, started in April 2009 is built on Drupal, a PHP-based CMS. Drupal was an obvious choice at the time, as I’d started using it for projects at work. (The Open University was and still is a heavy user of Drupal.) Building the blog gave me practice developing and configuring the platform. In six and a bit years, I’ve published 80 odd blog posts.
However, recently I’ve not written as much, the design was looking tired, and I was way behind on security updates (no longer). My options looked like:
- A WordPress.com-hosted blog;
- Self-hosting a WordPress-based blog (yes, I like WordPress).
Option 1 is safer, while option 2 offers more scope for experimentation. However, neither necessarily appealed a lot, particularly as I now tend to write in Markdown, then convert when I publish.
His arguments and back-to-basics approach makes a lot of sense. I can’t pretend that I need to think about performance for my blog too much(!), but who knows when a post might get a lot of traffic via Twitter and social media.
Some of the key benefits for me are:
- Security – I don’t need to think about patching the application layer (PHP + WordPress or whatever) – there is none, and the hosting provider (GitHub pages) takes care of the server layer (OS + web server, etc.) and build tools (Ruby + Jekyll);
- Backup / archive – content isn’t locked away in a database; instead it’s in Git (Markdown + YAML frontmatter creates a type of document-oriented database);
- I don’t need to learn Ruby to use Jekyll (though I may later);
- I can experiment, focussing on front-end features. And, the code is in Git straight away (in Drupal I tended to add code to custom blocks – bad, bad!)
My main area of concern is using third-party commenting tools, and any usability and accessibility implications (I hope to talk soon about why I looked at Disqus, but chose IntenseDebate for now).
Here is a quick rundown of some of the technologies and components:
- Authoring posts via Prose.io;
- jQuery-oEmbed for most of the embedded images, videos and similar (plugin);
- IntenseDebate for commenting;
- jQuery for various functionality, including accessibility fixes;
- Other accessibility fixes are in the HTML templates.