Pada panduan ini, kita akan belajar cara ngeblog dengan Hugo dari awal hingga tahap deploy atau hosting.
Mari kita mulai…
Langkah-langkah membuat blog dengan Hugo:
1 Instalasi Git, Go, dan Hugo
“Mari kita persiapkan semua alat-alat yang diperlukan”
Diantaranya:
Git
— untuk upload dan deploy Hugo ke repositori git.Go
— bahasa pemrograman Go.Hugo
— Mesin SSG untuk membuat blog.
Berikut cara menginstalnya:
Install Git di Linux:
Untuk menginstal Git di Linux, silahkan ketik perintah berikut.
apt install git
Setelah itu, periksa versi yang terinstal dengan perintah:
git --version
Install Go di Linux:
Ada dua cara yang bisa dilakukan untuk menginstal Go di Linux.
Menginstal melalui apt atau manajemen paket yang lainnya;
Menginstal manual dengan men-download dari website resminya.
Untuk menginstal melalui apt, silahkan ketik perintah berukut:
apt install go
Setelah itu periksa versi yang terinstal dengan perintah:
go version
Install Hugo di Linux:
Hugo juga bisa diinstal melalui apt dan manual…
…tapi saya lebih menyarankan menginstal manual.
Karena versi yang di repositori apt, masih versi lama.
Donwload Hugo:
Silahkan buka repositori hugo, ambil versi Hugo yang akan diinstal.
Sebagai contoh:
Saya akan menginstal versi Hugo 0.24.1 di Linux 64-bit:
wget https://github.com/gohugoio/hugo/releases/download/v0.24.1/hugo_0.24.1_Linux-64bit.deb
Setelah itu instal dengan dpkg atau apt deb:
apt deb hugo_0.24.1_Linux-64bit.deb
Setelah itu…
buka terimal baru dan ketik perintah:
hugo version
Semua sudah beres…
Selanjutnya mari kita mulai membuat blog.
2. Membuat Blog Baru dengan Hugo
Hugo menyediakan perintah berikut untuk membuat blog baru:
hugo new site [nama-blog]
Sebagai contoh Saya akan membuat blog bernama TempeTahu:
hugo new site TempeTahu
Maka Hugo akan membuatkan direktori baru beserta strukturnya.
Silahkan dibuka direktori tersebut dengan teks editor dan coba jelajahi isinya.
Masih kosong?
Ya benar sekali, kita harus membut isinya dari nol 😄.
Tenang saja…
Tidak sulit kok.
Tapi sebelumnya mari kita kenalan dulu dengan direktori-direktori tersebut.
3. Mengenal Struktur Direktori Hugo
Ada enam buah direktori dan satu file yang dibuatkan oleh Hugo.
direktori archetype
Direktori ini berisi archetype atau template Front Matter dari konten.
Misalkan kita punya lebih dari satu jenis konten:
Ada artikel, portofolio, produk, proyek, podcast, dll.
Maka kita harus membuatkan archetype untuk masing-masing jenis konten tersebut.
Mari kita coba membuat archetype default.
Silahkan tambahak file default.md
di dalamnya, kemudian isi dengan kode berikut.
+++
title = "{{ replace .TranslationBaseName "-" " " | title }}"
date = "{{ .Date }}"
draft = true
+++
archetype ini akan menjadi archetype default setiap kali kita membuat konten.
direktoori content
Sudah bisa ditebak, isi dari direktori ini adalah konten dari blog kita.
Format kontennya adalah markdown.
Contoh konten milik Kos-IT:
Kos-IT menggunakan archetype post dan project untuk artikel biasa, sedangkan untuk halaman seperti about, contact, portofolio, dll…
…Kos-IT menggunakan archetype page.
direktori data
Direktori ini berisi data-data dalam format JSON, YAML, TOML dan lain-lain.
Data ini bisa kita manfaatkan pada tema.
Misal:
Agar tidak repot mengetik link sosial media pada tema, kita bisa membuatkan datanya.
facebook = "https://facebook.com/kos-it"
twitter = "https://twitter.com/kos-it"
instagram = "https://instagram.com/kos-it"
googleplus = "https://google.com/+kos-it"
Nanti pada pembuatan tema, kita bisa panggil seperti ini:
<a href="{{ .Data.facebook }}">Facebook</a>
direktori layout
Direktori ini berisi file HTML untuk tema atau layout blognya.
Jika kita ingin membuat tema default-nya, kita bisa letakkan di sini.
direktori static
Direktori ini berisi file-file statis seperti CSS, javascript, Gambar, dan sebagainya.
Nanti kita akan pakai direktori ini untuk menyimpan gambar dan file aset lainnya.
direktori themes
Seperti namanya, direktori ini tempat menyimpan tema-tema Hugo.
Kita bisa menaruh beberapa tema di dalamnya, kemudian untuk menggunakannya…
…kita harus menentukannya di file konfigurasi config.toml
.
File config.toml
File ini berisi konfigurasi blognya.
Contoh konfigurasi milik Kos-IT:
baseurl = "https://kos-it.github.io"
title = "KOS-IT — Making and Developing"
languageCode = "id-id"
theme = "programmer"
themesdir = "themes"
paginate = 4
disqusShortname = "kos-it-github-io"
googleAnalytics = "UA-XXXXXXXX-X"
[author]
name = "Karcaqs"
homepage = "https://web.facebook.com/taqwa.prakoso"
bio = "Sejenis Terong"
image = "/img/karcaqs.svg"
email = "taqwaalmutawakkil97@gmail.com"
pygmentsstyle = "monokai"
pygmentsuseclasses = true
Sekarang coba ganti konfigurasi blog yang sudah dibuat…
baseURL = "https://www.tempetahu.com/"
languageCode = "id-id"
tite = "TempeTahu"
Variabel baseURL dan title wajib diisi.
Silahkan isi dengan alamat blog-nya.
4. Menambahkan Tema Hugo
Hugo memiliki banyak kontributor yang membuat tema dan disebarkan secara gratis.
Silahkan cari tema yang kalian sukai di: https://themes.gohugo.io/
Pilih tema yang mana saja.
Tapi perlu diingat:
“Baca dulu dokumentasi tema-nya, karena di sana ada konfigurasi yang harus diikuti agar temanya bisa digunakan sesuai harapan”
Contoh:
Saya akan memilih tema Hello Programmer…
…maka kita harus membuat konfigurasi seperti ini:
baseURL = "https://www.tempetahu.com/"
languageCode = "id-id"
tite = "TempeTahu"
theme = "programmer"
disqusShortname = "XXXX"
googleAnalytics = "UA-XXXXXXXX-X"
paginate = 7
[author]
name = "your-name"
email = "your-email"
[params]
description = "desribe-your-site"
Setelah itu kita tambahkan temanya…
Silahkan masuk ke direktori tempetahu/themes
melalui terminal (sesuaikan dengan nama blog-mu).
cd tempetahu/themes/
Setelah itu, gunakan Git untuk klon repositori temanya.
git clone https://github.com/parsiya/Hugo-Octopress.git
Tunggu sampai selesai…
Setelah itu, pindah ke direktori root blognya dan jalankan server hugo.
cd ..
hugo server
Maka hugo akan membuat server baru pada alamat http://localhost:1313.
Silahkan buka alamat tersebut…
🎉 berhasil…
Kita sudah berhasil menambahkan temanya, selanjutnya kita akan coba menambahkan konten.
5. Menulis Artikel di Blog Hugo
Jika pada CMS seperti Wordpress, kita mengisi konten melalui halaman admin…
…maka pada Hugo kita gunakan teks editor.
Pertama:
Silahkan buat kotennya melalui terminal.
Hugo sudah menyediakan perintah hugo new untuk membuat konten.
hugo new post/[nama-file-konten].md
Contoh:
hugo new post/tempe-vs-tahu.md
Maka file baru akan dibuat pada direktori content/post/
dengan nama tempe-vs-tahu.md
.
Silahkan buka file tersebut, modifikasi dan tambahkan isinya:
Jangan lupa mengubah nilai
draft
pada Front Matter menjadi false
.
Setelah itu, simpan, jalankan server…
…dan coba lihat perubahannya sekarang.
4. Deploy Hugo ke Server
Hugo bisa di-deploy di mana saja:
Github, Gitlab, BitBucket, Heroku, Google Cloud, Shared Hosting, dan sebagainya.
Berbagai cara deploy hugo bisa dibaca di dokumentasinya.
Tapi, bila belum paham…
Coba baca catatan saya: Cara Deploy Hugo di Github Pages.
Apa Selanjutnya?
Sepertinya terlihat susah ya…
Tapi tenang saja, karena ini masih awal.
Saya juga seperti itu, waktu pertama kali mencoba…
…banyak sekali error dan masalah yang didapatkan.
Namun, masalah itu akan membuat kita lebih paham.
Selanjutnya, mungkin kamu tertarik:
- [Membuat Tema Hugo Sendiri dari Nol]()
Atau masih bingung?
Silahkan tanyakan di komentar!