File Konfigurasi Situs config.toml
icon-hugo

โ›พ Home โ”€ hugo Minggu, 04 Desember 2022 (Diupdate: Kamis, 19 Januari 2023) - ๐Ÿ“— 9 Menit

Disini kamu akan belajar tentang dasar-dasar file konfigurasi situs hugo. Mulai dari mengetahui apa itu file konfigurasi situs, sampai fungsi dan parameter yang dapat digunakan.

File konfigurasi situs adalah sebuah file yang mengatur keseluruhan dari situs hugo.

Secara default, file konfigurasi situs akan memiliki nama config.toml pada folder root hugo.

Jenis file konfigurasi situs

Secara default, hugo akan membuat file konfigurasi situs dalam format file toml. Lihat selengkapnya disini.

Kita juga dapat mengubah jenis format file tersebut dengan mengganti atau me-rename nama filenya.

Misalnya, config.toml menjadi => config.yaml (diubah ke file format yaml).

Berikut ini adalah beberapa format yang dapat digunakan:

  1. toml
  2. yaml
  3. json

Sesuaikan cara penulisan file konfigurasi situs dengan format file yang kamu gunakan.

Contoh penulisan di file konfigurasi situs dengan format toml:

 1baseURL = 'https://belajar.donisetiawan.web.id'
 2title = "Belajar Setiawan"
 3theme = 'temakustom'
 4
 5[outputs]
 6    home = ["HTML", "RSS", "SearchIndex"]
 7
 8[outputFormats]
 9    [outputFormats.SearchIndex]
10        mediaType = "application/json"
11        baseName = "searchindex"
12        isPlainText = true
13        notAlternative = true

[output] adalah contoh penulisan parameter yang memiliki item atau aturan tersendiri.

Jadi, tidak semua parameter ditulis seperti theme = 'temakustom'.

Contoh penulisan di file konfigurasi situs dengan format yaml:

 1baseURL: https://belajar.donisetiawan.web.id
 2title: Belajar Setiawan
 3theme: temakustom
 4
 5outputs:
 6    home:
 7    - HTML
 8    - RSS
 9    - SearchIndex
10
11outputFormats:
12    SearchIndex:
13        mediaType: application/json
14        baseName: searchindex
15        isPlainText: true
16        notAlternative: true

Contoh penulisan di file konfigurasi situs dengan format json:

 1{
 2    "baseURL": "https://belajar.donisetiawan.web.id",
 3    "title": "Belajar Setiawan",
 4    "theme": "temakustom",
 5    "outputs": [
 6        "home": [
 7            "HTML",
 8            "RSS",
 9            "SearchIndex"
10        ]
11    ],
12    "outputFormats": [
13        "SearchIndex": [
14            "mediaType": "application/json",
15            "baseName": "searchindex",
16            "isPlainText": true,
17            "notAlternative": true
18        ]
19    ]
20}

Daftar parameter file konfigurasi situs (config.toml)

archetypeDir

Default value: “archetypes”

Digunakan untuk mengubah jalur default dari folder archetypes.

assetDir

Default value: โ€œassetsโ€

Digunakan untuk mengubah jalur default dari folder assets.

baseURL

Digunakan untuk mengatur alamat url utama (root) situs hugo. Contohnya https://www.domainku.com.

buildDrafts

Default value: false

Digunakan untuk mengatur draf pada konten atau artikel, apakah artikel draf ingin ikut dipublikasikan (ditampilkan ke situs) atau tidak.

Draf konten atau artikel di atur di front matter, menggunakan parameter bernama draf. Lihat disini

buildExpired

Default value: false

Digunakan untuk mengatur konten atau artikel yang memiliki jangka waktu tertentu (memiliki waktu kadaluarsa), apakah ingin ingin ikut dipublikasikan (berarti memaksa publikasi dari artikel yang memiliki jangka waktu yang telah diatur) atau tidak.

Di hugo kita dapat mengatur jangka waktu dari artikel menggunakan parameter bernama expiryDate di front matter artikel.

Lihat selengkapnya disini

buildFuture

Default value: false

