DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Saya mau bercerita tentang pengalaman membuat static site generator sendiri, yang diberi nama Mini SSG
Daftar Isi:
Saya mau bercerita tentang pengalaman membuat static site generator sendiri, yang diberi nama Mini SSG
Karena hobi sering membuat website, saya cukup terganggu ketika harus membuat sesuatu dari nol. Tentu saya bukan orang pertama yang mengalami hal ini, karena alasan itulah banyak tool, framework dan bantuan lainnya yang bertebaran.
Spesifiknya masalah saya ketika hanya butuh beberapa halaman, (bukan seperti blog), di mana saya harus menulis header, SEO, footer, konten dan lain-lain. Kurang lebih untuk website personal, perusahaan atau website marketing statis.
Ada banyak SSG(static site generator). Tapi saya merasa spesifik untuk jenis website yang saya buat belum ada atau overkill. Karena sebagian besar SSG dibuat dengan bayangan akan menjadi blog atau sebuah konten dinamis, alhasil banyak fitur yang saya tidak butuhkan. Karena itulah terpikirkan membuat sesuatu yang sederhana dan saya sendiri suka.
Saya salut dengan Taylor Otwell, pendiri Laravel, ia berhasil membuat PHP yang sering mendapat komentar negatif, kembali naik citranya. Lewat laravel, ia membuat berbagi syntax yang sangat nyaman dipakai dan intuitif, sehingga mudah diingat.
Filosofi ini yang ingin saya gunakan di Mini SSG, saya mulai dari akhir.
Saya membayangkan, kalau saya mau import sesuatu, kira-kira seperti apa?
@import(namafile)
Yap.. semudah itu! teman-teman bisa melihat syntax aslinya di website mini ssg
Bayangan lain.. kira kira kalau saya mau menggunakan sebuat layout, seperti apa..
@layout(base)
Yes, lagi lagi sesimpel itu!
Sebelum membayangkan rumitnya membuat ini, saya sudah merencanakan seperti apa saya ingin menggunakannya nanti.
Sebelumnya saya sering terbalik, karena sudah terlanjur ribet membuatnya, akhirnya melupakan sisi kenyamanan menggunakan tool tersebut.
Saya mencoba riset seperti apa jika ingin membuat dengan Go (karena terkenal dengan kecepatan). Saya menemukan harus mengintegrasikan dengan homebrew nanti untuk install seperti Hugo. Batallah niatnya, saya harus memikirkan apa yang orang banyak familiar (paling tidak di mata saya).
Jatuhlah pilihan ke bahasa seribu ummat, Javascript, Nodejs.
Saya mulai mencari artikel bagaimana membuat website statis sederhana, hingga jadi seperti ini.
Tantangan terbesar adalah karena mini ssg adalah sebuah ‘build tool’, yang perlu membaca syntax buatan sendiri, saya harus sangat berhati-hati mengimplementasikan reg-ex. regular expression. Katanya sih 9 dari 10 programmer, ngga suka regex (:P)
Semakin lama, semakin banyak rasanya ingin menambahkan fitur. Tapi harus hati-hati saya bisa berakhir dengan tool ssg yang lain, karena itu perlu belajar, mengingat apa tujuan awal tool ini. Lebih baik selesaikan masalah tersebut dengan baik.
Cukup lama saya menghabiskan waktu untuk mengimplementasikan fitur live reload. Ketika seseorang merubah sesuatu di filenya, maka program mini ssg harus dijalankan ulang dan mereload browser.
Selama membuat website mini-ssg sendiri, saya menggunakan tool ini, agar bisa merasakan langsung. Alhasil banyak yang kurang! mulai dari bug, fitur atau sedikit bumbu DX(developer experience) yang bisa dibenahi. Semuanya bisa diketahui, karena saya sendiri menggunakannya.
Status sudah terpublish kurang lebih 1 bulan. Lihat status install di NPM.
Saya senang karena sudah belajar membuat sesuatu yang saya butuhkan. Sudah beberapa kali saya menggunakannya, termasuk website mini ssg sendiri.
Kalau bisa mengulang waktu, apakah saya akan membuat ini lagi? Iya! Dalam kata lain, tidak menyesal :)
Hai saya Hilman, membuat situs Sekolah Koding (Skodev) dan menulis buku untuk programmer (Halo Koding), Halo Koding . Sudah mengetik-ngetik alias programming sejak 2015. Semoga artikel dan situs ini bisa bantu karir kamu ya!