Blogger2Jekyll
This tool will help you migrate from Blogger / Blogspot to any static site generator that uses YAML front-matter such as Jekyll / Octopress / Ruhoh / Nanoc.
Also see How to migrate from blogger to jekyll / ruhoh / octopress with proper redirects
Basic usage
Export your blog
- Login to Blogger
- Go to your blog's settings
- Go to Templates
- Change your template style to "classic" (temporarily) (it will keep your customizations saved)
- Go to Settings, Other
- Export your blog
- Change your template style back to the new one
Run blogger2jekyll
on your downloaded export
Install NodeJS
-
Follow the following:
npm install -g blogger2jekyll blogger2jekyll /path/to/blog-dd-mm-yyyy.xml /path/to/posts mv /path/to/posts/ /path/to/pub/posts/ blogger2jekyll-server 8080 /path/to/pub/ /path/to/pub/posts/
Might also be like this
npm install -g blogger2jekyll
blogger2jekyll ~/Downloads/blog-16-06-2004.xml /tmp/public/posts/
ls /tmp/public/posts/
blogger2jekyll-server 3000 /tmp/public/ posts
blogger2jekyll
reads in posts and comments from the xml file
(defaults to fuzzy searcing in the current directory for blog-*.xml
)
and outputs them to the specified output folder (defaults to blogger-posts
)
If you don't care about handling blogger redirects properly, and your static site generator supports the permalink
front-matter directive, you're done.
Just to be sure, check
However, if you're going to handle proper 301 redirects and or your static generator
does not handle the permalink directive, you'll probably wanna glance over the code
in blogger2jekyll-server
(or even use it directly), which
uses fuzzy redirects if it can find a name similar to
the one it was searching for in the directory it expected to find it in.
For Example (if the posts directory is simply p
)
GET /p/normal.html -> /p/normal.html
GET /p/title-of-blog-may-be.html -> /p/title-of-blog-may-be-truncated.html
GET /p/fun-with-osx-10-8.html -> /p/fun-with-osx-108.html
GET /p/this-post-really-doesnt-exist -> 404'd!
Advanced Usage
Open up the converter and modify it to meet your needs. It's very few lines of code and very straight forward.
git clone git://github.com/coolaj86/blogger2jekyll.git
cd blogger2jekyll
find .
vim lib/index.js