Hi, as promised, I will tell you how I setup this blog from scratch.
Using online blog platform certainly is the easiest one. But personally I felt that it is more challenging to setup my blog from scratch using certain framework, getting my hands dirty to new stuff 😛. But, I also don't want it too demanding and costly, like setup my own DB and having my own server just to have my public blog. I consider it as an opportunity to learn something new for me.
There are 3 things that I certainly want for my blog setup:
- It supports markdown format.
- Also I want to have a backup mechanism out of the box
- Cheap. I don't want to spend $3-$5 per month just to rent private server/hosting.
So, at the end I chose to use static website generator approach. Most static page generator framework supports markdown format and recommend to have git as version control of the post content. Git can be thought as backup solution: I can put it privately or publicly in GitHub, GitLab, etc and also have the copy of it on my laptop.
Also, to host my blog, I want to utilize GitHub or Gitlab Page to host my own blog. This is to cut down the cost, to be exact: no server cost at all.
Choosing Static Generator Framework
Without much hesitation, I chose Hugo....
Yup, you don't read it wrong. I just chose Hugo due to the fact it's written using Golang, a native compiled language and the binary doesn't mess up my local environment. Jekkyl on the other hand is written using ruby (an interpreter language) and I have had bad experience on ruby environment on Mac OS (my laptop).
Another thing, it's faster, I like the fact it's faster although I don't need it :P. I understand that I won't be producing like 1000ish number of posts.
GitHub Page vs Gitlab Page
Choosing Hugo as my blog content engine comes to 1 consequence: only Gitlab Page support Hugo with Gitlab CI to automate the process publishing the website. On the other hand GitHub Page only support Jekkyl.
Actually I can use both, but I have to spend more effort on the CICD thing when using GitHub and no seamless experience on that yet. Gitlab basically offer the simplicity by providing Hugo Blog Template and Hugo CICD template, that's a win for me 💛 (at least in the beginning)
Next post, I will write how to bootstrap the blog until I can publish it publicly to internet. Stay tuned!