Digunakan untuk mengatur konten atau artikel yang memiliki jadwal publikasinya sendiri, apakah ingin ikut dipublikasikan (dipaksakan publikasinya) atau tidak.

canonifyURLs

Default value: false

Jika di setting ke true, maka semua url relatif di situs hugomu akan diubah menjadi url absolut (yaitu url dengan jalur lengkap).

Contoh url absolut: https://domainku.com/hugo/berkenalan-dengan-hugo.

Contoh url relatif: /hugo/berkenalan-dengan-hugo.

contentDir

Default value: โ€œcontentโ€

Digunakan untuk mengubah jalur default dari folder content.

Default value: โ€œโ€

Digunakan untuk mengatur teks atau isi dari copyright web. Biasanya copyright ini berisi kalimat seperi “ยฉ All rights reserved” atau semacamnya.

dataDir

Default value: โ€œdataโ€

Digunakan untuk mengubah jalur default dari folder data.

Folder data ini digunakan sebagai data tambahan untuk situs hugo kita. Misalnya, data tambahan berupa json yang nantinya akan digunakan di salah satu artikel atau hal-hal semacam itu.

defaultContentLanguage

Default value: โ€œenโ€

Digunakan untuk mengatur bahasa default (bahasa utama) situs hugo.

Misalnya, indonesia => “id”, spanyol => “es”, jepang => “jp” dan lain-lain.

defaultContentLanguageInSubdir

Default value: false

Digunakan untuk merender atau menampilkan bahasa yang digunakan di url.

Sebagai contoh, https://domainku.com menjadi => https://domainku.com/en/.

Atau https://domainku.com/artikel1 menjadi => https://domainku.com/en/artikel1.

disableAliases

Default value: false

Digunakan untuk menonaktifkan fitur alias pada url.

Fitur alias digunakan untuk me-redirect atau mengalihkan url halaman. Misalnya untuk url yang artikelnya sudah dihapus atau karena masalah error.

Lihat contoh pengalihan url disini.

disableHugoGeneratorInject

Default value: false

Secara default, hugo akan membuat tag generator hugo ke struktur html situs hugo.

Untuk menonaktifkan generator hugo, gunakan parameter disableHugoGeneratorInject ini dan setting ke true.

disableKinds

Default value: []

Digunakan untuk menonaktifkan halaman tertentu di situs hugomu.

Misalnya jika ingin menonaktifkan halaman taxonomy. Maka sintaksnya akan terlihat seperti ini:

File config.toml:

1disableKinds = ["taxonomy"]

Berikut ini beberapa daftar halaman di situs hugo: "page", "home", "section", "taxonomy", "term", "RSS", "sitemap", "robotsTXT", "404".

disableLiveReload

Default value: false

Digunakan untuk menonaktifkan live reload di browser. Live reload adalah fitur yang membuat browser merefresh secara otomatis saat terjadi perubahan pada file proyek kita.

disablePathToLower

Default value: false

Digunakan untuk menonaktifkan fitur url yang mengubah semua huruf besar (kapital) menjadi huruf biasa.

enableEmoji

Default value: false

Digunakan untuk mengaktifkan fitur emoji di hugo ๐Ÿ˜„.

enableGitInfo

Default value: false

Digunakan untuk mengaktifkan Git di hugo.

Dengan mengaktifkan parameter enableGitInfo ini, kita dapat mengambil informasi tentang git pada situs.

Misalnya saat melakukan git commit terakhir, kita ingin mengambil waktu dan tanggalnya sebagai waktu dan tanggal update dari konten di situs.

Atau untuk hal-hal lainnya seperti mengambil hash dari commit.

Baca disini lebih lanjut, Git variable di hugo.

enableInlineShortcodes

Default value: false

Digunakan untuk mengaktifkan fitur shortcode di hugo.

Baca lebih lanjut tentang shortcode disini, Shortcode variable di hugo.

enableMissingTranslationPlaceholders

Default value: false

Digunakan untuk menampilkan atribut html placeholder, jika terjemahan tidak bekerja dengan semestinya. Misalnya teks tidak diterjemahkan

enableRobotsTXT

Default value: false

