Arif Widianto

Migrasi ke Jekyll

Sejak awal Mei ini saya mengalihkan pengelolaan situs ini dari Sistem Pengolah Konten Wordpress ke Jekyll. Sebelumnya situs bahasa Inggris saya telah ganti Jekyll untuk pengelolaannya sejak tahun lalu. Wah ini pertempuran tidak habis itu lagi, ya? Hahaha... semoga ini yang terakhir. Inilah ceritanya.

Wordpress

Wordpress adalah salah satu sistem pengolah konten yang populer. Wordpress dibangun menggunakan bahasa pemrograman PHP dan basis data MySQL. Ada dua cara menggunakan Wordpress. Cara pertama, kita menyiapkan infrastruktur: dari sewa domain, sewa server untuk basis data situs kita, pengaturan dasar untuk situs dan desainnya, serta tak lupa pengelolaan rutin. Cara kedua, pengguna tinggal daftar (gratis) di wordpress.com, memilih desain, membayar beberapa opsi layanan (bila diperlukan), dan langsung bisa menggunakannya untuk publikasi konten mereka.

Seperti banyak sistem dinamis lainnya seperti Blogger dan ExpressionEngine, Wordpress adalah sistem pengolah konten yang dinamis. Sistem dinamis bisa menangani dan menayangkan konten seketika bila ada perubahan, juga menawarkan opsi tampilan data yang kaya. Misalnya, pemilik situs bisa memprogram sistemnya menampilkan tulisan populer hari itu, tulis terkait, dan opsi yang tidak terbatas lainnya. Tapi sifat dinamis sistem ini mengundang kelemahan. Katakanlah suatu situs seketika terkenal di media sosial. Situs dikunjungi oleh jutaan pengguna dalam hari itu. Masalahnya, kapasitas situs yang satu dengan lain berbeda, tergantung kemampuan dan sumber daya pemiliknya. Katakanlah pemilik situs pribadi dengan server sendiri hanya mampu menyajikan situs untuk hanya ratusan ribu hingga satu juta pengunjung seharinya. Bila jumlah pengunjung melebihi itu, server bisa kaput, tewas. Akhirnya pengunjung tidak bisa mengakses situs itu. Agar sistem mampu melayani jumlah yang banyak itu, infrastruktur sistem harus ditingkatkan hingga batas aman yang mampu menangani lonjakan pengunjung.

Jekyll

Jekyll adalah pengubah berkas teks menjadi berkas website atau blog. Jekyll tidak memerlukan basis data, semua dari berkas teks yang kita kelola dengan editor yang kita suka. Jekyll hanya mengolah berkas di komputer lokal. Kelebihan Jekyll, hasil situs bisa dilihat di lokal, seperti situs riil yang dilihat pengunjung internet. Baru setelah kita merasa semua isi situs telah beres—baik isi, desain, dan segalanya—kita bisa mengunggah berkas situs tersebut ke server. Setelah diunggah, barulah pengunjung bisa menikmati isi konten situs itu yang telah diperbarui.

Anda harus memasang program Jekyll untuk memulai menggunakannnya. Jekyll dibangun dengan bahasa pemrograman Ruby dan juga beberapa program tambahan dengan Python untuk melakukan beberapa proses. Bila Anda menggunakan komputer Mac atau Linux, proses instalasinya akan mudah. Bila menggunakan Windows, prosesnya berbeda dan mungkin mungundang sedikit tantangan.

Kenapa Memilih Jekyll?

Membebaskan.

Itulah yang saya rasakan kala menggunakan Jekyll setelah terbiasa dengan sistem pengolah konten dinamis selama 13 tahun terakhir.

Dengan sistem pengolah konten dinamis kita harus sibuk berkutat dengan kode program, mengubah pengaturan komputer, memasang (bila belum ada) dan mengatur basis data—sebelum bisa mempublikasi satu tulisan percobaan. Dengan Jekyll, setelah memasangnya di komputer, saya segera bisa menulis dan merasakan situs percobaan secara riil di komputer lokal. Setelah beres, upload dengan program transfer berkas, dan tada... situs sudah hidup di internet. Bahkan ada cara menggunakan pengunggahan berkas otomatis cukup dengan mengetik satu baris program di terminal komputer.

