Pindah ke HTMLy
Salah satu kegemaran saya yang sering-surut dan sering-bangkit adalah menjajal platform blog. Memilih platform atau perangkat lunak blogging mana lagi untuk membantu saya menulis lebih gampang, kapan saja dan di mana saja -- tentu tanpa perlu sumber daya yang begitu besar, serta meningkatkan keinginan untuk menulis lebih banyak.
Sudah cukup lama saya menggunakan Hugo. Ya, blog ini sebelumnya memakai generator situs statis (static site generator/SSG) dengan bahasa pemrograman Go. Setelah menggunakan itu cukup lama, saya merindukan pengolahan teks lewat peramban, atau apa pun yang dapat saya akses kapan saja. Bandingkan dengan saat saya menggunakan SSG, saya harus duduk di depan laptop lalu memperbarui blog lewat CLI.
Mulai menimbang
Jauh sebelum menggunakan Hugo, saya sempat menggunakan Jekyll, setelahnya juga sempat lama memakai Wordpress.com. Kemudahan ala Wordpress membawa saya pada keinginan praktis lagi untuk menulis blog, tapi dengan lebih sederhana.
Saya sempat menimbang menggunakan Forestry untuk mengelola konten blog Hugo saya, tetapi arah pengembangan perangkat lunak tersebut kini sebagai CMS yang berdiri sendiri dengan nama TinaCMS. Kalau pun proyek Forestry tak bergeser menjadi TinaCMS, pemasangannya yang "rumit" sepertinya tetap membuat saya mundur (menyerah sebelum mencoba, haha).
Eksplorasi
Semakin ke sini, semakin sering mencari referensi. Dan semakin ke sini pula, muncul faktor-faktor yang perlu saya pertimbangkan jika saya akan pindah ke platform blog baru, berbeda dengan dahulu yang saya bisa loncat kapan pun saya mau1.
Syarat tersebut:
Tidak self-host. Tetapi harus mengizinkan saya memindahkan konten lama ke yang baru dengan mudah (tidak perlu perkakas otomotisasi, asalkan sederhana) dan saya rela membayar blog premium dengan harga dan fitur layak sesuai keinginan saya, asalkan metode pembayarannya mudah.
Self-host. Tetapi, menyewa VPS bukanlah niat saya karena saya tidak ingin repot mengonfigurasi ini itu sejak awal. Minimal shared hosting bolehlaah.
Opsi pertama lebih sulit terealisasikan. Banyak platform blog alternatif yang lebih sederhana dibandingkan Wordpress.com, seperti Silvrback, Posthaven, Svbtle, Bear Blog, Mataroa, Write.as, Micro.blog, dan lainnya. Namun, dari sebagian yang saya coba, mereka tidak dapat melakukan impor konten blog. Sebagiannya lagi tidak dapat dicoba karena terhalang metode pembayaran yang sulit.2
Opsi kedua lebih fleksibel sebetulnya. Jika akhirnya tidak menemukan platform blog pilihan yang cocok untuk dipasang di shared hosting, tak masalah jika akhirnya saya menyewa VPS.
Menemukan Flat-file CMS
Eksplorasi terus berlanjut hingga sekitar dua sampai tiga bulan lalu, saya menemukan perangkat lunak/platform blogging CMS yang bagi saya adalah hal baru: flat-file CMS.
Jadi, apa itu?
Flat-file dalam dunia perangkat lunak merujuk pada sesuatu yang disimpan dalam berkas teks. Dalam konteks flat-file CMS, yakni CMS yang menyimpan konten dan konfigurasi hanya dalam berkas teks, tanpa basis data (database).
Secara teknis, SSG menerapkan konsep flat-file minus pengelolaan konten semudah CMS. Dan untungnya flat-file CMS mengisi kekosongan itu. Ada banyak sekali. Privacytools.io menyorot delapan, lainnya juga menyorot sebagian yang belum disebutkan.
Setelah melakukan riset, saya menemukan beberapa yang menarik. Grav, Kirby, Automad, dan HTMLy.
Grav. Grav sangat menarik, tapi, tanpa CLI (baca: tanpa akses langsung ke server) sama saja menyulitkan. Kebanyakan shared hosting di layanan Indonesia tidak menyediakan akses SSH sehingga Grav saya singkirkan ke pilihan terakhir (tak masalah jika saya akhirnya harus menyewa VPS demi dapat memakai Grav).
Kirby. Cakep sepertinya, tapi lisensinya luar biasa mahal. Seharga 105USD persitus.
Automad. Saya mencobanya langsung di shared hosting. Lancar jaya kecuali satu fitur yang tidak dapat dipakai: purge (membersihkan direktori
/tmp
). Terlihat asyik dengan editor blok seperti Gutenberg milik Wordpress, tapi secara keseluruhan, UX-nya membingungkan. Tak ada pembeda antara editor untuk menulis konten blog (post) dan konten statis (page). Saya pun tidak berhasil mengubah tema. Dan juga saya tidak menemukan cara praktis untuk memindahkan konten blog saya ke Automad. Dokumentasi tidak lengkap. Jadi, skip.HTMLy. Ia menjenamakan diri sebagai PHP Blogging Platform, alias flat-file CMS yang fokus pada per-blogging-an, sehingga saya mengasumsikan fitur standar blog seharusnya ada di sana. Benar saja. Semua ada di sana, minus beberapa yang masih bisa ditoleransi. Langsung saja saya coba pasang di shared hosting. Semua fitur berjalan lancar. Dokumentasi, meski kurang, sudah cukup informatif.
Pindah ke HTMLy
Dengan eksplorasi sebentar, saya akhirnya memutuskan untuk pindah ke HTMLy. Berikut fitur yang menarik saya untuk akhirnya pindah ke sini.
Fitur bawaan yang cukup
Fitur-fitur blog seperti tulisan terkini (recent post), tulisan populer (popular post), arsip, kategori, tag, peta situs, pengelola menu, dsb tersedia secara bawaan. Tidak perlu tuh menggunakan plugin. Tersedia juga kolom komentar menggunakan Disqus atau Facebook (secara pribadi saya tidak menggunakan keduanya).UI dan UX yang sederhana dan sefungsinya
Tidak ada fitur tersembunyi. Semua terlihat sesuai peruntukannya.Bisa pasang di shared hosting
Seperti yang saya katakan sebelumnya, HTMLy dapat dipasang di shared hosting dengan harga belasan sampai puluhan ribu sebulan. Saya menggunakan layanan dari Qwords3. Kalau pun esok saya memutuskan untuk menyewa VPN, proses migrasi juga relatif mudah.Tidak ada plugin
Ini sebetulnya bisa positif, bisa juga negatif. Segala fitur memang diusahakan ada sebagai fitur bawaan. Positifnya, sisi kinerja dan keamanan lebih terpantau pihak pengembang.Sisi teknis yang mudah dipahami
Selain dapat melalui halaman admin, saya dapat mengunggah tulisan dalam bentuk berkas .md
biasa melalui FTP dengan format isi tulisan:
< !--t Judul Tulisan t-- >
< !--d Deskripsi pendek, ini akan mengisi elemen meta description d-- >
< !--tag tag1,tag2,tag lain tag-- >
Ini isi tulisan
Kemudian disimpan dengan nama berkas:
tahun-bulan-tanggal-jam-menit-detik_tag1,tag2,tag-lain_judul-tulisan.md
# contoh:
2025-02-06-12-10-00_tag1,tag2,tag-lain_judul-tulisan.md
Dan diunggah ke /content/namapengguna/post/kategori/
. Jika menggunakan gambar, kamu dapat mengunggahnya ke direktori /content/images/
.
Namun, seperti kata bijak, yang sempurna hanya Tuhan, maka HTMLy juga tidak sempurna. Ia memiliki kekurangan:
Tema terbatas
Tidak banyak tema untuk HTMLy. Tapi kamu bisa buat sendiri kalau mau.Tidak ada plugin
Seperti yang saya bilang sebelumnya, ketiadaan plugin adalah plus sekaligus minus. Danpros, sang pengembang, memang meniatkan HTMLy tidak memiliki plugin. Semua fitur harus tersedia secara bawaan, di dalam kode inti. Supaya performa situs web tetap terkendali tanpa campur tangan kode eksternal yang bisa saja implementasinya jelek. Minusnya, kalau kamu ingin membuat fitur tambahan, kamu harus melakukan fork. Entah nanti tetap disimpan sendiri atau dikirim sebagai pull request.Tag tidak boleh banyak (sekali)
Nama tag-tag disimpan dalam kepala dan nama berkas. Tag yang terlalu banyak akan mempengaruhi nama berkas padahal nama berkas dalam Linux (sebagai server) dibatasi sebanyak 255 bita4. Tapi, tentu saja, kasus "terlalu banyak tag" kemungkinan kecil untuk terjadi.Editor Markdown yang belum powerful.
Saya belum mengulik banyak tentang editor dan parser yang dipakai HTMLy.Tapi fitur yang masih belum saya temukan adalah penulisan catatan kaki alias footnote. Tulisan ini masih menggunakan catatan kaki manual (akan saya edit nanti jika sudah menemukan format yang benar).Minus yang terlihat mencolok adalah fitur pratayang (preview) yang tidak berupa area scrollable.
Simpulan
Saya menikmati pengelolaan blog dengan HTMLy. Fitur standar yang disediakan untuk menulis blog juga cukup mumpuni. Dari sisi pengembangan, Danang Probo Sayekti alias Danpros juga sangat terbuka dengan kontribusi berupa fitur baru, jadi kita lihat, apakah nanti saya akan sempat meluangkan waktu untuk mengeksplorasi kode HTMLy.
Berikut halaman admin blog ini:
-
Tulisan saya sudah banyak, sehingga pindah blog sama dengan pindah rumah berikut isinya. Saat tulisan saya masih sedikit, tak masalah untuk pindah kesana kemari tanpa perlu repot. ↩︎
-
Secara umum melalui kartu kredit/debit dengan atau tanpa Stripe. Kartu ATM dari bank-bank Indonesia, meskipun MasterCard tak bisa dengan mudah untuk digunakan membayar secara internasional. ↩︎
-
tautan afiliasi ↩︎
-
satu huruf atau karakter normal berukuran 1 bita ↩︎