I finally migrated from Wordpress to Jekyll. It wasn’t difficult but not easy either so I decided to write my experience in this blog.
I’m assuming that you setup a basic Jekyll site: _config.yml
, _layouts
, _posts
, etc. A good start is to clone
mojombo jekyll site and remove the _posts
and images
.
Although the
Jekyll wiki describes how to use converters
to
migrate from Wordpress I didn’t follow that path because it requires direct access to the Mysql database.
So I found a migration script posted to Issue #20 that uses the Wordpress XML export as input. The script had a couple of problems, it didn’t handle international characters in the title, and it didn’t honor the original permalinks in WordPress.
So I modified it to fix those thing
To use it you need to have a wordpress.xml
file in the same directory where you run the script and you need to modify the ORIGINAL_DOMAIN
in the script to reflect your own. It will dump the published WordPress posts and comment as jekyll
textile files in export/_posts
.
The comments will be translate to a
YAML file: export/_posts/comments.yml
. If you want to import the comments to
Disqus you can use the yamlcomments2disqus.rb
script to import it.
The only thing that you need is to create a file called API-KEY
in the same directory as yamlcomments2disqus.rb
and write there your
Disqus API key. The script will automatically post all non-spam comments to Disqus using
Disqus API. The comments thread for each post is identified by the original Wordpress <wp:post_id>
so then you have to add the following <script>
along with the disqus regular javascript code (you can find it in http://disqus.com/comments/universal/<your site>/
) in your
layout.
I include here my
_layouts/default.html
, _layouts/post.html
, atom.xml
and sitemap.xml
for reference