Mengelola Wiki di GitHub dengan Gollum
Logo aplikasi Gollum berbentuk cincin (ring)1, sesuai dengan adaptasi dari karakter fiksi Gollum di The Lord of The Rings2.
Bulan Februari 2021 ini rencananya akan belajar topik Data Analyst, serta sebagian Data Science dimana materi keduanya beririsan. Melihat topik yang luas ini terbayang perlunya membuat “dasar pengetahuan” (Knowledge Base) untuk bisa merangkai dan menghubungkan berbagai pemahaman yang masih baru dipelajari.
Awalnya memang terpikir untuk membuat mindmap, lalu merasa bahwa tidak cocok untuk kebutuhan menuliskan catatan panjang bahkan sampai notasi matematika. Begitu juga papan kanban semacam Trello, meskipun cocok untuk membuat catatan yang canggih, tapi sulit mengakses relasi antar entitas (kartu), apalagi mendapatkan gambaran relasinya.
Saat ini yang terbayang adalah Wiki, ya seperti halnya Wikipedia3, kolaborasi penulisan sehingga satu pengetahuan dengan pengetahuan lain relasinya cukup bisa digambarkan dengan baik. Mungkin ini hanya masalah preferensi, jadi belum tentu “dasar pengetahuan” model ini cocok untuk orang lain. Selain membaca wikipedia, yang cukup sering aku baca belakangan adalah Wiki Hyperledger4 dimana kontributornya membuat berbagai “dasar pengetahuan” di situ.
Kalo Wikipedia3 menggunakan aplikasi MediaWiki5, Wiki Hyperledger menggunakan Confluence6 produk berbayar dari Atlassian. Oh satu lagi yang akan aku sebutkan adalah MoinMoin7 aplikasi yang digunakan sebagai Wiki Python.
Nah yang akan aku gunakan ini fitur free Wiki8 dari GitHub (free untuk repo publik, atau berbayar untuk repo privat). Selain Wiki ini bisa langsung disunting (edit) di situs GitHub, ada aplikasi pendukung bernama Gollum1 yang bersifat open source dari tim GitHub juga. Salah satu hal yang aku perlukan dalam menggunakan Gollum ini adalah mekanisme pencarian (search) dari Wiki yang sudah ditulis, fitur ini tidak tersedia pada Wiki di GitHub.
Pemilihan aplikasi Wiki yang aku gunakan fokus pada kemudahan instalasi dan penggunaan. Dengan menggunakan Gollum1 maka tidak membutuhkan mekanisme penyimpanan seperti basis data, karena menggunakan Git sebagai backend. Kemudian dukungan sistem kontainer seperti Docker sehingga memudahkan proses instalasi dan memperbarui versinya di kemudian hari. Dari sisi penggunaan, aplikasi iberbasis web ini mudah digunakan dan tentunya kebutuhannya hanya peramban (browser).
Sebagai contoh, aku buat Wiki di repo blog (publik) ini9. Kemudian aku clone ke lokal komputer.
$ git clone https://github.com/oonid/oo.or.id.wiki.git
Cloning into 'oo.or.id.wiki'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 230 bytes | 38.00 KiB/s, done.
$ cd oo.or.id.wiki/
$ ls -a
.git Home.md
Selanjutnya, aku gunakan Gollum untuk menampilkan serta menyunting (edit) Wiki ini, menggunakan sistem Docker resmi dari Gollum10. Ngomong-ngomong Gollum ini dikembangkan dengan bahasa pemrograman Ruby.
$ docker pull gollumorg/gollum
$ docker run -v `pwd`:/wiki -p 4567:4567 gollumorg/gollum
Berikutnya membuka web Gollum ini peramban (browser) http://localhost:4567
lalu mengembangkan “dasar pengetahuan” yang akan aku tulis dalam format markdown
(.md)!
Tambahan catatan, Gollum ini dikembangkan dengan bahasa pemrograman Ruby. Membuatku tertarik melirik pemrograman Ruby. 🙌