You maybe noticed some articles in your RSS reader are doubled and I apologize for that. I have successfully migrated to the new blog hosting and engine and switched the FeedBurner RSS source.
My blog is now just a bunch of static pages server by github.com pages and you may noticed is is quite fast. I use Jekyll for generating of the content. I was playing around with various addons and forks, but then I went for this plain approach together with Twitter Bootstrap template.
Before I started with migration, I wanted to be absolutely sure links will not change. I found nice script for migration of a Blogger XML export to Jekyll compatible files, so I have improved it a bit to store filenames in the format compatible with Blogger links. It’s called blogger2jekyll.rb.
Actual migration was as easy as running
ruby blogger2jekyll.rb export-file.xml
For those who would like to use my script, please note I have commented out section for Blogger-based comments since I don’t use it. And make sure you set permalink configuration variable to
title : Lukas Zapletal
tagline: linux - life - live!
permalink: /:categories/:year/:month/:title.html
Creating layout and templates was piece of cake since I did not use any dynamic features of Blogger and my comments were already using Disqus. Few pages were also just copy and paste. The last thing was to change DNS and RSS. I also slightly modified a rake task for creating new posts:
desc "Begin a new post"
task :post do
title = ENV["title"] || "new-post"
slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
begin
date = (ENV['date'] ? Time.parse(ENV['date']) : Time.now).strftime('%Y-%m-%d')
rescue Exception => e
abort("Error - date format must be YYYY-MM-DD, please check you typed it correctly!")
end
filename = File.join('_posts', "#{date}-#{slug}.mkd")
if File.exist?(filename)
abort("rake aborted filename already exists!")
end
puts "Creating new post: #{filename}"
open(filename, 'w') do |post|
post.puts "---"
post.puts "layout: post"
post.puts "title: \"#{title.gsub(/-/,' ')}\""
post.puts "date: #{date}"
post.puts "tags:"
post.puts "---"
post.puts "{ { page.title } }" # remove spaces between { and }
post.puts "================"
end
system("/usr/bin/gvim #{filename}")
end
I highly recommend github.com pages. If you are a geek, if you like git, then there is nothing better for simple static pages or even blogs. I hope you will like it.