New Blog Tool

Published on

Wordpress is pretty good. It has served me well over the years, but it is often overkill for what I really need in blogging software. And though the chore of keeping it up to date is pretty easy these days it is still a chore and a potential significant headache if not done.

Inspired by the concept of doing more at the compiler level I started researching static site generation tools. The idea is that it is massively simpler to be able to host just the files of my site instead of needing a running PHP server and a database. Lighter weight, less of an attackable target, etc, etc.

One major benefit of a CMS like Wordpress is the ease of composing new posts and getting them fit into menus and linked up and everything. This was all a big hassle back in the plain ol HTML days, but now with static site generators streamlining a lot of the boiler plate we don’t really need this. Composing posts in markdown rather than html, is easy enough for me considering I never really utilized the WYSIWYG editor in wordpress much anyway, and then menus and links and such are all taken care of automatically when you generate the site from the markdown files.

I had tried Wintersmith a while back for Spine.js documentation site, and while I love some of its ideas, and had no problems with it back then, I just can’t feel great about the longevity of Coffeescript based projects these days, no matter how much I may lament the decline of such a nice dialect. I looked at Cobalt given some of my playing with Rust in the last year, but practically speaking, I am not looking to do much in developing or hacking this tool. I just want something ready to use. So, for now at least I am going with Hexo. It seems like a relatively mature project, and utilizes node which I already have installed, plus it has a bunch of themes and plugins ready to use.

Combining Hexo with GitLab and Netlify seems to check all the boxes for me. Git being in the middle here means I automatically get backups to local or can just as easily push up from local, GitLab has decent web text editor so doing posts on mobile devices is still workable. and Netlify integration with git hosts like GitLab means deploys are dead simple/automatic.