Why can't we have a blog as code?

I recently decided to start a blog. This blog, in fact. And, while looking for platform options, I found that nothing online really fit my use case. I had a couple of things that I wanted out of a potential blogging platform:

  1. The ability to self-host my blog
  2. The ability to freely adjust and edit the content as I see fit
  3. Rebuild my content from a source
  4. A small footprint to save on hosting costs

After spending a while looking at the options, I quickly realized that what I was looking for wasn't out there in the format in which I wanted it. I also realized that potentially what I wanted was a so-called Blog-as-Code platform. Something that I could validate, build, iterate, and plan. A tool that allows me to store my blog in a Git repo (Other source control is available!) and deploy the blog live with very little hassle.

I use IaC tools in my professional life, and deploying something to the internet without them now feels like I'm playing with fire a little bit!

So why not create the same thing for my Blog. It should, at first, be able to do a number of things:

  1. A user can write content and config as files.
  2. The program reads those files.
  3. The program generates a static blog into a dist/
  4. That dist/ can be hosted anywhere.

I want to clarify here: This is not a full CMS (Not yet!), it currently doesn't support themes, and it isn't a Web Server. It is a static blog compiler.

However, if you are reading this now, it means that I have made Phase 1! This blog is currently being defined in a Git Repo (Other source control is available!), and it is being built through my tool. In a later post I will be talking about how this works and what the build cycle is and all that other good stuff, so stay tuned!

I would also like to stress to the observant reader that this blog may change its layout often. I am writing this blog alongside development. And as such, changes to the build output will affect this site. However, I think that is a good thing! Eventually I hope to have a museum of builds. The content of this site as it was for every release of the tool. So if you are reading this in the future: "Hello! We're sorry for all we have done! I hope it is better there than here."

If as well, dear reader, you could indulge a woman's eponymous fantasies, I would like to discuss the name of my program.

C.ass's

A.utomatic

B.logging &

L.ayout

E.ngine

It's a little bit of a stretch, but I think it works. There are certainly more clunky acronyms out there. (Looking at you V.E.R.O.N.I.C.A)

I think for a first blog post this is all that I have to say. I hope if you do find this and are reading this, you enjoy it. If you don't, there are currently no comments enabled, so good luck telling me!

Happy Deving! - CassIO