As described in my previous post, I decided to replace my CommunityServer setup with a static site generator. Being a vivid GitHub user, the first choice was GitHub Pages. GitHub Pages allows you to commit your site to a repository and let GitHub serve it using Jekyll.
I won't go into detail how to setup Jekyll or GitHub Pages. You'll be able to find enough information in the internet. Phil Haack, a much better story teller than me, wrote an article about his migration from SubText to Jekyll. He also gave advice how to preserve all comments with Disqus.
So my first step was to get the data of my existing site out of CommunityServer and into a format that Jekyll understands. Keyvan Nayyeri wrote once an extension for CommunityServer to download the content as a BlogML document (a standarized XML format for storing blog content).
Then I found BlogMLToMarkdown, a command line tool transforming a BlogML document to markdown documents ready to be consumed by Jekyll.
However, I had to tweak that tool for my needs. Amongst others it
- downloads all images, attachments, and other files hosted on my old site and changes the referencing links,
- fixes redirects, and
- exports all (approved) comments to a
disqus.wxr, ready to be imported into Disqus.
If you're interested you can see my fork at Github.
After I transformed my blog and tweaked the style (it's based on Hyde), I committed it to a GitHub repository, where it was happily hosted.
However, this setup had some drawbacks, which I will discuss in another post.