TNYCHN

The /dev/stdout for my programming thoughts.

Hello World

3 Nov 2021 · 4 min read · 660 words
Let the blog begin: why and how I started blogging.

This is my first blog post ever! Please forgive my writing skills (english is not my first language).

Welcome!

🎉 Welcome to my site! I’ve finally got this site working just as expected and reached a point where I was satisfied with the looks and feels of the final result. Though I realized I’ve spent too much time on the styling rather than the content. So at last, I decided to make up my mind and settle on this design, and hopefully, it isn’t too awful to look at.

To be honest, I don’t expect this site to have much traffic. People most probably won’t give a shit to a random guy’s writing about programming and other stuff. But then why did I want to start blogging and put so much time into creating this site in the first place? Perhaps it’s because of my “programmer instinct”. I always strive for perfection, especially in programming-related stuff (though I admit this bad habit of mine has become too extravagant that it starts to affect my daily time management). But still, I want to make a proper record of what I’ve learnt along the way by blogging, kind of like keeping a diary.

So anyway, to mark the beginning of my blog, let’s talk about the creation of this site…

Choosing an SSG

The first step to creating a static site is to choose a static site generator (SSG). I’ve heard of Gatsby and Jekyll before. But I wanted to keep my site simple and minimalist with as little JavaScript used as possible, not to mention I’m much more proficient in Go than JavaScript and Ruby. So I chose Hugo, because it’s said to be the world’s fastest, and most importantly it’s “100% static”, which means it uses the traditional way to generating pages, unlike Gatsby which uses GraphQL and React to fetch and render pages. This makes Gatsby unnecessarily bloated and overcomplicated as I believe most blogs won’t need these features. On the other hand, Jekyll seems like an old-school choice to me (doesn’t look as modern as Hugo). So now the best option left is Hugo, and I’m pretty happy with it so far.

Theming

The next and the most important step is to define how your site looks. I initially started out by looking at the Archie theme and the Cactus theme. But then I realised I don’t like the feeling of being limited. Not that I’m blaming the inflexibility of the themes, but I want full control of my own site. So instead of doing the tedious task of customizing others' themes, I decided to write my own unique theme that suits my taste (despite my lack of confidence in CSS styling). Although it seems much more tedious, the process is rewarding enough. I can feel the improvement in my HTML & CSS skills.

I aimed to make a theme that allows readers to focus more on the content than the design of the site. I didn’t use any CSS frameworks, just plain HTML & CSS. And the only JavaScript libraries I used are Feather (for the beautiful icons) and KaTex (for the math typesetting). Since I was inspired by the “simple and geeky” appearance of Archie and the rich functionalities of Cactus, you may see some of the similarities have been fused into my site’s design.

What’s next?

Oh, can’t believe you’re still on this page! Thank you for reading all of my verbose bullshit.

Some might be curious about how I set up and configure the site. That would be the content for another post.

Most of my posts here in the future will be related to programming, which will include more code blocks and showcases. Also occasionally some writeups for future events such as CTFs.

I will write in my free time. Please stay tuned if you enjoyed my content!

If you’ve found something wrong, feel free to leave a comment below to correct me.

comments powered by Disqus