I have been thinking about building my website, something to own and share with the community. A loud thinking space where I spew all my not-so-great ideas and random stuff that's interesting to me.
I hate CSS, I have little patience for it.
It's not like I know nothing about CSS, of course like any other developer I have picked up a few stuff. Flexbox tricks, media queries, and thanks to my good friends and co-workers I know how to "center a div". But I'm not productive as a developer in that regard.
I don't call myself "Full-stack". I don't like the whole concept of "Jack of all trades" since a master of one will be always critical to getting the job done. So I'm a JS guy and I'm comfortable with that, I can do Node.js and work on the frontend with any JS framework like Vue.js.
I thought about using any tools available to build my thing. So as a JS guy what is a better fit than a static site generator. To be more specific JAM Stack was the best fit for me. I had some factors to consider before finding my pick:
- Setup and effort. 😓
- Content Publishing. 📝
- Good ecosystem. 🌍
- Sparks joy. 🌟
- The amount of CSS needed to get going. 😖
I took a look at the available tools and I rounded them up to the following candidates.
Nuxt.js was not a good fit for me. We use Nuxt.js in almost all of our projects. While it can be a static site generator it doesn't mean that it should. The whole framework is built to simplify Vue.js SSR and speed up workflows for that goal. Anything less you are using a laser cannon to hit nails. It offered way too much than I needed, I would say over delivered my requirements but not in a good way.
I forgot about the whole thing (or avoided it) for some time. Then I stumbled upon GitHub's personal website generator and it was nice since it had a good starter template and reasonable defaults. That is until I found out it depends on Ruby and Jekyll's, and in my book that is a no go zone. One of the reasons was being forced to have a ruby gems environment on my system and I don't like that one bit, so no thanks!
My search included Hugo which seems to be a very stable and have a huge community around it. Still it seemed too much to dive in at the short time I have. But it is the first candidate that delivers my needs.
Another great candidate was the well known GatsbyJS which scores perfect points on every need I have. All while keeping things simple. It is well documented. It has a wide varity of templates and plugins, a rich community with tons of support. The only downside that it uses React which I'm not comfortable with. You could say I'm a little biased towards Vue.js.
As a Vue.js guy, I took a look at the available solutions like Vuepress, which is an amazing tool for static websites. But currently it is only geared towards building documentation websites. It does an excellent job at it, but it does not offer much help for building blogs. But they are working at it, and - at the time of this writing - there is a draft. While it was easy to setup, it had no content publishing system. On top of that I would need to do a huge amount of work and CSS to get something viable going. I wanted something easier like GatsbyJS.
The second guy was Gridsome which is Vue's gatsby. It satisfies my needs and it seems to have a bunch of nice plugins to get going, not as much as Gatsby though. The most important thing was that it uses Vue.js, I can focus on writing stuff and when I need to do something special, its well within my skill set.
So you must know by now what I picked. In case you don't, roll the drums please...
I picked Gridsome! for now gridsome is the perfect pick for me.