From Wordpress to Jekyll
Decided to move the blog from wordpress.com managed hosting over to github.io pages using the jekyll static site generator. My primary motivation was that I want to be able to embed any content on the blog, perhaps some canvas/opengl stuff in the future. I could have gone the self-hosted wordpress route but of course you have to pay a hosting fee and there is set-up involved in doing that.
So far I’m really impressed with github.io, all you need to do is setup a git repo and push any .html file, and right away you have a functioning site. There are limitations, you cant have database or any server-side scripting, but for a normal blog type website like I’m running it serves just fine. Best of all its free.
My only complaint so far is with the jekyll migration process. It provides a migration solution for wordpress.com sites however the html in dumped in the /_posts
folder where all posts reside, was pretty rubbish. Not in markdown format and showed weird metadata above each post, also it didnt copy over images in galleries or anything like that.
I had to go through and fix them up, and in the end I just opted to make .markdown files out of each one, which did take a while.
Overall I’m pretty excited to start blogging again. I’m hoping to embed some cool graphics experiments in the blog and play around with demoing some c++ with emscripten.
Update
I have since learnt that github pages only supports a very limited number of jekyll plugins. Not only that but the error reporting for failed builds is not so great. Took quite a bit of searching around before I realised that a youtube plug-in was causing the build work fine locally but fail on github. A solution is to build all the files locally with the needed plugins and then just send output .html files to the remote repo.
Update 2
I’ve now got the site working with my jekyll plugins. The solution was to have 2 git repos. One which had the jekyll markdown files and another which only has the html output from jekyll. Basically I build the site myself and send just the html files to github.