Hugo adalah sebuah static site generator yang menggunakan Golang sebagai bahasa pemrograman.
Instalasi
Unduh versi terbaru Hugo dengan cara berikut.
Untuk Ubuntu/Debian
curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest \ | grep browser_download_url \ | grep Linux-64bit.deb \ | grep -v extended \ | cut -d '"' -f 4 \ | wget -i -
Kemudian jalankan perintah dibawah ini, untuk melakukan instalasi.
sudo dpkg -i hugo*_Linux-64bit.deb
Konfirmasi apakah Hugo sudah terpasang lewat perintah ini.
hugo version
Hugo Extended
Unduh versi terbaru Hugo Extended dengan cara berikut.
Untuk Ubuntu/Debian
curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest \ | grep browser_download_url \ | grep Linux-64bit.deb \ | grep extended \ | cut -d '"' -f 4 \ | wget -i -
Kemudian jalankan perintah dibawah ini, untuk melakukan instalasi.
sudo dpkg -i hugo*_Linux-64bit.deb
Konfirmasi apakah Hugo sudah terpasang lewat perintah ini.
hugo version
Perintah Umum
Untuk bantuan ketik hugo help
.
Local server
hugo server
Membuat site baru
Ganti PROJECT_NAME
dengan nama project atau nama website. Jalankan perintah dibawah secara berurutan.
hugo new site PROJECT_NAME
hugo build
Membuat konten baru
hugo new <PATH>/index.md
Install theme baru
Menyalin atau git clone
sebuah theme pada folder namaproject/themes
.
Install dari Git
cd mynewsite
cd themes
git clone <ALAMAT_GIT_REPO_THEME>
Install dari file .zip
Ekstrak semua file yang ada di file .zip yg diunduh, ke dalam folder themes
. Struktur folder nya akan jadi seperti ini mynewsite/themes/nama-theme-yg-diunduh
Deployment
Persiapan
Pastikan
publishDir = "public"
di fileconfig.toml
dengan contoh sebagai berikut.baseURL = "/" themesDir = "themes" publishDir = "public"
Jalankan
hugo
Eksekusi kembali poin 2, tiap kali ada perubahan pada kode.
Firebase
- Pastikan
"public": "public"
di filefirebase.json
sudah sama denganpublishDir
di fileconfig.toml
. - Login dengan
firebase login
- Aktifkan dengan
firebase init
- Edit file
firebase.json
dan tambahkan baris berikut.. "hosting": { "site": "nama_project", . }
- Akhiri dengan
firebase deploy --only hosting:nama_project
Untuk re-deploy saat ada perubahan pada kode, jalankan perintah,
Lewat PowerShell
hugo; firebase deploy --only hosting:nama_project
Lewat *nix terminal
hugo && firebase deploy --only hosting:nama_project
Netlify
Buat file
netlify.toml
pada root dan salin kode berikut.[build] publish = "public" command = "hugo --gc --minify" [context.production.environment] HUGO_VERSION = "0.63.2" HUGO_ENV = "production" HUGO_ENABLEGITINFO = "true" [context.split1] command = "hugo --gc --minify --enableGitInfo" [context.split1.environment] HUGO_VERSION = "0.63.2" HUGO_ENV = "production" #[context.deploy-preview] #command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL" [context.deploy-preview.environment] HUGO_VERSION = "0.63.2" [context.branch-deploy] command = "hugo --gc --minify -b $DEPLOY_PRIME_URL" [context.branch-deploy.environment] HUGO_VERSION = "0.63.2" [context.next.environment] HUGO_ENABLEGITINFO = "true"
Pastikan nilai
HUGO_VERSION
sudah sama dengan versi Hugo yang terpasang. Cek dengan perintahhugo version
lewat terminal.- Kemudian pastikan juga nilai
publish = "public"
di filenetlify.toml
sudah sama denganpublishDir
di fileconfig.toml
. - Buat site baru dengan cara deploy manual, jalankan perintah berikut.
netlify sites:create --manual --with-ci
- Pada langkah
Your build command (hugo build/yarn run build/etc):
ketikkanhugo --gc --minify
atau cukup denganhugo deploy
. - Ikuti langkah selanjutnya.
Untuk mengupdate otomatis, jalankan git push -u origin master
tiap kali ada perubahan pada kode.