For many years I have been running a blog on Wordpress and it has worked pretty well up until now. I guess there has been a gradual change in how I use tech, and this brought me to the realization that for me using Wordpress is kind of cumbersome. Some might find that a mighty odd statement considering the amazing effort the Wordpress core team and contributors have commited, so I’ll try to elaborate.
My days tend to be kind of stuffed, and that means that there is not a whole lot of time to sit down and write a somewhat meaningful and coherent post for a blog. Most of the times I do have time to write something I am on a plane going somewhere. And since it is not given that the airplane I am on has wifi, writing directly to a Wordpress-blog is pretty much out of the question. I could write the text in a textfile and edit, format and publish whenever I am online again, but that really doesn’t work since I usually have to go do stuff at that time anyway.
Enter this new blog. The new blog is hosted on Github Pages using Jekyll, and is a super-smooth and very nice stack for me to work with. The quick rundown is that you write markdown, check that everything is 100% awesomesauce while still working offline, commit your changes to the repo, push to github (when online again) and all of a sudden your pages are updated publicly. This means that I can write, preview, reformat, etc while still being offline. Since I use an scm like Git I can commit locally also while offline and simply do a
git push whenever I have a working connection again.
The following benefits are the main selling points for me:
- 100 % offline workflow (write -> revise -> commit -> push)
- free (as in beer) hosting (thanks Github!)
- live local preview (
jekyll serve -w)
- hazzle-free deployment (
git push origin master)
- history of changes (
git log -p)
So how did this new blog come about? I basically followed this excellent writeup on how to get up and running with Jekyll, Poole and Github Pages in addition to a post on how to deal with short urls, both by Joshua Lande / @joshualande. From there it was pretty easy going.
The next big thing was importing the contents of the old blog into the new, and in that process convert the WordPress posts to markdown that Jekyll and Github would play nice with. That on the other hand is the subject of a later post.
All in all I am pretty happy with the current workflow. If you have any tips or suggestions on improvements then please let me know in the comments below.