Vivek Shukla

This Blog

Published on

This post is not going to be very technical. I am just going to talk about my thought process behind implementing and needing various features this blog has.

In a nutshell, a blog is just a log of user’s life that is available over the internet. There are various blog service from free to paid. Even twitter (now X) is a blogging (micro blogging) platform.

This blog is build with Zola, which is SSG (Static Site Generator), which parses Mardown file to generate HTML pages, which you can host anywhere, even for free, however you’ve to be bit technical.

In a SSG there is no database, you just have your markdown files and HTML templates, you can store it anywhere, like me most prefer to use version control system like GitHub to store the blog data.

In the past I have used all sorts of hosting method. I started with Blogspot, which is free blogging service by Google, it’s good but limited. Then I moved on to Wordpress for a good few years, however I didn’t like sometimes I had to be bit involved to manage it. It’s PHP based software and there are a lot of moving parts when it comes to managing it. And it’s certainly not free.

Then I heard about SSG, at first I was dismissive of it, however after some years I came along and moved to Hugo, another SSG which is very popular, one of the top choices for a lot of people. Hugo was good however I didn’t like it’s templating syntax, to me it reads very weird.

At some point I was working with Sveltekit for my work needs, so I though let’s give Sveltekit try since we can generate static sites with Sveltekit as well. I made a blog which also uses markdown to parse and serve the blog. After using this for around a year I moved to Zola (current blog) because the fact that Svelte and Sveltekit are frontend javascript framework, so they change a lot. Just moving from Svelte 4 to 5 was a big change.

After discovering Zola (another SSG) and reading up on it’s docs and other people’s blog, Zola clicked with me because of it’s very intuitive template syntax (I come from Django so!!). So I built this blog with my bare hand from the scratch.

Some of the features of Zola:

  • Generates static HTML
  • Built-in syntax highlighting
  • Load data from files like csv, json
  • Also can load data from remote urls
  • Sitemap generator
  • RSS generator
  • Very poweful concept of Section and Page
  • Highly customizable

After going through all this blogging of around 10 years, I knew a few things I needed. This time I just wanted to write (posts) and so I wanted to keep simple UI but behind the scene all the features one might need.

A brief on all the features this blog has:

  • SEO
    • Automatic handling of meta tags
    • schema generation for structured data
    • OG (Opengraph) tags
  • Post / Article
    • unlisted: makes post invisible in listings, only accessible via link
    • noindex: marks post to be not indexed by search engines
    • posted dated posts: set a later date for post to be published
    • tags: add tags to post around relevant topic

I’ve been very happy with Zola. It does not get in the way and let me just write now. For long I have not been writing, but now I’ve decided to continue writing.