Sebelumnya cizzu.com menggunakan ghost sebagai blog engine-nya, menggunakan server ubuntu yang di host di Linode, dengan biaya kurang lebih $10 - $12 per bulan. Dengan status sekarang yang sudah berkeluarga, rasanya pengeluaran segitu cukup lumayan juga πŸ˜… apalagi servernya memang digunakan hanya untuk cizzu.com saja, tanpa ada service atau aplikasi apa-apa lagi.

Table of Contents

Static Web Page

Setelah pikir-pikir, alternatif apa ya yang bisa mengurangi pengeluaran di atas, solusi yang simple, mudah dan perubahan yang tidak terlalu banyak. Setelah baca sana-sini, sepertinya membuat web yang sifatnya statis (static web page) bisa menjadi solusinya.

blog

Apa itu static web page? Secara singkat, static web page adalah halaman web yang disajikan apa adanya dalam bentuk html. Apa adanya disini berarti halaman web yang disajikan sudah didefinisikan sebelumnya, tidak dinamis seperti web-web pada umumnya. Ini berarti server hanya menyimpan file html saja, tanpa perlu database, dan webserver untuk mengelola datanya.

Dulu, Pada awal perkembangan internet hal ini wajar dilakukan, karena memang belum ada server side processing/scripting seperti PHP, ASP, dll untuk membuat web dinamis. Namun seiring berjalan waktu, web yang kita ketahui sekarang rata-rata adalah web dinamis yang memerlukan web server untuk mengelola datanya.

Static web page bukan berarti tanpa server, tapi hanya perlu server dengan spesifikasi yang bisa dibilang sangat minimal, karena memang tidak diperlukan resource yang digunakan untuk mengelola data tertentu.

Untuk membuat static web page bisa menggunakan berbagai cara, kalau dulu mungkin yang terkenal dreamweaver untuk membuat page html, sekarang ada yang namanya static site generator. semacam framework yang digunakan untuk menggenerate file html yang dihasilkan dari format-format text file tertentu. Framework ini juga dapat menggenerate file-file pendukung lainnya seperti javascript, dan css.


Migrasi dari ghost

Pada awalnya sempat mencoba untuk menggunakan Buster yang dapat menarik static file dari instalasi ghost, tapi development yang sudah lama tidak diupdate menjadikan niatan itu hilang.

Ada beberapa pilihan static site generator di staticgen, antara lain Hugo, Jekyll, Next, Hexo, dll. Semuanya merupakan engine/framework yang menggunakan markdown untuk menggenerate konten utamanya, theme (dengan engine tertentu), untuk kemudian dirakit dan dijahit menjadi satu static website html tertentu.

Dari ke 4 contoh di atas, 2 diantaranya yang menarik perhatian yaitu, Jekyll dan Hugo .

Jekyll

Jekyll

Jekyll dicetuskan pertama kali pada tahun 2008 oleh pendiri github Tom Preston-Werner, yang menggunakan bahasa ruby untuk generatornya dan menggunakan liguid engine milik shopify untuk theme engine nya. Jekyll bisa dibilang sebagai penyebab utama static site menjadi populer.

Jekyll memiliki dukungan thema yang banyak, mulai dari yang gratis sampai premium yang berbayar. Jekyll memiliki dukungan integrasi dengan github pages yang sangat baik, sehingga menyebabkan Jekyll static site generator paling populer dengan 34k bintang di github.

pro

  • template engine yang sederhana.

  • theme yang banyak.

  • integrasi github pages.

  • mendukung plugin.

con

  • Bedasarkan beberapa test, mengenerate static site menggunakan Jekyll termasuk lambat.
  • perlu maintain versi ruby dan plugin-pluginnya.

Hugo

Hugo

Hugo, sama seperti Jekyll, merupakan framework untuk menggenerate static site. Bedanya, hugo menggunakan bahasa go. Dicetus pertama kali pada tahun 2013 oleh Steve Francia and BjΓΈrn Erik Pedersen. Untuk theme menggunakan Go’s template package.

Hugo merupakan static site generator nomer 2 yang populer, dan memiliki 27k bintang di github. Hugo juga memiliki library theme yang beragam, namun sejauh ini belum ditemukan theme yang premium atau berbayar.

pro

  • build time yang sangat cepat.

  • fungsi-fungsi bawaan yang komplit.

  • support multi bahasa.

  • tidak perlu maintenace bahasa go, karena sudah menjadi satu executable file tersendiri (apabila menginstall executable-nya).

con

  • tidak ada plugin

Setelah timbang-timbang, dari 2 framework di atas, akhirnya pilihan jatuh kepada hugo.

Hugo menjadi pilihan karena memang pada dasarnya penulis lebih nyaman bekerja menggunakan file yang sudah menjadi executable, jadi tidak perlu me-maintain source/file-file pendukungnya, instalasi hugo bisa menggunakan homebrew dan hanya perlu memberikan perintah brew install hugo.

Postingan-postingan sebelumnya ketika masih menggunakan ghost pun dapat di export dengan mudah menggunakan aplikasi go ghostToHugo yang otomatis menggenerate semua file markdown termasuk front-matter beserta metanya.

Untuk themes, yang digunakan adalah hugo-tranquilpeak-theme milik kakawait yang sudah dimodifikasi sebelumnya.

Itulah sedikit banyak mengenai update cizzu, yang sebelumnya pernah menggunakan wordpress, ghost, dan pada akhirnya untuk menghemat budget menggunakan static site generator.

Untuk detail teknikalnya akan saya jabarkan pada post berikutnya.

Salam, Afriyandi Setiawan.