Logo eza.web.id

Cara Membuat Website Statis dengan Hugo untuk Pemula

25 Januari 2025
5 menit untuk membaca
Table of Contents

Apa itu Hugo?

Hugo adalah framework generator situs statis yang ditulis dalam bahasa Go. Hugo memproses file Markdown menjadi halaman HTML statis yang dapat diakses dengan kecepatan tinggi. Keunggulannya meliputi kecepatan pembuatan, fleksibilitas, dan skalabilitas.

Panduan ini menjelaskan langkah-langkah membuat website menggunakan Hugo, mulai dari instalasi hingga proses publikasi. Cocok untuk pemula yang mencari solusi untuk membuat website yang ringan, cepat, dan mudah dikelola.

Website Hugo dapat di-deploy ke Firebase (seperti website ini), selain itu juga bisa dihosting melalui platform lain seperti GitHub, GitLab, atau Netlify.

Install Hugo Extended

Sebelum memulai pembuatan website dengan Hugo, pastikan Hugo sudah terinstal di sistem.

  1. Unduh Hugo versi terbaru dari github.com/gohugoio/hugo/releases.

  2. Disarankan untuk mengunduh versi extended, karena beberapa tema hanya mendukung versi tersebut.

  3. Instalasi untuk berbagai sistem operasi:

    • Windows

      • Install menggunakan Winget dengan perintah:
        Terminal window
        winget install --id=Hugo.Hugo.Extended -e
      • Atau, gunakan file binary yang diunduh dari halaman rilis. Ekstrak dan pindahkan file binary ke PATH.
    • Linux

      • Jika menggunakan distribusi berbasis Arch, gunakan perintah berikut untuk menginstal Hugo Extended:
        Terminal window
        sudo pacman -S hugo
      • Untuk Linux berbasis Debian atau Ubuntu, gunakan file binary yang diunduh dari halaman rilis.
      • Catatan: Pastikan untuk mengunduh hugo_extended_$VERSION_linux-$ARCH.deb
        (Tidak direkomendasikan untuk versi LTS, direkomendasikan untuk linux yang berbasis rolling releases, seperti Debian Sid)
      • Untuk distro lainnya bisa mengunduh hugo_extended_$VERSION_linux-$ARCH.tar.gz. Ekstrak dan pindahkan file binary ke PATH. (Direkomendasikan untuk versi LTS)
    • MacOS

      • Instal menggunakan Homebrew dengan perintah:
        Terminal window
        brew install hugo
  4. Setelah instalasi selesai, verifikasi apakah Hugo telah terpasang dengan benar. Jalankan perintah berikut:

Terminal window
hugo version
Cek Hugo Version
Cek Hugo Version

Membuat Website Dengan Hugo

Untuk membuat website menggunakan hugo, pertama harus membuat project hugo terlebih dahulu. Berikut langkah-langkahnya:

Membuat project Hugo

Untuk membuat poject hugo bisa menggunakan perintah hugo new site nama_project. Contoh:

Terminal window
hugo new site reza
Buat Project Baru
Buat Project Baru

Project baru akan memiliki struktur direktori dasar seperti berikut:

tree ~/reza
.
├── archetypes
│ └── default.md
├── assets
├── content
├── data
├── i18n
├── layouts
├── static
├── themes
└── hugo.toml
  • content/ : berisi konten website dalam format markdown.
  • data/ : berisi data tambahan yang digunakan dalam website.
  • layouts/ : berisi template HTML untuk website.
  • static/ : berisi file statis seperti gambar, CSS, dan JS.
  • themes/ : berisi tema yang digunakan dalam website.
  • hugo.toml : berisi konfigurasi website.
Struktur Project Hugo
Struktur Project Hugo

Menginstall dan Menambahkan Tema

Hugo menggunakan tema untuk tampilan website. Pilih tema dari https://themes.gohugo.io/. Misalnya, di tutorial ini menggunakan tema PaperMod.

  1. masuk ke direktori project hugo cd reza, lalu jalankan perintah dibawah ini.

    Terminal window
    git init
    git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/papermod

    git init digunakan untuk membuat repository git baru, sedangkan git submodule add digunakan untuk menambahkan tema PaperMod ke dalam project hugo.

Setting Tema
Setting Tema
  1. Perbarui file hugo.toml untuk menggunakan tema tersebut:

    theme = "PaperMod"
  2. Jika tema memerlukan konfigurasi tambahan, ikuti panduan yang tersedia di dokumentasi tema.

Setting Tema Menggunakan PaperMod
Setting Tema Menggunakan PaperMod

Membuat Postingan Website

Semua postingan website hugo terdapat di folder content/post atau content/posts. Untuk menambahkan postingan baru, gunakan perintah berikut:

Terminal window
hugo new posts/judul-postingan.md

Perintah diatas akan membuat file markdown baru di folder content/posts dengan nama judul-postingan.md. Edit file markdown tersebut sesuai dengan kebutuhan artikel yang akan ditulis.

Membuat Content atau Post Baru
Membuat Content atau Post Baru
~/reza/content/posts/judul-postingan.md
---
title: 'Judul Postingan'
date: 2025-01-28T10:00:00+07:00
draft: true # Ubah menjadi false jika sudah siap dipublikasikan
---
Ini adalah isi postingan.
- List item 1
- List item 2
**Teks tebal**
[Eza](https://eza.web.id)
Content Dengan Struktur Markdown
Content Dengan Struktur Markdown

Menjalankan Server Lokal

Untuk menjalankan server lokal Hugo, gunakan perintah berikut:

Terminal window
hugo server -D

Argumen -D digunakan untuk menampilkan draft postingan.

Menjalankan Server Lokal
Menjalankan Server Lokal

Sekarang, buka browser dan akses http://localhost:1313 untuk melihat website yang sedang dibuat. Setiap perubahan yang dilakukan pada file markdown akan langsung terlihat pada server lokal dan browser akan refresh otomatis.

Hugo Website Homepage
Hugo Website Homepage
Hugo Website Page
Hugo Website Page

Publikasi Website

Setelah selesai mengkonfigurasi project hugo, postingan, dan tema, website siap untuk dipublikasikan.
Untuk itu project perlu di-generate terlebih dahulu dengan perintah:

Terminal window
hugo

Untuk menghasilkan website statis yang siap di-deploy. File hasil generate akan berada di folder public.
Folder public dapat di-deploy ke berbagai platform hosting seperti Firebase, GitHub Pages, Netlify, dll.

Hosting Website Statis Berbagai Platform

Firebase

Firebase adalah salah satu platform hosting yang menyediakan layanan hosting website statis gratis milik Google. Untuk tutorial deploy website hugo ke Firebase, silahkan kunjungi halaman Cara Deploy Website Hugo ke Firebase.

Kesimpulan

Dengan menggunakan Hugo, dapat membuat website statis yang cepat, ringan, dan mudah dikelola. Panduan ini memberikan langkah-langkah dasar untuk memulai, mulai dari instalasi hingga publikasi. Selamat mencoba dan semoga berhasil!