TL; DR

Stackbit is fine if you want a modern and static blog, in less than 1 hour, without (or with minimal) web programming knowledge. It’s something like WordPress, but better, newer and a bit less advanced.

But if, as for me, you know how to build a website and you are looking for something you really own, with a minimal, ordered your way repository, without a flood of commits all with the same message that means nothing to you, in that case you probably are not looking for this solution.

Read also my conclusions.

How I got here

So, I decided to open a blog.

And I decided this time I must not use WordPress.
Don’t get me wrong, I love wordpress because it’s easy to use for everyone, even for those with no computer skills, but the performances are not the best and between PHP and JavaScript the choice is pretty obvious.

In this way I would have gotten something more under my control, linear, with understandable code and easy to customize.

I opted for a more modern solution. A static blog, written in Markdown, possibly compatible with GitHub Pages (although I prefer to host sites on my vps).

I have evaluated some alternatives, including Jekyll, Hugo and Gatsby, and I end up choosing Jekyll since is probably the most used, it seems clear and easy to use, and is the easiest way to reach GH Pages compatibility.

After googling a bit for a theme and for some hint about an easy configuration, I decided to use my old Stackbit Beta invitation. Many static blogs rely on a JAMstack manager, and many of the articles I read suggested doing so to get you started quickly and without problems. It was also a while since I wanted to give Stackbit a chance and thought it was the right time. After all, I would maintain the flexibility of Jekyll with automatic management, right?

Wrong.

But this time it was my issue, not Stackbit.

What Stackbit is

Probably the problem was that it wasn’t so clear to me what Stackbit really is. I wasn’t able to find many opinions or detailed tutorials about Stackbit. And I ended up hoping that it will be exactly what I wanted, but it wasn’t.

Stackbit is a JAMstack manager, but its work is to link different services together.

Themes

You start from choosing a theme. At the time I’m writing there are 14 themes available, and many scheduled as coming soon. The available themes do not allow a great choice, but I appreciated that they covered a great variety of site types: blog, portfolio, multi-page site, home + blog, single page, mobile-centric website, and so on.

The good news is that it’s possible to use your own theme, the bad news is that you have to write it yourself using Uniform and Unibit.

Yes, that’s right, not having found a nice Jekyll theme, you have to modify it to make it work with Stackbit.

To be honest, reading the docs it doesn’t seems too complex, but I was determined to put a blog online as quickly as possible and I decided to rely fully on Stackbit, using one of the ready-made themes.

One thing that is not too clear is that it is not possible to change the theme once chosen (or at least I did not succeed). This is rather limiting: if I wanted to update the theme of my blog I would have to create a new one and migrate the contents?

Site generator

After choosing a theme is time to choose the static site generator. The three option currently available are Jekyll, Hugo and Gatsby. VuePress and Hexo are the nexts and Next.js and Gridsome are coming soon.

I opted for Jekyll, hoping for a GitHub Pages support.

Nope.

No GitHub Pages, yet.

CMS

Third step: how to manage your contents. The content management systems choice is a bit wider: Forestry, Netlify CMS, Contentful and Dato. Prismic and Sanity are the nexts, Ghost is missing (sigh 😢) but it should arrive soon.

I chose Forestry because it was among the most used. I searched for some comparison with Netlify CMS, but without success, so I preferred to keep myself on the classic.

It’s interesting that you can also choose to not have a CMS and eventually connect it later, manually.

Deployment

The sore point. Actually, you can’t choose.

Your repository can be hosted on GitHub, GitLab and BitBucket, but GitHub is the only one available at the moment. So, you like GitHub, or you love GitHub. That’s it.

The build and deploy section is even worse. The choice is between GitHub Pages, GitLab Pages and Netfly. But, again, Netfly is the only one enable. Since you like GitHub (otherwise you would have left at the previous point) you may like also GitHub Pages, but no. You can’t, yet.

However we must consider that Stackbit is still in beta, when the other services will also be enabled this will probably be its strong point.

Conclusions

The thing that disappointed me most is the impossibility of modifying the stack once created.

Doing it by hand (the old way, by acting on the code) shouldn’t be complex, but it requires you to give up Stackbit, and reconfigure the services by hand, which we probably don’t want to do if we chose Stackbit.

Otherwise we can create a new stack, duplicating the previous one, and change the theme, the git provider or the build and deployment service. Than we must manually migrate the contents and should work. I’m not sure that will be so easy also in case we change the CMS (but should) and site generator. Especially in this latter case the post migration will probably require more attention.

The things is that this operations should be performed by Stackbit itself!

My experience

I found Stackbit fine if you want a modern and static blog, in less than 1 hour, without (or with minimal) web programming knowledge. They do what they promise.

But in my case I was looking for something that helps me in managing the JAMstack, with me, not something that managed it for me. The stack can be managed either by you or by Stackbit, but together… there is no place for two leaders.

The other thing that does little for me is the fact that the theme was already ready. I probably should have chosen to use a custom theme. In this way I could organize the repository on my own, always according to the guidelines, but in a way that satisfied me (and my autism) more.

Probably I will recreate this blog from zero, creating a theme by myself (for Jekyll, without using Uniform), using GitHub Pages instead of Netlify, and using the ready-to-go GitHub Action for the build process.

Forestry CSM

My Forestry experience is not related to Stackbit, hence I decided to talk about it separately.

IMHO, the Forestry editor is a bit poor. In writing this article I felt some of this lacks, in particular:

  • The impossibility to set an anchor link: you can do it manually (thank you Markdown) but the beautiful UI option where is?
  • The impossibility to add a video: you have to upload the video on GitHub manually, and then add it (manually, again) via video tag. Okay, Markdown doesn’t support videos, but it supports HTML5! As I simple put the code to embed a video, in the same way the editor should do this for me.

But the thing that has annoyed me the most is that doing the blog setup required 28 commits from Forestry, without publishing any article. This is the main problem about Forestry for me. Every time you want to change settings page you have to save. And every click on the save button is a commit.

Hence, forget to use the repository in the right way. It’s a Forestry storage, nothing else. You save a draft? Commit. You save a draft 10 times? 10 commits. And your commits, like “Fix wrong alignment in theme” go lost.

A better management of commits would be with branching. But you have to set up it manually. For example if Forestry pushes on a branch, you could build this branch for a real-time preview, and then squash merge the current branch in the master branch. All your small changes will be collapsed in a single significant commit. And then you will publish the build based on the master branch.

I’ll evaluate this configuration for the future, but I’ll probably opt for a local CMS, and then manually commit my changes. Or maybe skip the CMS directly, edit the blog template by myself and write posts in plain Markdown with VSCode.

The last word

I would like to leave these conclusions open. This is my first opinion about Stackbit and Forestry, but I’ll continue to use them until I’ll have the time to develop a better solution.

At this point I’ll write my new conclusions: will it have been worth it to implement a JAMstack by hand, or despite the flaws Stackbit will still become a good compromise?

I’ll also provide you new thoughts about Forestry, providing my experience with some alternatives.