I finally got around to migrating my site from wordpress to github, and I thought I’d write a small post on how it all went down.
I followed the standard ‘export to xml’ followed by jekyll-import as mentioned in the migrations section in the jekyll docs. It was pretty straightforward, but I did get a nasty error when I first tried to start jekyll:
Configuration file: /Users/ken/dev/git/42cents/_config.yml Source: /Users/ken/dev/git/42cents Destination: /Users/ken/dev/git/42cents/_site Generating... Error reading file /Users/ken/dev/git/42cents/_posts/2010-08-19-pomodoro-technique-and-my-idea-for-a-decent-android-app.textile: invalid byte sequence in US-ASCII Liquid Exception: invalid byte sequence in US-ASCII in 2010-08-19-pomodoro-technique-and-my-idea-for-a-decent-android-app.textile /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/liquid-2.5.0/lib/liquid/template.rb:141:in `split' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/liquid-2.5.0/lib/liquid/template.rb:141:in `tokenize' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/liquid-2.5.0/lib/liquid/template.rb:58:in `parse' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/liquid-2.5.0/lib/liquid/template.rb:46:in `parse' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/jekyll-1.0.2/lib/jekyll/convertible.rb:77:in `render_liquid' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/jekyll-1.0.2/lib/jekyll/convertible.rb:128:in `do_layout' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/jekyll-1.0.2/lib/jekyll/post.rb:285:in `render' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/jekyll-1.0.2/lib/jekyll/site.rb:230:in `block in render' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/jekyll-1.0.2/lib/jekyll/site.rb:229:in `each' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/jekyll-1.0.2/lib/jekyll/site.rb:229:in `render' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/jekyll-1.0.2/lib/jekyll/site.rb:44:in `process' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/jekyll-1.0.2/lib/jekyll/command.rb:18:in `process_site' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/jekyll-1.0.2/lib/jekyll/commands/build.rb:23:in `build' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/jekyll-1.0.2/lib/jekyll/commands/build.rb:7:in `process' /Users/ken/.rvm/gems/ruby-2.0.0-p0@42c/gems/jekyll-1.0.2/bin/jekyll:83:in `block (2 levels) in <top (required)>'
Turns out there was some derpy characters in some of the posts. Not surprising really, but finding them was a bit tricky. First step to finding the garbled data was to get jekyll to start regardless of the non US-ASCII characters by setting this property in my shell:
Then i started browsing the pages and looking for derpy characters in the posts. Although probably not the most efficient way of doing this, I figure it was a one time deal, so manually fixing these characters was OK; It did not end up taking more than 5 minutes anyway. After I removed the derpy characters I simply launched a new shell session to see that jekyll was able to generate the site.
Then it was just to make a layout and port the posts from html to textile.
Although suboptimal, the hack works. If you have a better suggestion, I welcome it. I would love it if I could get a 301 sent from my github pages for those old permalinks.
I also had a subdirectory with a bunch of seam related stuff I wanted to ensure survived the migration. This was easy as cheese. I just placed the same directory at the root of my site, and pushed them to the repository. Worked out-of-the box.
In two simple steps I was able to deprecate the old webhotell and use github pages instead.
Next I went to my registrar and updated the DNS settings. First I moved the webhotell A record to a backup domain. Then I added two A records pointing to the github pages server IP. One for glxn.net and one for www.glxn.net ensuring that www <=> TLD redirects will work.
|12 Sep 2017||Building an executable WS client using maven and metro|
|07 Jun 2015||Deploy an Ember app to gh-pages using npm run-script|
|06 Jun 2015||JSON Contract testing using unit tests to assert full stack integration across REST services|
|03 May 2015||simple http serve a directory from terminal|
|07 Jan 2014||civu, a CLI for cloning git repositories from jenkins views|
|06 Jan 2014||PyramidSort, a Sublime Text plugin for for reformatting text|
|05 Jan 2014||Git commit-message hook for JIRA issue tags|
|31 May 2013||hacking kitchen tiles with coffeescript|
|30 May 2013||Nuke, ps grep kill something|
|24 May 2013||mvnr: recursive mvn command runner|
|23 May 2013||Query By Example for JPA|
|22 May 2013||gitr: recursive git command runner|
|21 May 2013||Keeping gh-pages branch in sync with master|
|19 May 2013||Migrated from wordpress to jekyll and github pages|
|14 Aug 2012||Using Sublime Text 2 as git commit message editor|
|10 Mar 2012||QRGen, a small wrapper on top of ZXING for generating QRCodes in java|
|04 Jan 2012||My Bash PS1 with git branch info|
|17 Aug 2010||Making a swing project using IntelliJ IDEA GUI builder with maven, Including executable jar|
|01 May 2010||Using Arquillian to test against a remote jboss container from within IDEA|
|06 Apr 2010||WELD/CDI lightningtalk from Know IT 2010 annual conference|
|03 Apr 2010||Solving Sudoku using java swing and junit|
|01 Mar 2010||Simple CDI/WELD login example|
|01 Mar 2010||Implementing @RequestParam in CDI/WELD using Qualifier and InjectionPoint as @HttpParam|
|01 Nov 2009||Seam Maven Refimpl|