So, I re-did my blag
Wasn’t this blag dead?
No, not really. Around the time I stopped publishing here, my life started going faster. Things happen, you face adversity, you overcome hardships, you get rewarded for your efforts, you get setbacks, you repeat the cycle, and suddenly, it’s been nearly 10 years. I didn’t stop writing entierly, I dropped a few articles into my gemlog (HTTPS mirror), I had other, more personal creative outlets but this blag laid dormant.
Will it fully come back to from its slumber? That is left to be seen. I have however one article, albeit pertaining to the blag itself.
How was this new version made
This new version of my blag has been made using Astro. It’s written using the astro component format (and markdown for the actual content) and it’s getting compiled into static html/css. At the time of writing, there is no JS being served on the online version and the home page is 5kB.
I’ve had the opportunity to use Astro in my professional life and I believe for the right project it is extremely powerful and is going in the right direction for the Web. It encourages you to only have as little dynamism in your page as you need, which in my case is none.
Functionally, I could have made this small blag in pure HTML and CSS. The upkeep wouldn’t increase much and I would have saved a bit of that “initial” development time. However it does come with a few bells and whistles that are making my life slightly easier at the cost of large dependencies: my node_modules directory is 139MB (for a website!) which is not big by today’s JS projects’ standards but is larger than most video games from my childhood.
What does it have?
A modular templating system that’s actually simple! I can write HTML. I even considered my templating system to be a template folder and a bunch of short shell scripts that would allow me to initialize articles or mash project parts together. In my experience, in the CMS and static site generator worlds tend to be either completely lacking in useful features or so complex that manipulating them slows you down significantly. Getting to that sweet spot is extremely rare. Nevertheless, because Astro is a Javascript framework; I have access to a simple yet powerful templating system. I can write arbitrary code and use it to generate the output I want, seemlessly.
There’s also an RSS Feed. It’s not anything special to have one but it’s a sine qua non condition for me to have a blag with an RSS feed. I want people to be able to subscribe to my blag using an open standard with many implementations.
Next is Markdown with integrated metadata. I’m not refractory to the idea of using another markup language but that characteristic of the integrated metadata within the same file is something I’ve been wanting for a while. Asciidoc is another example of a good simple human-focussed markup language. Gemtext from the Gemini is also great albeit minimal.
And the last one on my list, at the moment is drafts. It took me 5min to write drafts into the blag. I am not exagerating. My draft system is literally an optional field in my article metadata and a lambda that filters out drafts.
What does it not have?
The following code was present in the default webpage header template from Astro’s default blag template:
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:url" content={Astro.url} />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:image" content={new URL(image, Astro.url)} />
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:url" content={Astro.url} />
<meta property="twitter:title" content={title} />
<meta property="twitter:description" content={description} />
<meta property="twitter:image" content={new URL(image, Astro.url)} />
After a very short reflection, I realized I do not wish for my words to be catered to social networks. I barely expect to be read at all but if I may use that verb, I seek to write articles that are pleasant for humans to read, not for search engines to index or a social network to market. They are after all just websites. I have read many websites, still active to this day that predate those and will still be there afterwards.
I am not one to shun others for the way they communicate. We’ve seen great art, ways to communicate and social movements come out of this interconnection but I believe they came in spite of the platforms on which they were hosted. People a lot more articulate than I am have expressed the ills of these platforms better than I could do, so I will leave it at the fact that I do not wish to encourage those walled gardens to flourish. Come on, make your own blag, it’s fun. Your background could be blurple.
The second feature I chose not to have, or to be more precise not to use is inline pictures. It’s trivially easy with the variant of markdown that Astro uses but I simply do not see the point. I like writing and reading. Words are the blood of this blag why would I want clots? I’m harsh, jokingly so, but I had a need for illustration pictures in two of my articles so far. In that case, people can click on those links if they feel the picture will add to what they’re reading or they can ignore them, undisturbed.
Words must flow. (Probably not Frank Herbert)
What does it not have that I wish it had?
Less dependencies. Using any Javascript (or most other languages) library comes at a cost. Ecological, security, maintenance, you name it. My needs aren’t much, I could write all that I need myself, it would just take a lot more time (and bugs).
Why not use something simpler?
I did, then stopped. The first blag I hosted was running on Wordpress. Even back then, it was a lot, so I started used Dotclear. I found one in the wild yesterday! That made me smile that they’re still up. Then I tried other things.
I have no recollections what this blag was running on when I first started it. The Wayback machine tells me I was using Textpress. I don’t remember what I liked or disliked about it. That was a decade ago! Then I switched to a static site generator whose name I can’t find on the archived version. Then, finally, I moved to Coleslaw. It was great, fun, and then updating it to get the new features after a major version got released became a quagmire, at least in my mind. So here I am with my new Astro-based version.
Why do we do the things that we do? Why be efficient when you can have fun? Hey listen, the plan was to re-write it all in Lisp.