File Variable Di Hugo
icon-hugo

⛾ Home hugo Selasa, 22 November 2022 (Diupdate: Kamis, 19 Januari 2023) - 📗 2 Menit

Disini kita akan belajar tentang File Variable. Mulai dari belajar apa itu file variable, fungsinya untuk apa, dan daftar file variable yang dapat digunakan di hugo.

File variable atau variabel file adalah sebuah cara untuk mengatur file di situs hugo.

Dengan file variable, kita dapat melakukan berbagai macam hal yang berkaitan dengan file.

Sebagai contoh, misalnya saya ingin mengetahui jalur file dari halaman saat ini.

Dan menggunakan jalur file untuk membuat sebuah pengkondisian (misalnya menggunakan if condition).

Atau melakukan hal-hal lainnya yang membutuhkan sebuah file.

Contoh penggunaan file variable

Dibawah ini adalah contoh penggunaan file variable untuk memunculkan lokasi file dari halaman.

1{{ range .Pages }}
2    <div class="container">
3        <h3><a href="{{ .Permalink }}">{{ .Title }}</a></h3>
4        <div class="loc-file">Location File: {{ .File.Path }}</div>
5        {{ .Content }}
6    </div>
7{{ end }}

Perlu di ingat, kode diatas hanyalah contoh!

Penggunaan sebenarnya mungkin akan lebih rumit dan membutuhkan banyak pengkondisian.

Daftar File Variable di Hugo

.File.Path

Mereferensikan jalur relatif file untuk halaman saat ini.

Contoh:

Halaman dengan url => https://domain.com/blog/artikel1.

Akan mengembalikan nilai => /blog/arikel1.md

.File.LogicalName

Mereferensikan nama file dari halaman saat ini.

Contoh:

Halaman dengan url => https://domain.com/blog/artikel1.

Akan mengembalikan nilai => artikel1.md

.File.TranslationBaseName

Mereferensikan nama file dari halaman saat ini tanpa ekstensi file dan tanpa kode bahasa.

Ini berguna jika kamu mempunyai situs dengan beberapa bahasa dan tidak ingin memunculkan ekstensi file dan kode bahasa.

Contoh:

Halaman dengan url => https://domain.com/blog/jp/artikel1.

Url diatas merujuk ke jalur file => /blog/artikel1.jp.md. (jp == jepang)

Akan mengembalikan nilai => artikel1

.File.ContentBaseName

Mereferensikan nama file dari halaman saat ini tanpa ekstensi file dan tanpa kode bahasa.

Atau mereferensikan nama folder JIKA halaman bertipe leaf (tunggal).

Lihat arti dari leaf di dokumentasi hugo.

Contoh:

Halaman dengan url => https://domain.com/blog/es/artikel1.

Url diatas merujuk ke jalur file => /blog/artikel1.es.md. (es == spanyol)

Akan mengembalikan nilai => artikel1

.File.BaseFileName

Mereferensikan nama file tanpa ekstensi, namun tidak menghilangkan kode bahasa (jika ada).

Contoh:

Halaman dengan url => https://domain.com/blog/en/artikel1

Url diatas merujuk ke jalur file => https://domain.com/blog/artikel1.en.md. (en == english).

Akan mengembalikan nilai => artikel1.en

.File.Ext

Mereferensikan ekstensi file dari halaman saat ini (hanya mengembalikan ekstensi file tanpa nama file itu sendiri).

Contoh:

Halaman dengan url => https://domain.com/blog/artikel1

Url diatas merujuk ke jalur file => https://domain.com/blog/artikel1.md.

Akan mengembalikan nilai => md

.File.Lang

Mereferensikan kode bahasa yang terkait dengan file pada halaman saat ini (hanya mengembalikan kode bahasa tanpa nama file atau ekstensi file itu sendiri).

Contoh:

Halaman dengan url => https://domain.com/blog/en/artikel1

Url diatas merujuk ke jalur file => https://domain.com/blog/artikel1.en.md. (en == english).

Akan mengembalikan nilai => en

.File.Dir

Mereferensikan jalur folder dari file pada halaman saat ini (hanya mengembalikan nilai berupa nama folder (jika ada)).

Contoh:

Halaman dengan url => https://domain.com/blog/artikel1

Akan mengembalikan nilai => /blog

.File.UniqueID

Ini fitur PENTING!.

Setiap file (halaman) di situs hugo akan menghasilkan nilai unik.

Nilai unik ini dapat digunakan untuk berbagai kondisi dan penggunaan.

Karena nilainya unik (tidak duplikat atau plagiat) kita dapat mengatur kondisi KHUSUS untuk satu halaman tertentu.

Misalnya di halaman /artikel1 kita ingin memunculkan sebuah pesan tertentu, atau hal lainnya.

Maka kita dapat memanfaatkan fitur .File.UniqueID ini.

Contoh:

Halaman dengan url => https://domain.com/blog/artikel1

Akan mengembalikan nilai => 5b28ae662402a6b8db5617a1d05e0f1a

Kategori: Hugo

captcha-img