I really hate these "first post" posts, yet here I am writing one. So without further ado, I decided to start a blog, and this is my first post. Lets get it over with…
I'm a designer, and just as I'm picky with my design I'm picky with my everything. It'll be no surprise to anyone who knows how pertinently pointed my specifications tend to be that no standard blogging platform satisfied me. Here's why:
- Wordpress is too big (and PHP looks like it was cobbled together by a delirious bear)
- Blogger is a service, not an open source application I can do with as I please.
- RefineryCMS is wonderfully simple and customisable, runs on Ruby (on Rails), but requires the use of a clunky WYSYWYG editor to enter content.
- AnchorCMS allows creation of "art directed posts" where each post can have its own style, and it can look gorgeous (see this blog powered by Anchor: Visual Idiot). My issue was it runs on PHP again, and doesn't support Markdown for blog posts.
- Scriptogram tempted me at first with its simplicity - blog posts are written as Markdown files saved into Dropbox. Easy. But it's a service which allows little customisation, no comments, no categories, no art directed posts, no easy way of embedding images.
- I looked at others, but none seemed to quite fit my criteria (at least out of the box).
My exact requirements were:
- Runs on Ruby; because Ruby is to programming languages as a rose is to weeds.
- Can be integrated into a larger site as I want to have pages dedicated to other things. This likely means the site should be a Rails app with the blog added on as an engine.
- Is open source so no large company can decide to 'sunset' the product.
- Can be customised to suit my exact needs, especially since my requirements could change in a few months.
- Has categories since I plan to blog about a variety of things, and readers may wish to filter down to just the topic they're interested in.
- Allows creation of art directed posts - each post should include its own CSS file that can override the default minimal style.
- Posts are written in Markdown so I don't have to grapple with crusty WYSIWYG editors.
After a bit of googling I found a minimal open source solution that fit my needs. Postmarkdown is a small Rails engine. As the name suggests, all posts are written in Markdown, then simply placed into a 'Posts' folder within the 'App' directory. There is no CMS or admin section; updating the blog simply requires a
git push heroku master from the terminal. This was a breath of fresh air to my ears.
Since it's a Rails engine, I was able to code the rest of the site in the (now familiar to me) Rails way. The Photography page, for example, uses a model to pull photos from the DeviantArt API.
It didn't quite do everything I wanted initially, but since it's so simple and customisable I was able to add the functionality I needed. I changed the load logic so that each post can reside within a folder containing its images and a stylesheet, thus art directed posts are now possible. I also added a few routes and a controller action to enable categories.
Here you are, this very post is being served to you hot from my modified Postmarkdown blogging engine. This post is using the standard minimal theme, while future posts may have their own styles. I'm very pleased with how it has turned out; none of my specifications escaped me. It's refreshingly simple to create posts, so hopefully I wont find any excuses not to do so.
And with that, I end this first post as awkwardly as I started it. I intend future posts to be more fluid and interesting. Hopefully. Bye then!