Jika true, hugo akan membuat file robots.txt secara otomatis saat kamu melakukan build dengan perintah hugo.

googleAnalytics

Default value: ""

Digunakan untuk menyematkan tracking ID atau ID tag dari properti Google Analytics.

Lihat ID tag disini.

hasCJKLanguage

Default value: false

Jika true, maka bahasa yang ada pada situs akan di deteksi dan ditampilkan dengan benar. Termasuk variabel dari .Summary dan .WordCount.

Ini digunakan jika kamu memiliki beberapa bahasa pada situs hugomu.

languageCode

Default value: ""

Kode bahasa untuk situs hugo. Misalnya, en => english, es => spanyol, jp => jepang, dan lain-lain.

disableLanguages

Digunakan untuk menonatifkan bahasa yang ada pada situs.

Misalnaya, website atau blogmu menggunakan banyak bahasa, tetapi ingin menonaktifkan salah satu atau beberapa bahasa.

File config.toml:

1disableLanguages = ["jp", "fr"]

newContentEditor

Default value: ""

Digunakan untuk membuka code editor seperti vscode atau code editor lainnya saat membuat sebuah konten atau artikel baru menggunakan perintah hugo new artikel1.md.

Sebagai contoh, saya akan memberikan nilai code untuk parameter newContentEditor.

1newContentEditor = "code"

Setelah saya mengisinya dengan nilai code. Maka vscode saya akan otomatis terbuka saat saya membuat konten atau artikel baru.

noChmod

Default value: false

Jika true, maka semua izin pada file akan dinonaktifkan. Misalnya sudo chmod +x artikel1.md tidak akan bisa.

noTimes

Default value: false

Jika true, maka tanggal dan waktu modifikasi dari file tidak akan ada.

paginate

Default value: 10

Digunakan untuk mengatur jumlah maksimum konten atau artikel pada halaman di situs hugo.

Misalnya, untuk halaman home hanya akan menampilkan total 7 artikel.

Untuk artikel yang hilang atau tersembunyi. Kamu bisa menggunakan pagination untuk beralih ke halaman dari artikel8, artikel9, dst.

Lihat tentang pagination disini (maaf konten belum tersedia).

paginatePath

Default value: “page”

Digunakan untuk memberikan nama untuk halaman yang dibagi (halaman dengan paginate).

Misalnya, halaman home maksimum menampilkan 7 artikel. Artikel selanjutnya 8, 9, dst akan berada pada halaman selanjutnya.

url halaman selanjutnya akan seperti ini: https://domainku.com/page/2/.

paginatePath digunakan untuk mengubah kata page ini ke kata yang ingin kita atur sendiri.

File config.toml:

1paginatePath = "halaman"

Contoh diatas akan memberikan url halaman selanjutnya berubah jadi seperti ini: https://domainku.com/halaman/2/.

pluralizeListTitles

Default value: true

Digunakan untuk mengatur judul untuk halaman list (yaitu halaman yang diatur oleh file list.html).

Jika true maka akan memberikan nilai jamak dari judul.

Misalnya, judul halaman blog saya adalah “Blog” akan menjadi “Blogs” (secara otomatis hugo menambahkan huruf “s” diakhir judulnya).

publishDir

Default value: “public”

Digunakan untuk mengubah jalur default dari folder public.

Folder public digunakan untuk menyimpan hasil semua file html, robots.txt, dll yang sudah dibuat.

Belajar lebih lanjut tentang folder public disini.

relativeURLs

Default value: false

Digunakan untuk mengaktifkan url realtif (url tidak lengkap) pada situs hugo.

contoh url absolut: https://domainku.com/hugo/artikel1.

contoh url realtif: /hugo/artikel1.

Url relatif hanya akan berfungsi jika url atau link berasal dari situs yang sama.

refLinksErrorLevel

Default value: ERROR

Ketika menggunakan ref dan relref untuk mendapatkan url halaman, jika terjadi error maka hugo secara otomatis mencetak “ERROR”.

Nah, kamu dapat mengatur nilai atau pesan dari ERROR tersebut.

Misalnya, “WARNING”.

removePathAccents

Default value: false

