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
and then initiliased my blog
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.
Pushing to Github
I created a github repo for my blog with
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.