As I mentioned in my post yesterday, I’m wanting to redesign my site. It is serviceable right now, but it’s lacking any sort of personality. And I like sites with personality.
For this move, I think I’m actually going to back away from my decision to use Hugo, and instead will consider the other possibilities. Hugo is fine. In fact, it’s really good for a lot of reasons. But most of those reasons don’t really resonate with my needs right now. Being able to build tens of thousands of posts in a second or two is cool, but if it takes a full minute instead that won’t impact me at all.
What does impact me though is the architecture of Hugo and the templating engine. I just doesn’t love it. And if I’m going to be spending a decent amount of time trying to make a cool site, I want to do it in a tool I’m actually enjoying using.
So which static site generator to use?
Usually the first place I look is at StaticGen which has all of the latest and greatest static generators. But this time, I have two competitors in mind: GatsbyJS & Gridsome. They are both essentially the same tool, just GatsbyJS (which came first) uses React whereas Gridsome (a GatsbyJS clone) uses Vue.
Both frameworks are pretty funky in that you use GraphQL to actually load the static content into your pages rather than using the traditional templating systems most other static site generators use. A lot of people really don’t like this, but I actually like it since it makes it much easier to expand beyond simple markdown files. When creating a #creative site, why limit yourself when you can instead open up limitless possibilities?
That being said, it is more of a pain to actually get things going. Creating a static template for Hugo is rather simple.
Gatsby or Gridsome?
This one is not a straightforward decision for me. I like both React and Vue, though given the choice, I prefer Vue. It makes more intuitive sense to me and some of the complexity you get in React is abstracted away in Vue.
But on the other hand, Gatsby has a much more mature ecosystem with lots of great resources that make it easier to do anything you would want to do. Gridsome is still new on the scene, so the ecosystem is rather small at this point.
So this decision comes down to preferred framework vs ecosystem size.
For now I’m going to go with Gatsby. I played with it when it first came out and have done the same for all of its major releases. The ecosystem has grown massively and there are plugins to do pretty much anything. I hope Gridsome eventually gets to this point (at which point I will probably switch), but I’m not the greatest developer in the world (or even that good of one), so it’s useful to use the tool that the majority of people are using.