Digunakan untuk menghapus tanda atau mark yang tidak sesuai dengan penulisan pada umumnya.

Contohnya seperti: /post/hรผgรณ.md akan diubah menjadi => https://domainku.com/post/hugo.

rssLimit

Default value: -1 (unlimited)

Digunakan untuk membatasi jumlah maksimum item atau url untuk RSS feed.

summaryLength

Default value: 70

Digunakan untuk mengatur jumlah kata dari variabel .Summary.

theme

Digunakan untuk mengidentifikasi tema yang akan digunakan di situs hugo.

File config.toml:

1theme = "namatema"

Folder tema dibuat di dalam folder themes. Kamu dapat membuat banyak tema di situs hugo dan dapat mengubah tema menggunakan parameter theme ini.

Letak folder tema:

 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
18           โ”œโ”€โ”€ tema1
19           โ”œโ”€โ”€ tema2
20           โ”œโ”€โ”€ tema3

Kamu dapat membuat tema hugo menggunakan perintah hugo new theme namatemanya.

Setelah menggunakan perintah tersebut, secara ootomatis tema akan dibuat bersamaan dengan folder dan file yang dibutuhkan.

themesDir

Default value: “themes”

Digunakan untuk mengubah jalur default dari folder themes.

timeout

Default value: “30”

Digunakan untuk menambahkan waktu saat melakukan build situs hugo. Nilai defaultnya adalah 30 detik.

Tambahkan waktu jika kamu mengalami masalah karena waktu build yang dibutuhkan lebih lama.

Salah satu contoh error yang terjadi karena masalah waktu build adalah seperti output dibawah ini:

1Hugo Static Site Generator v0.59.1-D5DAB232/extended linux/amd64 BuildDate: 2019-10-31T15:28:09Z
2Building sites โ€ฆ
3Total in 25937 ms
4Error: Error building site: "/opt/build/repo/content/article/2016-11-01-my-iot-exploration-part-2-raspberry-pi-sense-hat/index.md:1:1": 
5timed out initializing value. This is most likely a circular loop in a shortcode

Jika nilai yang diatur tidak dapat berfungsi. Kamu bisa mengubahnya dalam satuan miliseconds dan mengubahnya menjadi tipe integer.

Contoh => timeout = 50000.

timeZone

Default value: Sesuai waktu pada sistem perangkat.

Digunakan untuk mengatur zona waktu untuk konten atau artikel di situs hugo. Misalnya, kamu dapat mengaturnya ke Europe/Oslo untuk waktu eropa bagian Oslo.

Lihat semua zona waktu disini.

title

Digunakan untuk mengatur judul untuk situs hugo. Ini akan menjadi judul utama dari situs hugo.

titleCaseStyle

Default value: “AP”

Digunakan untuk mengatur style untuk judul situs hugo.

Contohnya: blog tutorial menjadi => Blog Tutorial.

Nilai lainnya seperti Chicago atau Go (huruf kapital di setiap awal kata).

Kamu dapat menggunakan tools ini untuk mengetahui dan mencoba jenis-jenis style untuk judul.

uglyURLs

Default value: false

Digunakan untuk menyematkan nama ektensi dari file pada halaman.

Sebagai contoh, jika uglyURLs = true maka url ini https://domainku.com/artikel1.html akan menjadi => https://domainku.com/artikel.

watch

Default value: false

Perhatikan perubahan yang terjadi pada sistem file dan buat ulang sesuai kebutuhan.

Saya kurang mendalami tentang fitur watch ini.

Tetapi yang pasti, pada dokumentasi hugo jika kamu menggunakan mesin nix, maka kamu dapat melakukan hal seperti dibawah ini.

1// buka folder dari proyek hugomu
2cd ~/belajarhugo
3hugo config | grep emoji

output: enableemoji: true

Contoh diatas digunakan untuk mendapatkan konfigurasi emoji hanya dengan menggunakan perintah di terminal.

Hal seperti itu sebenarnya juga dapat kita lakukan dengan terminal bash.

Selengkapnya silahkan lihat saja disini => mesin nix.

Kategori: Hugo

captcha-img