Redesign Launch
Yesterday, I launched a redesigned version of my site! It was long overdue for a fresh coat of paint. It has also been a long time since I last wrote anything. By redesigning the site I hope it re-invigorates me to write more often. Over the past year or so, I've switched between a few jobs where I've learned a lot of new things and have a lot of new ideas from these experiences, all of which I hope to write about here! Some of the topics I plan on discussing include software architecture, agile methodologies, client-side Javascript development, Java, and of course the world of Ruby and Rails. So stay tuned! To start I'm going to talk about my switch from Wordpress to Middleman as the platform for my site.
Since I decided to redesign my site, I also wanted to investigate alternatives to Wordpress, which is what I was using prior to the redesign. Wordpress is just a bloated mess. Customizing the how the page is configured just feels painful and unintuitive at times (luckily I only needed to do that once when I was initially setting it up). On top of that, I still had to write some of my posts using html in order to get some posts to look right. Now I'm sure if I spent the time to investigate everything a little more this might not have been an issue... Another thing is the site would occasionally take forever to load (even with caching enabled), which is ridiculous since all I was using it for was blog posts. It wasn't all bad, I really like the admin interface Wordpress comes with. It makes it really easy to manage your articles and content. However, it was still overkill for my needs.
A few months ago, I was investigating platforms for my current job to build a redesigned version of our marketing site on. The ones I investigated were Refinery CMS, Locomotive, Comfortable Mexican Sofa, Jekyll, and one I hadn't heard of before Middleman. From this list, I narrowed it down to Refinery, Comfy, and Middleman. I pushed for Middleman, but ended up going with Refinery, the more traditional CMS because it was more friendly for non-technical people to use (and at the time I didn't have a better argument to push Middleman further).
Middleman is super easy and intuitive to use for both simple content pages, semi-dynamic content pages, and blogging. When you build your middleman application it generates the static html pages for you. Now you might be wondering what I meant by semi-dynamic content means if it generates a static page for you. Well, you can store "dynamic" content in yaml files, and you can use this data on your pages! This to me makes it an extremely nice replacement for bulky CMSes like Wordpress. It is still not as user friendly for non-technical people, but I could totally see an interface that allows it to be (might have to do that if there isn't one already...). Middleman also give you a choice between for page templates, including erb, haml, and markdown. I chose to go with erb since it gave me the greatest control over the page structure, not to mention I was already having to do this with the Wordpress version of my site. The flexibility choose which templating option for any page is nice to have.
Middleman also has a pretty good selection of plugins that you can activate for your site. For instance the blogging option is a plugin that you can turn on. When I was still investigating Middleman, I played around with extending it (nothing too crazy), which I found to be really simple and straightforward. I would check out their documentation to see how easy it.
The documentation for Middleman is also really well done. It is easy to follow and concise. And if something isn't in the documentation (it most likely is covered) the code for Middleman is also easy to follow and understand. One reason I chose Middleman over Jekyll for my blog was the documentation. Jekyll's documentation made it seem a lot more of a to do. I think it's more of the way it is written and displayed that makes it seem harder to follow.