Site Variabel Di Hugo
⛾ Home ─ hugo
Senin, 14 November 2022
(Diupdate: Kamis, 19 Januari 2023) -
📗
5 Menit
Disini kita akan belajar tentang site variable atau variabel situs di hugo. Gunakan site variable untuk mendapatkan nilai global dari situs hugo.
Site variable atau variabel situs adalah variabel dengan nilai global. Artinya, kamu dapat mengakses data secara global (tanpa halangan) dari situs hugomu.
Misalnya, kamu ingin memunculkan judul dari semua halaman di situs hugo. Maka kamu dapat menggunakan site variable.
Contoh penggunaan site variable di file index.html:
1{{ range .Site.Pages }}
2 <h1>{{ .Title }}</h1>
3{{ end }}
range digunakan untuk memanggil semua data yang terdapat di .Site.Pages.
Pastikan, selalu tutup range dengan {{ end }}.
Kamu dapat menganggap range seperti for loop di bahasa Go/Golang.
.Title digunakan untuk mendapatkan judul dari setiap halaman yang di looping (range).
Setelah sedikit mengetahui cara menggunakan site variable di hugo. Sekarang, saya akan memberikan beberapa daftar dan rincian dari site variable yang dapat kita gunakan.
Daftar Site Variable
.Site.AllPages
Variabel ini digunakan untuk memanggil semua daftar halaman di situs hugo. Halaman utama, halaman khusus, halaman artikel atau konten, dan halaman lainnya.
.Site.Author
Variabel ini digunakan untuk memanggil data terkait author. Data dapat berupa nama, hobi, umur, atau data-data lainnya yang terkait dengan author.
Data-data tersebut ditetapkan di file konfigurasi situs (config.toml).
Sebagai contoh, kita dapat membuat data seperti ini:
File config.toml:
1[author]
2nama = doni setiawan
3hobi = menulis
Untuk memanggil nama author, kita harus melakukan ini:
1{{ .Site.Author.nama }}
Output: doni setiawan
.Site.BaseURL
Variabel ini digunakan untuk mendapatkan alamat url dari halaman utama situs hugo.
Contoh, https://www.domainku.com
.
.Site.BuildDrafts
Variabel ini digunakan untuk mengetahui apakah artikel yang berada dalam draft (true) ikut di build atau dipublikasi ke situs hugo.
Sebagai contoh, kamu bisa mengikut sertakan artikel dengan variabel draft=true
agar ikut dimunculkan di situs hugo dengan menggunakan perintah ini:
1hugo server -D
variabel draft diatur di bagian front matter konten.
-D digunakan sebagai perintah untuk mengikut sertakan artikel yang berada dalam draft (true).
Selain menggunakan -D, kamu juga dapat menggunakan –buildDrafts.
Selain menggunakan perintah diatas, kamu juga bisa langsung mengatur apakah ingin mengikut sertakan artikel yang berada dalam draft melalui konfigurasi situs (config.toml).
Untuk melakukannya, gunakan variabel buildDrafts
di file config.toml:
Tambahkan ini di file config.toml
1buildDrafts = true
.Site.Copyright
Variabel ini digunakan untuk memanggil nilai dari variabel copyright
. Umumnya berupa kalimat atau kata-kata yang menjadi bagian copyright situs.
Copyright situs biasanya ditampilkan di bagian footer dari blog, website atau forum sebagai informasi tentang hak cipta.
Copyright dapat diatur melalui file konfigurasi situs (config.toml).
Contoh copyright di file config.toml
1copyright = "Copyright 2022 Example LLC. All rights reserved."
.Site.Data
Digunakan untuk membuat sebuah data atau nilai kustom melalui file khusus dibawah folder bernama data.
1belajarhugo
2 |
3 ├── archetypes
4 | ├── default.md
5 |
6 ├── config.toml
7 ├── content
8 ├── data
9 ├── layouts
10 | ├── _default
11 | ├── partials
12 | ├── 404.html
13 | ├── index.html
14 |
15 ├── public
16 ├── static
17 └── themes
File haruslah berekstensi YAML, JSON, XML, atau TOML. Misalnya file dengan nama data-tambahan.toml.
1data
2 ├── data-tambahan.toml
Berikut ini adalah contoh pendeklarasian dan penggunaan data kustom.
Tulis ini di file data-tambahan.toml yang kamu buat:
1Nama = 'Dimas'
2'Deskripsi' = 'Umurnya 20 tahun.'
Cara menggunakan atau memanggil data kustom:
File single.html:
1<p>Si {{ .Site.Data.Nama }} {{ .Site.Data.Dimas "Deskripsi" | markdownify }}</p>
Output: Si Dimas Umurnya 20 tahun.
.Site.DisqusShortname
Digunakan untuk mendapatkan nama pendek (shortname) disqus yang telah diatur di file konfigurasi situs (config.toml).
Contoh di file config.toml:
1disqusShortname = 'namapendekakundisqusmu'
Pastikan kamu sudah menggunakan template internal disqus di situs hugo.
Template internal hugo adalah sebuah kode (template) atau script yang dibuat hugo untuk membantu dan memudahkan pengelolaan situs hugo.
Jika belum pernah menggunakan template internal hugo untuk disqus, letakkan kode dibawah ini ke file head.html.
Salin dan tempel kode ke file head.html:
1{{ template "_internal/disqus.html" . }}
Setelah itu kamu bisa mendapatkan shortname disqus menggunakan variabel {{ .Site.DisqusShortname }}
.
Kalau mau dibuatkan tutorial install komentar disqus di situs hugo, silahkan request di kolom komentar.
Kalau ada waktu saya sempatkan membuat tutorialnya.
.Site.GoogleAnalytics
Digunakan untuk mendapatkan kode pelacakan dari google analaytics yang sudah di atur di file konfigurasi situs (config.toml).
Contoh kode pelacakan GA (Google Analytics) di file config.toml:
1googleAnalytics = 'G-MEASUREMENT_ID'
Variabel {{ .Site.GoogleAnalytics }}
akan mengembalikan nilai G-MEASUREMENT_ID.
.Site.Home
Digunakan untuk mendapatkan halaman utama situs hugo.
Selain halaman utama itu sendiri, kamu bisa menargetkan judul, url, teks atau hal lainnya dari halaman utama.
Sebagai contoh, kode dibawah digunakan untuk mendapatkan url dan judul dari halaman utama situs hugo.
1<h1><a href="{{ .Site.Home.Permalink }}">{{ .Site.Home.Title }}</h2>
.Site.IsMultiLingual
Digunakan untuk mengecek apakah situs hugo menggunakan multi bahasa (maksudnya menggunakan lebih dari satu bahasa).
.Site.IsServer
Hugo mengecek apakah saat ini kamu menggunakan server hugo untuk menjalankan situs. Lihat selengkapnya di dokumentasi resminya.
.Site.Language.Lang
Digunakan untuk mendapatkan kode bahasa dari situs hugo. Contohnya kode en
untuk bahasa english (inggris).
.Site.Language.LanguageName
Digunakan untuk mendapatkan bahasa dari situs hugo. Contohnya English
, Indonesian
, dll.
.Site.Language.Weight
Digunakan untuk mendapatkan daftar bahasa dari situs hugo berdasarkan weight (umumnya urutan dalam bentuk angka) yang telah diatur pada setiap bahasa di file konfigurasi (config.toml).
.Site.Language
Digunakan untuk mendapatkan bahasa saat ini. Ini mirip dengan .Site.Language.Lang tadi.
.Site.LanguageCode
Berisi string yang mewakili kode bahasa dari situs hugo.
Sebagai contoh, kode en-us
untuk english united states (bahasa inggris dari united states atau amerika).
.Site.LanguagePrefix
Digunakan untuk mengawali url agar menunjuk ke bahasa yang benar dari halaman hugo.
.Site.Languages
Array yang berisi daftar semua bahasa di situs hugo.
.Site.LastChange
Digunakan untuk memunculkan waktu terakhir saat halaman di edit, dirubah atau di modifikasi.
Misalnya saat menambahkan atau merubah teks, gambar, atau lainnya.
Ini merujuk pada variabel date
di front matter artikel/konten.
.Site.Menus
Digunakan untuk mendapatkan data dari menu yang dibuat di file konfigurasi situs (config.toml).
Kamu dapat membuat menu header, footer, dan menu lainnya menggunakan menus.
Dan memanggil properti menu menggunakan menu entry properties atau biasa disebut variabel menu.
Nantinya akan saya bahas juga tentang variabel menu di hugo.
.Site.Pages
Variabel ini berisi semua halaman di situs hugo yang kamu buat.
Gunakan function range dan page variable hugo untuk mendapatkan semua halaman.
.Site.Params
Variabel ini digunakan untuk mendapatkan data params yang dibuat di file konfigurasi situs (config.toml).
Berikut ini adalah cara membuat params dengan data kustom (sesuai kemauan) di file config.toml:
Contoh di file config.toml:
1[params]
2 author = 'doni setiawan'
3 deskripsi = 'penulis artikel ini'
Cara mendapatkan data yang dibuat menggunakan params:
1<div>{{ .Site.Params.author }}</div>
2<p>{{ .Site.Params.deskripsi }}</p>
.Site.RegularPages
Variabel ini berisi semua halaman markdown didalam folder content.
Gunakan function range dan page variable hugo untuk mendapatkan halaman reguler.
.Site.Sections
Variabel ini berisi semua halaman kategori atau halaman khusus yang sudah dibuat.
Contohnya seperti halaman Blog, halaman News atau halaman khusus lainnya.
.Site.Taxonomies
Variabel ini digunakan untuk mengakses data taxonomy.
Data taxonomy dibuat di file konfigurasi situs (config.toml).
Nantinya akan saya bahas tentang cara membuat dan menggunakan taxonomy di pembelajaran mendatang.
.Site.Title
Digunakan untuk mendapatkan judul situs hugo (judul di halaman utama situs hugo).
Judul situs hugo diatur di file konfigurasi situs (config.toml).