Boris Mann

Open Source. Community. Decentralized Web. Building dev tools at Fission. Cooks & eats.



  • May 21, 2012

The first post – Welcome to B Mann ConsultingWelcome to B Mann Consulting
Welcome to B. Mann Consulting, a technology consulting firm based in Ottawa, Canada.
Boris Mann is the owner/operator. He does stuff.
– on this site running DrupalDrupal

I now have a CVS account with write access to the Drupal tree. I'm going to be making some changes, starting by going through modules and ripping out any hard-coded styles and moving them into a separate stylesheet.
was November 9th, 2002. The next post was asking for a Dream CMSDream CMS
After what seems like playing with every Content Management System known to personkind, my hopes are shattered.
This site is now using Drupal. Not bad, lots of features, relatively easy to set up, relatively easy to administer (there are cryptic sections), etc. etc.
But what I want is a different front end. “Blocks” are a necessary evil to do some layout – chunks of content or code that can be positioned in different areas.
But wouldn’t it be great if the layout/presentation could be entirely...
. I don’t think I’ve found it with Octopress, but I’m having fun learning the ins and outs.

As of May 21st, I’ve migrated the bulk of the BMC site to Octopress, and am hosting it directly on Amazon S3. The source Drupal site is still up and running at, which is still my recommendation for managed Drupal hosting that is relatively low on custom code (e.g. custom theme + a couple of modules or an install profile). Pantheon or one of Acquia’s hosting options are probably your best bet for larger scale custom Drupal web-app hosting.

I setup the Amazon S3 hosting some time ago, using a couple of blog articles to configure an Amazon S3 bucket to serve up HTML pages directly, and to modify Octopress to include a rake command that deploys directly to S3.

Exporting the posts in Drupal to Octopress-compatible files was both difficult and easy. I fiddled around trying to get a proper local install that would work with the Jekyll / Ruby mysql gems and such. Long story short, here’s what you need to do:

  1. Export your Drupal database (e.g. via Backup & Migrate module)
  2. Install mysql on your local machine - I used Homebrew
  3. Import your database - create a local database and import your exported one
  4. Run the Jekyll Drupal migrator ruby -rubygems -e 'require "jekyll/migrators/drupal"; Jekyll::Drupal.process("database", "user", "password")'

Here is the modified Jekyll drupal.rb migrator I used. I’ve removed the refresh / redirect related generation on nodes, and I’ve added pulling tags / categories from Drupal:

Note that this is for Drupal 6. See walkah’s write-up and drupal.rb for getting this to work in Drupal 7.

You’ll now have all of your posts in the _posts folder (in my case, over 2200 of them over 10 years!). I did all this in a “clean” Jekyll codebase, and then just copied the posts over into the Octopress install I already had running / deploying to S3.

I have lots of cleanup to do, but I’ve had lots of “collateral damage” over the years of moving between Drupal versions and hosts — meaning I’ve already left a trail of tears and broken links in my wake. I spent some time cross-posting between Posterous and my BMC Drupal site, so there is likely to be some back and forth shuffling.

I intend for this site to serve the following purposes:

  • a front page that showcases / points to active content: currently, this is my blog, link blog, and recent Twitter posts
  • a long term archive of content
  • special projects: I currently have a couple of pages hanging out on the blog, but this will likely be a better home

With Flickr starting to look a bit wobbly, I’m going to look at hosting images here directly as well, but that’s for future exploration.

Update July 24, 2014:

I moved off of Octopress and onto “plain” JekyllJekyll
Set env variable PAGES_REPO_NWO to build on [[Netlify]]
Set the environment variable PAGES_REPO_NWO to a repo such as spadebuilders/EIPs if you want to have Jekyll sites build on Netlify.
Posts by Year
{% raw %}
{% for post in site.posts %}
{% capture current_year %}{{ | date: "%Y" }}{% endcapture %}
{% if current_year != previous_year %}
{% unless forloop.first %}
{% endunless %}
<h2>{{ current_year }}</h2>
, using the So Simple Theme. I’m using Dploy connected to a Bitbucket private git repo to maintain the generated site on Amazon S3.