Website Kelas Menggunakan Jupyter Notebook dan Github Page
Memilih Software dan Layanan Online
Saya berencana untuk menyusun materi kuliah matematika, statistika, dan ekonometrika dengan menggunakan Jupyter notebook. Ketika menyampaikan perkuliahan, notebook tersebut dapat dijalankan sehingga bisa menyampaikan materi secara interaktif dan langsung praktik software R. Namun format Jupyter notebook tidak praktis untuk didistribusikan langsung kepada siswa karena untuk membukanya siswa memerlukan instalasi server jupyter dan kernel R. Salah satu cara termudah adalah dengan mengupload file notebook ke Github yang bisa menampilkan preview notebook. Akan tetapi, preview tersebut kadang gagal untuk file notebook berukuran besar.
Cara yang lebih praktis adalah mengkonversinya menjadi format html atau pdf. Karena akan terdapat banyak file terpisah yang saling terkait secara berurutan, semua itu akan lebih enak dibaca jika dikumpulkan menjadi sebuah buku online.
Konversi jupyter notebook menjadi buku online ini bisa difasilitasi dengan program jupyter book
. Halaman-halaman buku bisa ditulis menggunakan format markdown atau jupyter notebbok. Lalu program ini akan mengubah formatnya agar siap diproses menjadi situs statis dengan program Jekyll. Program ini mempermudah pengaturan layout dan tema website. Instalasi Jekyll sendiri tidak mudah karena memerlukan instalasi program Ruby. Untungnya, kita tidak perlu menginstal sendiri program Jekyl itu untuk mendapatkan situs statis karena banyak layanan online yang bisa memproses format Jekyll dan menayangkan hasil akhirnya berupa situs statis.
Saya akan menggunakan layanan Github pages untuk menayangkan situs itu. Keunggulannya adalah selain sekaligus menjadi repository versioning git, Github pages juga memberikan url dari alamat domain custom Github page pengguna di www.msaidf.com
, menjadi www.msaidf.com/nama-repository
.
Generator situs statis yang menjadi pesaing paling kuat Jekyll adalah program Hugo yang hanya terdiri dari satu file binary. Situs personal saya di www.msaidf.com
dibuat menggunakan Hugo. Tentu lebih mudah jika jupyter notebook itu bisa dikonversi ke format Hugo saja. Akan tetapi, program konversi notebook ke hugo yang ada, hugo_jupyter
secara default akan menghasilkan posting untuk situs blog, bukan buku online seperti jupyter-book
. Mungkin ada cara untuk mengubah konfigurasi agar notebook dikonversi ke model situs buku online. Namun saat ini, saya belum sempat otak-atik ke sana.
Selain itu, ketika saya mencoba menginstall hugo_jupyter
dengan pip
, banyak python package yang justru digantikan oleh versi lama. Jadi sebaiknya hugo_jupyter
ini diinstall ke virtual environment terpisah dari instalasi jupyter yang lebih baru.
Langkah Membuat Jupyter Book
- Install jupyter book
pip install jupyter-book
- Generate skeleton website dengan perintah
jupyter-book create nama-repository
atau download template dari repository github jupyter book - Ubah tampilan dan tempatkan jupyter notebook di salah satu folder di content
- Lalu bangun format Jekyll dengan perintah
jupyter-book build nama-repository
- Stage, commit, dan push ke repository baru di Github
- Buku online itu kini bisa diakses di
www.msaidf.com/nama-repository