Hi, seperti janji saya sebelumnya, di post kali ini saya akan menceritakan detil setup blog dari awal.

Pada awalnya, ada beberapa opsi solusi nge-blog yang saya pertimbangkan: antara menggunakan platform blog online terkenal seperti Wordpress.com dan Medium, atau pilihan lainnya membuat blog pribadi dari scratch alias bikin sendiri.

Menggunakan opsi platform blog online pastinya opsi termudah. Tapi, saya merasa lebih sedikit menantang kalau bikin sendiri aja dengan memanfaatkan framework blog/website yang banyak komunitasnya, sekaligus menjadikan saya tetap hands on ke hal-hal baru. Untuk opsi bikin blog ini, walaupun menantang, saya juga tidak ingin pembuatan dan maintenance-nya sangat demanding dan mahal, seperti misal harus setup database dan punya server sendiri. Intinya: tidak mahal (kalau bisa gratis), tapi juga menjadikan ini sebagai kesempatan belajar hal-hal baru.

Ada 3 hal yang saya inginkan dari blog ini:

  1. Penulisan konten mendukung format Markdown
  2. Hal-hal berkaitan dengan blog (konfigurasi, kontent, dll) disimpan di sistem yang sangat durable, punya mekanisme backup
  3. Murah. Agak malas kalau perlu mengeluarkan duit sebesar 50rb-100rb rupiah tiap bulannya untuk menyewa server dan database.

Jadi, saya memutuskan memilih solusi Static Site Generator (StaticGen). Kebanyakan framework StaticGen sudah mendukung format penulisan Markdown. Mereka juga merekomendasikan untuk memakai Git sebagai version control untuk segala hal berkaitan dengan website atau blog. Ya, Git bisa dibilang sebagai solusi simple backup data-data kecil seperti konfigurasi dan kontent blog, bahkan asset gambar dan video sekalipun dalam jumlah terbatas. Dengan memilih Git, saya dapat memakai Git hosting gratis seperti GitHub dan Gitlab, selain itu saya juga dapat memiliki kopian-nya di laptop pribadi.

Oh iya, di GitHub maupun Gitlab, ada fitur GitHub Page dan Gitlab Page, bisa hosting konten statis di sana tanpa biaya sama sekali 😄

Memilih Static Generator Framework

Setelah melakukan riset, akhirnya pilihan framework StaticGen mengerucut jadi 2 saja: Hugo or Jekyll. Kedua pilihan ini karena jumlah Star di GitHub repo terbanyak. Jekyll lebih populer, namun saya tetap memilih Hugo.

Kenapa Hugo?

Karena Hugo dibangun dengan bahasa Golang, sebuah bahasa pemograman native dan hasil binary-nya tidak akan bikin kacau local environment di macbook saya pribadi. Yup, saya punya pengalaman buruk mengutak-atik ruby environment di macbook saya; ruby adalah bahasa yang dipakai oleh Jekkyl by the way.

Memilih Hugo sebagai blog engine, saya dihadapkan satu konsekuensi (yang masih oke menurutku): hanya Gitlab Page yang mendukung Hugo, yang menawarkan seamless integration dengan Gitlab CI untuk proses otomatisasi publikasi website blog saya. Kebalikannya, GitHub Page hanya mendukung Jekkyl saja 😢, tapi tidak apa-apa.

Sebenarnya bisa saja saya menggunakan GitHub Page, tapi effort yang digunakan akan lebih menyita waktu dalam hal membangun CI/CD, GitHub belum punya offering CICD yang seamless dengan GitHub Page. Gitlab sebaliknya lebih simpel: mereka punya Hugo Blog Template dan Hugo CICD template, itu saja sudah cukup memenangkan hati saya ❤️

Bagaimana menurutmu? Apa konsiderasi kamu dalam memilih platform blog? Mohon ditulis di kolom komentar di bawah ya 😄

Post berikutnya saya akan menjelaskan cara bootstrap blog dari awal hingga bisa diakses lewat internet. Ditunggu ya!