Blogging as a minimalist

Disclaimer: This is NOT a tutorial.



It has been a long-standing idea or wish to have a blog for myself; under my own domain name and also own the data. This seed has been there since 2019.



The domain was bought in 2021 and then the dilemma kickstarted.
How should my blog page look like ? what is the CMS and technology I should use ?



The Appearance


This is a very personal preference and would vary from person to person.
I have been awestruck by some awesome blogs in terms of appearance.
They have had 3D interactive objects and animation tracking the pointer.
I even ventured out to build an interactive feature using the CSS Painting API (CSS Houdini).
It was a bubble gun which would shoot out random shape-changing bubbles when trigger is pressed.
This is the high end of the spectrum.



There are other blogs without interactive animations but are eye catching, with some cool and trending UI like neobrutalism.



Then there are the minimalists. One of the outstanding blogs that pops off my head is Paul Graham’s blog. It is very minimalistic but filled with rich resources.



The question is how to place myself in this spectrum of appearance. I believe this would be a common dilemma for anyone starting to blog.



But this string of thought leads to the question of who should I identify myself as ? Should I be an aesthetic person or an information person ?



That led to a self discovery that I lean more towards information but I also appreciate minimalistic aesthetics.



So, I now had the clarity and vision for my blogs. Now comes the execution.



Tech for blogs



There are two aspects related to tech involved in blogging.



  • Rendering the blog

  • Content Management System



Rendering the blog



There are plenty of choices now.
But the major categories are



  • Dynamic pages

  • Static pages



They seem to be very old classification but they are even relavant now.
Dynamic pages remind me of the JSP and serverlet days. I believe the current generation would have not heard about it. The blogging world owes it to dynamic pages for the popularity. PHP had a big role to play in it. PHP is what powers wordpress and Facebook still uses PHP. In the current generation, the template engine and the webserver come as a bundle. Examples of template engine are liquid, pug, twig, handlebar. Examples of webserver are ExpressJS, Nginx(with PHP), Apache (with JSP).



There are many moving parts here,



  • Template engine

  • Database

  • Web server



Dynamic pages



Static pages are pre-rendered HTML pages that are hosted in a web server and cached in a CDN for faster delivery. Here the rendering does not happen on user request, rather they are generated during the build process using the data from a markdown page or a database handled by a CMS. Static page is a pretty old concept but the process of generating them with a build has gained more popularity now. Thanks to Jamstack.



Out of these two, my choice was to go with static pages. Just because they have less moving parts and less chances of failing to be rendered. And it seems to be a straight forward tech from my eyes.



Content Management System



CMS comes into manage the data that is used to render the pages. This was made the norm by Wordpress. Frameworks like wordpress, drupal, Joomla, etc have bundled the rendering part along with the Content management. There are many Saas providers that offer the same experience or even better at times (blogger, medium, dev.to, etc).



Then comes the CMS for Jamstack. There are headless CMS that manage the data alone and do not render the pages like the above mentioned CMS.



The CMS part seems too much work for blogging. I need to evaluate them and I should like the user interface and I need the flexibility to add features.



So, what is the tool that I use daily and I am comfortable with?



  • They are the IDEs. I use Zed, VSCode and webstorm. All for different reasons and purposes.(please don’t ask me why)



I had been using github pages for the past few years but haven’t given it the thought to use them as blogging platform. It ticks all my boxes.



For those who are wondering how github would match the user friendliness of a Saas CMS. It actually does. Just replace the .com with .dev in the repo URL to open the repo in the Web VSCode interface. There you can Add and edit files as you please.



Github.dev



The Decision



This thought process led me to choose github as my CMS and the default Jekyll used by github pages to generate the blogs. But since I like to have fine grained control over the appearance and the behaviour, I have written my own layouts.



This process has offloaded a major block in my blogging journey. Thanks for reading.



Feel free to use my home repo as a template for your blog.