Version 4 - from Drupal to Pico

5th Jan 2014

paaat version 4 is now live! It's not a major change from v3 but i changed the cms so it's major enough on the backend.

Setup ~ 2 hours

Pico is designed to be super simple and easy to work with so setup was a breeze. I actually spent more time updating my tools than setting up the site.

Once I had it running locally I added it to source control. Since there's no db I can source control everything. Looking forward to an easy deployment.

Information Architecture ~ 0.5 hour

This was pretty easy given the folder based structure I was able to easy create dummy content with the form i wanted. Since each file is in Markdown and it can contain html, I don't have to worry too much about different types of page or content so no need to create separate database tables or create content types. It was surprisingly easy to cover my needs.

  • The portfolio runs in it's own folder, index and sub pages.
  • The front page blog listing is pretty much the same as suggested on the Pico Documentation with a few improvements.

Content Migration ~ 2 hours

This was surprisingly easy, since I already had all my content as html in Drupal (because I'm a coder and I don't like RTEs) I literally just pasted it into markdown files.

Most of the work was in adding the metadata in the format of Pico and the url aliases as filenames. Converting date formats and such grunt work tasks.

There was some small adjustments to make to the content. The urls had to sometimes be updated or converted to markdown. I've also spend a bit of time converting heading tags to markdown headings. Urls aside all of it would have worked I was just being picky.

Theme migration and update ~ 2 hours

Migrating the theme from drupal to pico was non trivial but as always theming is a length process. Most of the time was spent at the end chasing a few odd glitches and i can now easily improve it later. While I was in there i did some extra work here and there to improve the responsiveness with what i learned in the past year.

  • Setup less with PhpStorm file watchers (custom config of course)
  • Integrated the unsemantic grid
  • Cleaned up the css soup required to deal with the drupal div soup.

This was done alternating with work on plugins, some features had to be setup before they could be styled. Overall i feel I was able to port the whole stylesheet rather quickly.

Plugins ~ 3 hours

Pico already has several handy plugins which made it easy to get some features working. I haven't gotten to try them all so I only setup the ones I thought were esential. Then I moved on to getting the slideshows working again, little did i know...

The plugins I used are:

  • RSS Feed - Because I liked google reader and now I live by Feedbin
  • Pagination - Nice to keep the frontpage small
  • Sitemap - Good for indexing
  • Tags - I had to replace the taxonomy features from drupal with something.

Slideshows as usual took most of the time, and so even that I wasn't concerned with browser compatibility! The drupal version was working with rslider i think, for some reason I decided I needed something new. I was going to go with bxSlider however I thought I would give Swipe a shot. The prospect of not loading jQuery (I didn't use it for anything else yet) seemed good. However once I got some script to load multiple slideshows i realized swipe doesn't have builtin navigation and I didn't want to script my own pagers. So bxSlider it was. I'll probably have to tweak this a bit later.

Total 1 day

A day later I have a whole new site setup. I'm pretty happy with this. I don't have to login to update it, I just work on my files locally and when I'm happy I just deploy it all and I'm done. No worries no DB migration issues.

So we're clear I still love drupal and developing for drupal. I've just come to the conclusion that it was too much for my personal site in it's current form. I want to iterate quickly, work with some cutting edge perhaps less than stable solutions and always wrapping them the drupal way would take too long. Now my site is back to it's original playground philosophy!