Welcome to my blog :)
journal techPublished: Tuesday, 16/07/2024
Last Modified: Saturday, 05/10/2024
Well here we are
I have successfully made a working blog, after so long and after 4 gruesome attempts. From the first try, I didn’t really understand what CMS is, and tried to do it without hosting it. Then on my last attempt, I made a Strapi CMS hooked up with a Sveltekit static site generator, which is possible to do, just not ideal. I have always got stuck with something so complicated, and only found it happens in my case or it rarely happens. It turns out, I over-engineered everything from the beginning for such an easy site.
Make it not engineer it
I have always struggled with over-engineering, it is the act of designing and using an overly complex engineering solution for such a simple outcome. By the time I start to code, I am already exhausted with the design I’ve made. I have already grown sick of it. No wonder whenever I’m stuck, I just give up.
Consumers don’t care how you did it
They only care about what they see, there’s a famous quote that goes something like that. I feel like this is a universal engineer’s experience: you show a project you have been toiling for many days, just to get a lukewarm reaction from a friend, because the results isn’t something substantial. From the perspective of that friend, they only see what they see on the screen, and they have experienced something far more technically advanced, for example: Facebook for websites, AAA games and much more. And that friend is probably your average consumer.
For those who care
How did I make this
Mainly a lot of the building blocks are done in the prior attempt, it’s still Svelte, and boy do I love Svelte and its ease to use but it doesn’t have the maturity of React, in terms of its community and its robustness. A huge shoutout to Josh Collinsworth for his excellent tutorial on how to make a static markdown-based blog on Sveltekit, it has helped me and countless others.
Tech stack
- SvelteKit/ Typescript for the frontend
- Tailwindcss/DaisyUI for easy styling
- MDsveX for allowing a Jekyll-like Markdown experience for posts (with a little setup, see tutorial linked above)
- Obsidian for editing Markdown files for posts
Why not dynamic
I do not wish to pay to host a server, though that might be more convenient. Static websites are the way to go if you want free of charge hosting. (Though hosting it on custom domain does cost abit yearly)
I learned
- How to better style frontend with Tailwindcss/DaisyUI
- Making an API for the website to consume, check posts API
- Dynamically importing Markdown files to display
- Publishing the website online through Cloudflare Pages
- Making my repository (where source code is stored) look presentable and tidy with Conventional Commits
Here’s to better creations
It’s a gruesome process sure, but I don’t hate coding, nor do I want to stop now. We should create what we can, and try to create better things, for it is something we can truly call our own. With the rise of AI and its consequences (hmm maybe another topic for another article), I think this matters more now.