Dengan sistem pengolah konten dinamis, pemilik situs kadang mengalami masalah rutin dalam satu atau dua inti sistem. PHP kadang bermasalah. MySQL bermasalah. Atau sistem lain yang bermasalah. Satu masalah ini bisa menghentikan situs beroperasi. Bila Anda mempunyai bisnis dan usaha dari situs, tentu hal ini berakibat fatal. Padahal masalah seperti sangat sering terjadi. Dengan Jekyll, server Anda hanya menyediakan berkas statis: HTML, JavaScript, CSS, dan gambar. Berkas statis ini bisa dilayani oleh server sederhana. Berkas statis tidak memperlukan proses komputasi yang rumit dan memerlukan sumber daya rendah. Situs yang dibangun dengan Jekyll tidak akan pernah mengalami masalah meskipun MySQL atau PHP atau program lain di server sedang bermasalah.

Sistem pengolah konten dinamis menggantungkan prosesnya pada proses komputasi di server. Maka jika sebuah situs mengalami lonjakan kunjungan seketika, hal ini memerlukan tambahan proses komputasi dan sumber daya komputer. Karena sumber daya komputer terbatas, tergantung alat yang terpasang, keperluan daya komputasi bisa melampai kapasitas. Lonjakan di luar kapasitas dapat membuat server berhenti beroperasi. Diam. Akhirnya pengunjung tidak bisa mengunjungi situs. Karena hasil akhir Jekyll adalah berkas statis, melayani pengunjung situs tidak memerlukan proses komputasi berlebih. Akhirnya situs bisa melayani jauh lebih banyak pengunjung sebelum harus ditingkatkan kemampuannya.

Tentu ada hal yang menurut saya jadi kekurangan Jekyll. Misalnya, bila Anda suka antarmuka sistem pengolah konten dinamis seperti Wordpress, sementara Jekyll hanya menggunakan program komputer yang sudah kita pahami. Saya menggunakan Textmate untuk mengedit teks ini. iTerm untuk terminal komputer. Anda bisa mengguna editor teks berbeda, atau terminal berbeda. Yang penting berkasnya teks. Oh ya, berkas teks ini bisa diketik menggunakan format Markdown, Textile (dengan plugins), atau HTML biasa. Bagi saya, karena saya sudah familiar dengan editor teks dan proses ini, hal ini justru membuat saya nyaman.

Bila Anda merasa Jekyll agak rumit? Kalau Anda orang non-teknis, bisa jadi Anda merasa demikian. Awalnya saya juga merasa seperti itu. Mungkin Anda perlu bantuan orang teknis untuk instalasi awal program Jekyll. Meksipun menurut saya kalau diikuti secara cermat, proses mudah dan bisa dipahami.

Bila Anda merasa kemampuan Jekyll sangat terbatas. Itu tidak benar. Kita bisa memasang program tambahan dalam bentuk Plugins yang dibuat dengan bahasa pemrograman Ruby. Hal ini menambah sifat dinamis Jekyll. Tersedia banyak plugins siap pakai bila Anda tidak bisa memprogram. Plugins menambah kemampuan Jekyll dalam konversi, filter, dan juga presentasi. Bila Anda masih ingin melihat seberapa jauh kemampuannya, ada daftar situs-situs yang menggunakan Jekyll. Oh ya, Jekyll didirikan oleh pendiri Github, gudang penyimpanan kode program yang terkenal. Tak heran Github menyediakan fasilitas hosting gratis bila situs Anda dibangun dengan Jekyll.

Semoga tulisan ini bermanfaat. Selamat mencoba!

Catatan

Saya telah mengunduh basis data situs lama saya yang telah saya tulis sejak 2005. Basis data itu telah saya sertakan di berkas situs ini sehingga bisa Anda nikmati. Akhirnya hampir semua arsip telah online kembali. Senangnya. Saya masih punya arsip data situs sejak 2002-2004. Tapi karena proses impor memerlukan modifikasi program, padahal saya belum sempat melakukannya. Nanti akan saya kabari bila proses ini telah selesai.