how I write here

Feed
2025-12-11 cloudflaremarkdownxml
meow

People can see what I write on this platform. But they don't know how I write, uh, here. This is what I'm gonna talk about today. I mostly blog and microblog here and, um, these places get updated frequently. (swallowing sound) And the process of publishing from writing till the writeup gets published is almost same in both cases. So I'll be talking about microblogs or what I call them weblogs. So I'm not a fan of cross-posting. I put up my random thoughts on X, mastodon, and some anonymous socials, forums, what have you. But those are just ephemeral thoughts or, you know, what do you call that? Text fights, fights on X, calling out people and all the random things that I can do and I cannot do under my name. So, more serious stuff gets uploaded here. I'm not a fan of LinkedIn and posting on LinkedIn as well, because those corporate, uh, it is a platform for corporate pigs mostly. And most of the stuff is already, uh, that you see on LinkedIn is already being stolen from somewhere else, or the same person is cross-posting. But it's not really a first source of anything but, (coughs) jabs — which is totally fine. So yeah, yap over, coming back to the question of how I post here, right? So I usually microblog stuffs that gets updated a couple of times in a week or more — in weeks when I'm really into writing.

On a high level, I create a markdown page and convert it to html that is uploaded to a github repository from where cloudflare deploys as static page. I use notion for writing and it has an “export as markdown” feature. I will use a post to explain how the whole thing is automated.

markdown draft cropped to the first page

When the draft is exported, I add the front matter (what you see at the top of the post) with title, tags, and all. I save the post as <date-of-publish>-<slug>.md which the markdown parser picks up. slug becomes the url gaurv.me/weblog/posts/< slug>. You might be confused why front matter has title and weblog_title ? title is what gets displayed on the browser tab and weblog_title is- yeah you’re right. These are just conventions I’ve settled with.

The website runs on cloudflare. I upload any media to cloudflare bucket and copy paste the public URL here. what you see in the next html block is a small placeholder for an image. I follow the markdown syntax from bearblog. the thing about markdown is the syntax is mostly consistent and agnostic for core functionalities on the web (whether its notion export, markdown editor or IDE). Once the draft is finalised, I commit and push. This triggers a github actions workflow which runs a “markdown-to-html” python script and add tags. Another script converts the html to xml for atom and rss feed. There is this post where I yapped about why I think RSS feed is important to have for indie websites. This generates the weblog with feed and cloudflare pages deploys the build. The whole process litreally takes less than 5 minutes.