Kenalan Sama Jekyll: Static Site Generator untuk Blogging



Artikel terakhir di blog ini adalah sponsored post. Sedangkan artikel pure opini terakhir mengenai Digital Printing Solution sudah saya tulis setengah tahun yang lalu. Sad :(

Apa yang seharusnya saya lakukan?

Bukan tanpa sebab kenapa saya sulit menulis akhir-akhir ini. Selain karena urusan lain yakni pekerjaan, ada hal yang kurang mendukung saya. Saya baru sadar ketika laptop yang saya pakai sekarang tidak powerfull seperti laptop Asus X450JB sebelumnya.

Well, saya sering menggunakan laptop tersebut untuk editing foto untuk blog. Sekarang saya harus downgrade menggunakan laptop 12 inchi. Tentu saja kemampuannya tidak bisa dibandingkan dengan perangkat sebelumnya.

Hal tersebut membuat saya untuk mencari tools untuk blogging yang lebih mudah. Terakhir, saya menemukan artikel terkait Jekyll sekitar akhir tahun 2017. Saat itu saya mencoba membaca artikel tersebut masih merasa kurang cocok.

Building static site generator? Terdengar kurang familiar bagi saya. Walaupun setelah itu saya membuat akun Github dan 'hanya' menggunakannya untuk menyimpan source code beberapa script untuk blog yang saya kembangkan.

Namun, saya masih belum bisa move on dari blogspot untuk menjadikan domain jungjawa.com beralih dengan static page generator. Ya, walaupun saya sadar, blogspot memiliki banyak limitasi.

Dokumentasi yang kurang memadai menjadi alasan saya untuk segera berpindah dari platform ini. Selain itu, saya hanya melakukan manajemen untuk satu file XML saja. Selain sulit, ketergantungan kepada widget.js dan kawan-kawan dari Google JS yang lain menjadikannya sulit untuk local editing.

Dalam mengembangkan template blogspot pun saya harus dituntut untuk selalu memiliki konektivitas internet yang memadai. Setelah dilakukan editing secara lokal, saya harus copy paste XML tersebut dan testing di dummy blog. Melihat hasilnya, apakah bisa berjalan dengan baik, atau tidak.

Stackoverflow dan Github pun tidak banyak membantu untuk mencari dokumentasi blogspot. Ya, karena kebanyakan sudah mak plek jadi langsung pakai template saja.

Pada akhirnya, akhir Maret 2019 kemarin saya mulai beralih menggunakan Jekyll. Mempelajari bagaimana static page bisa digunakan untuk menulis blog dan ternyata, perbedaan signifikannya ada di loading time yang cukup cepat.

Jekyll saya gunakan di domain saya yang lain, yaitu dev.jungjawa.com. Sekalian belajar Jekyll, saya tuliskan saja beberapa tahapannya. Bisa jadi artikel kan. Lumayan.

Halo, kenalan dulu yak!


What is Jekyll

Sebelumnya, ada dua jenis website yang harus kita kenal: website dinamis dan website statis. Website dinamis dibuat menggunakan CMS atau Content Management System. Misalnya Wordpress, Blogger/Blogspot, Tumblr dan lain sebagainya. Konten yang dibuat disimpan dalam sebuah web database yang bisa sewaktu-waktu dipanggil ketika ada request.

Contohnya ketika kita membuka Tirto.id dan melakukan pencarian artikel 'teknologi informasi' misalnya. Tirto tidak menyediakan sebuah halaman HTML yang berisi artikel terkait teknologi informasi. Tapi, Tirto memiliki frame khusus untuk hasil pencarian artikel. Di belakang layar, mesin akan mencari artikel dengan kata kunci 'teknologi informasi' di database yang dimiliki oleh Titro. Kemudian hasil pencarian tersebut akan dimuat ke dalam frame hasil pencarian tersebut.

Sehingga ketika ada artikel-artikel baru yang masuk ke database, maka artikel tersebut dapat ditampilkan di hasil pencarian.

Baca juga: Catatan Tentang Jekyll untuk Pertama Kali (Part 1) — Introduction

Sedangkan untuk website statis, tidak menggunakan database. Konten yang ditampilkan pada halaman website statis memang sudah ada pada file HTML-nya. Tidak ada mesin yang mencari dari database. Wong database-nya wae ndak ada kok.

Artikel blog post yang ada di website statis, ditulis satu persatu menggunakan tekt editor seperti Sublime, Notepad atau VSCode.

Nulisnya ya kayak gini, huhuhuhu~


Menulis blog post di website statis, Jekyll menggunakan format Markdown dan HTML. File-file ini nantinya dikonfigurasi oleh sebuah file config untuk diupload ke server dan ditampilkan sesuai dengan theme atau HTML page yang sudah kita set.

Banyak kelebihan yang bisa saya rasakan ketika sudah menggunakan Jekyll ini jika dibandingkan dengan Wordpress maupun Blogger untuk aktivitas blogging, di antaranya:
  • Tidak berlebihan. Tidak seperti Wordpress yang memiliki banyak sekali plugin dan sangat sulit untuk tidak dimanfaatkan. Wordpress lebih cocok jika dikembangkan lebih dari sekadar blog. Bisa ecommerce maupun hal lainnya sesuai website dinamis. Jekyll lebih cocok sebagai blogging platform karena simple, apalagi hanya memiliki satu author untuk blog personal.
  • Page loading time absolutely unbelieveable. Memuat halaman tanpa harus melakukan request database ke server akan memangkas banyak sekali waktu load time suatu website. Apakah hal ini berpengaruh untuk SEO? Nah, ini menarik untuk dipelajari.
  • Security. Website statis 'mungkin' lebih secure. File yang ada di dev.jungjawa.com hanyalah file statis. Rasanya lebih aman dari gangguan hacker maupun malware. Kecuali username dan password bisa didapatkan. Jika dibandingkan dengan Wordpress yang memiliki banyak vulnerabilities.
  • Github. Nah, ini yang saya suka. Saya pernah kepikiran untuk membeli sebuah hosting di beberapa provider hosting lokal. Niatnya untuk membuat sebuah web blogging dan menyimpan file-file saya di hosting tersebut. Namun, setelah saya mengetahui bahwa dengan Github, bisa membuat sebuah blog. Tentu saja ...gratis.
  • Dokumentasi. Adanya Github di belakang Jekyll, maka akses untuk mempelajari dokumentasi, pengembangan source code atau diskusi dengan komunitas menjadi semakin terbuka. Memudahkan untuk saling kolaborasi.
  • Local edit. Blog post Jekyll bisa saya tulis di komputer lokal, dengan format Markdown maupun pure HTML. Selanjutnya, ketika ada koneksi internet, saya tinggal push ke Github milik saya. Tanpa harus editing tulisan dikasih bold, miring, menyisipkan gambar dan lain sebagainya.

Namun, dibalik banyaknya keuntungan menggunakan Jekyll, saya menyadari bahwa ada kekurangan yang saya temui di sini:
  • Menulis blog post menggunakan website statis berarti harus bertemu dengan teks editor dan murni formatting menggunakan simbol khusus Markdown atau HTML. Bagi yang terbiasa editor WYSIWYG tentu hal ini cukup merepotkan. Selain harus menghafal, tentu harus banyak sekali praktek yang dilakukan. Contohnya untuk membuat sebuah kata menjadi tebal, maka harus ditulis dengan tanda **kata** disetiap awal dan akhir kata. Mirip yang kita tulis di Whatsapp. Cukup repot.
  • Instalasi yang cukup ribet. Saya memerlukan sekitar satu hari untuk menciptakan 'ekosistem' Jekyll di laptop yang digunakan sekarang. Seperti instalasi Github Desktop, membuat Github Page, memasang Visual Studio Code dan lain sebagainya. Sangat berbeda apabila menggunakan Wordpress atau Blogger. Cukup dengan membuka web browser.
  • Tricky. Ada beberapa hal yang perlu dicari lebih dalam untuk menggunakan Jekyll. Saya harus benar-benar membaca troubleshooting yang sudah dilakukan oleh orang lain di Github. Memahaminya agar tidak terjadi error dalam development yang sedang saya kerjakan. Contohnya dalam mengubah tampilan blog. Jika dengan Wordpress dan Blogger bisa sekali klik, dengan Jekyll saya harus membuka root folder dan mencari file .scss dan variabel yang harus saya ganti.
Menarik enggak sih? Jika ada yang ingin didiskusikan terkait penggunaan Jekyll, bisa pakai kolom komentar di bawah nih. Jika sekedar say hello, bisa ke hello at jungjawa.com. Semoga bermanfaat dan have a nice day.

Komentar

  1. Keren bang. Saya juga pakai jekyll untuk muhammadzaini.com tapi ini lagi pengen blogging pakai skrip buatan sendiri (codeigniter + blade) di zenlabs.top/blog

    BalasHapus
  2. lagi belajar bikin web dinamis, tp dalam proses pengembangannya cukup bikin pusing, saat istirahat sambil memikirkan algoritma yang cocok, terbesit untuk membuat web statis, searching2 ketemu jeckyll, terimakasih bang untuk buat post review jeckyll ini.

    BalasHapus
    Balasan
    1. Jekyll juga bisa sedikit dinamis melalui client side. Tapi memang sih, kalo mau beneran dinamis server side ya mending pake yang memang untuk backend.

      Hapus

Posting Komentar

Popular Post

Yuk Kenalan dengan Berbagai Jenis Power Plant yang Ada di Indonesia

Pengalaman Pengembalian Dana (Refund) Tiket Pesawat di Traveloka

LOGO BARU PIZZA HUT