Blogger to Jekyll + Github pages

20 Aug 2013

On Aug 15, I moved my whole blog from blogger to jekyll. I thought It will be easy to migrate but restoring the whole urls was really painfull.

Getting Started

So I started with installing jekyll

  gem install jekyll

and then initiliased my blog

  jekyll new blog.revathskumar.com

Importing

Now I need to import all my existing blog posts from blogger to jekyll. I used a import script by @kennym.

As per the script instructions I took my feed url from blogger and passed to the script, I thought oh! ya I am done. But I was wrong, the feed contained only half of my blog posts.

I thought I am lost, Then I exported the whole blog from blogger and tried to pass into the import script, but import script didn’t accept the exported blog.

So I need a way to convert this exported blog to feeds. Then I put the exported blog in my dropbox and provided the public link to feedburner and tried to generated a new feed url with all the posts.

Hooray, It worked a new feed with all my posts and worked well with the import script.

Configuring

Then I update premalink option the _config.yml for custom permalink setting as same I followed on blogger.

name: Revath S Kumar
markdown: redcarpet
pygments: true

permalink: '/:year/:month/:title.html'

Pushing to Github

I created a github repo for my blog with

  hub create blog.revathskumar.com

Hub is a command line wrapper for Git. The above command will create a repo in my github account and add the git url to my remote.

Then I created a new branch named gh-pages. In order to publish blog with github pages your branch name should be gh-pages.

Then I did my initial commit and push to the gh-pages branch. Now I can see my blog in revathskumar.github.io/blog.revathskumar.com.

Custom domain

Configuing custom domain is easy. Since I am using subdomain for my blog, I went to domain control panel and set the CNAME for the subdomain blog.revathskumar.com as revathskumar.github.io.

Then I added a file named CNAME, with content blog.revathskumar.com in root directory and pushed.

The more details of custom domain can be found in Official Github pages doc.

After a bit of time blog.revathskumar.com started showing my latest blog on github pages. \o/

Then I verified all the exising urls and new urls and make sure no links are broken and went to bed.

If you find my work helpful, You can buy me a coffee.