Hugo adalah sebuah static site generator yang menggunakan Golang sebagai bahasa pemrograman.
Unduh versi terbaru Hugo dengan cara berikut.
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
Unduh versi terbaru Hugo dengan cara berikut.
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
Untuk bantuan ketik hugo help
.
hugo new site <PROJECT_NAME>
hugo build
hugo server
Menyalin atau git clone
sebuah theme pada folder namaproject/themes
.
cd mynewsite
cd themes
git clone <ALAMAT_GIT_REPO_THEME>
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
Pastikan publishDir = "public"
di file config.toml
dengan contoh sebagai berikut.
baseURL = "/"
themesDir = "themes"
publishDir = "public"
Jalankan hugo
Eksekusi kembali poin 2, tiap kali ada perubahan pada kode.
"public": "public"
di file firebase.json
sudah sama dengan publishDir
di file config.toml
.firebase login
firebase init
firebase.json
sesuai panduan. Cek disini.firebase deploy --only hosting:<nama_app>
Untuk re-deploy saat ada perubahan pada kode, jalankan perintah,
PowerShell
hugo; firebase deploy --only hosting:<nama_app>
Unix terminal
hugo && firebase deploy --only hosting:<nama_app>
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 perintah hugo version
lewat terminal.
Kemudian pastikan juga nilai publish = "public"
di file netlify.toml
sudah sama dengan publishDir
di file config.toml
.
Buat site baru dengan cara deploy manual, baca panduan disini.
Pada langkah Your build command (hugo build/yarn run build/etc):
ketikkan hugo --gc --minify
atau cukup dengan hugo deploy
.
Ikuti langkah selanjutnya.
Untuk mengupdate otomatis, jalankan git push -u origin master
tiap kali ada perubahan pada kode.