A week or so ago, I got rid of my dedicated server and handed the clients off to a friend who’s managing the hosting now. It’s a breath of fresh air for me after hosting client sites for the better part of a decade. During this change over I decided to take my sites over to rackspace (this site and gregnewman.org). This was the perfect time to resurect this site. I had done an almost two year experiment to see if mixing code and art in a blog would suffice. It doesn’t. And may warrant another post down the road sometime.
I had been running 20seven off Movable Type for many years and figured it was time to kill it. I wanted something simple so I opted for a static site generator. There’s a lot of good one’s out there. I won’t go into the specifics but my friend Rich Leland wrote a nice post detailing the strenths and weaknesses of most of them. Octopress is what I settled on. Not sure really why, aside from the great logo. Day two and so far I’m impressed.
Ease of Setup
Setting up Octopress was very easy and painless. In all, the setup took less than ten minutes, including importing Movable Type data. Deployment took a little longer but that’s due to having to setup the server.
If you have RVM installed, you’ll need to install Ruby 1.9.2. Macs ship with Ruby 1.8.7.
1
|
|
Clone Octopress, cd into the directory and use Ruby 1.9.2.
1 2 3 |
|
Install the dependencies
1 2 |
|
Install this theme that I’m using for the next few days
1
|
|
That’s the extent of the setup of you’re starting from scratch. There are some configurations for the blog that I won’t cover here but it’s pretty straight forward. There are also a hand full of handy plugins that ship with Octopress, to include disqus for comments.
Look in the docs to find out more and since Octopress is based on Jekyll you can check out some of their documentation as well.
Movable Type Import
I had a lot of posts to import from Movable Type. I setup my database locally and ran the script provided by Jekyll to import the data.
I first had to install the sequel and mysqlplus gems
1
|
|
Then the import was painless
1
|
|
There are a number of importers to include Wordpress, Drupal, Typo 4+, TextPatter, Mephisto, Blogger, Tumblr and Posterous. The [Jekyll docs[(https://github.com/mojombo/jekyll/wiki/Blog-Migrations) have all the info.
Syntax: Markdown or Textile
Since Octopress supports textile and markdown, all my old posts were brought in flawlessly. I always used textile, but thankfully I can now write posts in markdown though.
Writing Posts
Posts are simple to write. Just save the file in the _posts directory with the extension of .markdown or .textile and save.
1 2 |
|
Deployment
I won’t go into all the deployment steps. That really depends on where your hosting and what support you have. I’m using Rsync which was cake to setup and deploying is as simple as writing a post and running the two commands to refresh 20seven.org.
1 2 |
|
Octopress also supports Github pages and Heroku out of the box. If you’re using those platforms for blogging, you can’t go wrong.
What I like about Octopress
I’m tired of having to fudge with databases or coding my own blog platform. It’s much easier to just write a post and serve it up in static files. Why? Because I have the posts in plain text format that are stored in a github repo. No worrying about problems. If something happens, I just redeploy.
Also the fact that the time expense was so small it’s really refreshing. I would say I had no more than an hour total (with server setup) to get 20seven.org back up and running. Now I’m not a fan of the design, but I can fix that later.
Also, Sass/Compass is built in so that’s another plus for css.
What I wish Octopress supported
I wish I could write these posts in restructured text or better yet, orgmode files. That’s a small gripe and one I can live with.