hexo(ginal?) Thinking

Giving hexo a shot

I've spun up a fair number of node projects in my time, let me tell you, and Hexo is another one of them.

Working with Hexo has been, for the most part, delightful. There are a couple areas that I think could improve things for some users. As a whole, though, I think the entire experience has been excellent.

This is a 'first impressions' type review, so bear in mind that I haven't fully explored all the various nuances of Hexo and the project as a whole. You may, however, want to read through the docs, issues, project README, and the like before continuing on.

The "Bad"

Starting with the stuff that didn't blow my hair back... it's not really bad it's just stuff that didn't wow me the way the rest of my hexo experience has.

Documentation

It was hard at first to put my finger on it, what I felt I was missing in reading the documentation. Something that I just wasn't quite "grokking", to use the vernacular.

Full disclosure, this is my first time rolling a static site generator of any sort, and I have a few ideas about how I will build a work flow to make it work for a couple of projects I'm working on. (It's probable even this blog will switch over).

My interest in site generators comes mostly from hearing about the speed and performance advantages and low overhead you get when dealing with sites with relatively simple all the way up to extremely complex structures as well as the bandwidth savings that come from serving up static pages. There are also fewer security concerns as well, you can offload a lot of stuff to third parties... well, perhaps I'll write a post on what I see as possible advantages and what have you.

I've heard Jekyl explained and described numerous times including on the great Messers' Rupert and Coiyer on ShopTalk Show.

To me, it feels like the documentation is meant for developers who have used SSGs before and more over, I think users who are coming from Jekyl specifically.

The reasons for this are related to my next "gripe", so to speak.

Non-English Themes

Non-Engish themes and plugins, for example, can make things a little more difficult. If I knew enough about Chinese to be able to properly translate, I would.

This isn't really surprising, when you consider the brunt of the development comes from Tapei and thus Chinese appears to the be the most commonly used language.

There is, however, a cool opportunity and a lot of great sense of 'global harmony' that comes from contributing to a global project like this, which is yet another compelling reason to poke around at it.

The Good

I wouldn't hesitate to suggest this to anyone looking to dip their toe into site generation. Obviously, as I admitted above, I haven't much of a benchmark by which to compare...

It has been a breeze to get up and running with hexo, my own struggles with documentation and inability to understand Chinese aside, and it is very thoughtfully built. The plugin system works well using NPM, and the CLI tools are simple and powerful.

Flexibility

I'm a fan of markdown, but gee golly if I don't think that it's pretty nifty that there are just a glut of choices for renderers available.

NodeJS & NPM

This probably goes without saying, but NPM and Node.JS really make hexo simple to work with. NPM's dependency management is just the bees knees.

Feature-rich and Extensible

From its built in server to it's simple one-command deployment to GitHub or S3 (or wherever else via plugins) and the fact that there's a pretty robust API, hexo has everything you need out-of-the-box or via plugin.

The Verdict

I can say that, while also the first, hexo is the best site generator I've used.

It has had a sort of magic "just works" quality to it. Of course I'll be tearing it down more as time goes on, digging into custom configurations and themes.

Final Thoughts...

I'm working on a couple of small projects with hexo right now, but I see hexo as being a potential go-to in my ever expanding arsenal of tools and framewoks. I suspect that there are a number of ways that I can leverage its power.

Much of what drew me to hexo was that it seems to be gaining a lot traction globally. Again, "global harmony" and all that. I reached out on Twitter and had one local developer report a great experience. So, from Tapei to the Twin Cities, there are good vibrations spreading across the globe!

I'm interested in trying some other SSGs as well, this being my first foray into the Static Site Generator world. However, unless there's there a really compelling reason, I don't see myself digging into anything else for now.

I expect that I'll be following up in the future with my experiences as I experience them.