Welcome to my blog. This post will describe how I built it, and what tools I used.
Posts series about this blog will have title starting with “Commit:”.
In my recent years, I developed a few WordPress websites, and I know how it is working with CMS solutions. I would’ve used one if there were more authors on this blog, but for only me as a single author, the statically generated website seemed more appropriate.
Why static site generator?
When you have a presentation or blogging site, using server rendered or even worse, browser rendered single page application (SPA), you are doing it wrong. Those architectures are there to give you the ability to interact with the website which is in this case not needed. I would like to have a contact form which requires a server side processing, and I will try to do it using a serverless architecture. Until then, simple mailto:
link will do.
If I used CMS solution like WordPress or similar only for the contact form and maybe a list of the most popular articles, it would’ve been overkill. It would slow down my blog a lot, and give me a headache with database and plugin updates, security, hosting management, etc. It would also make it more expensive.
Nothing can beat static Web page concerning speed, which is what I’m concern about. I hate staring at the white page or loading spinner if I try to read a simple blog or news article.
You may have heard a phrase “WWW is getting slower.”. More and more sites are using heavy front end frameworks, ending with few megabytes of JavaScript and CSS.
The average site is now 2.1 MB in size – two times larger than the average site from three years ago, according to data tracked by HTTP Archive.
Also, more and more people are using handheld devices to access articles on the Web. They are often using a poor 3g connection or event 2g. Downloading those 2.1 MB data can take a few seconds of waiting, and no one likes to wait. They will probably leave and try to find a similar article.
My blog is trying to give them something to read with a minimal payload and waiting.
Which static site generator?
This site was very helpful for choosing the right static site generator. I opted for Hexo because I’m most familiar with Node.js, and it’s the third most popular solution. I would’ve chosen Hugo if I planned to have a lot of articles because it’s developed in Go which I think is faster in generating pages because of the programming language performance. Why not Jekyll? Well, not sure… Hexo seemed to meet my needs, so I didn’t give Jekyll a try.
Blog theme
I wanted something simple. Just a list of blog posts, without categories, and archives. Also wanted my information at the sidebar on all of the pages (Yes, I like to stare at you while you’re reading my article 😉). And I wanted something fast, with minimal render-blocking JavaScript and CSS scripts.
So I read some docs and developed Simperlog Theme in one day.
Stay tuned for more blog posts about performance, hosting and web application architecture.