Tag atau Kategori di Hugo dengan Taxonomy

Blog pada umumnya membutuhkan sistem kategori atau tag untuk membuat konten kita bisa lebih rapi. Di tulisan lainnya kita pernah belajar kita bisa membuat folder dan memasukkan konten / filennya ke folder masing-masing, itu adalah salah satu cara untuk membuat struktur websitenya lebih rapi. Cara lain adalah menggunakan Taxonomy.


Kita tidak perlu melakukan apapun di site config Hugonya untuk mulai menggunakan sistem taxonomy ini.


[[table-content]]


Apa kegunaan Taxonomy

Taxonomy sendiri bisa kamu bayangkan seperti berbagai macam kategori dari konten kamu.


Sebagai contoh kita punya website seperti youtube. Maka taxonomy yang bisa kita punya:

  • Kreator (pembuat video)
  • Tahun
  • Jenis Video (musik, ceramah, curhat, etc..)
  • dan lain lain


Jadi, setiap kamu membuat konten dan mendeskripsikan taxonomy atau kategori-kategori di atas, makan Hugo akan membuat halaman masing-masing untuk daftar kategori tersebut, jadi mudah untuk kamu melakukan filter konten.


Cara membuat taxonomy Hugo

Untuk menambahkan taxonomy nya, kita cukup memberi informasi di front matter, ingat, setiap informasi "meta" dari konten, kita masukkan ke front matter.


Secara automatis, kata "category" dan "tag" adalah taxonomy yang bisa kamu gunakan. Untuk di luar nama tersebut bisa ditambahkan di file config nya

(sebagai contoh menambahkan "series")

taxonomies:
  category: categories
  tag: tags
  series: series


Atau hanya menggunakan salah satunya.

Contoh hanya mau menggunakan tag.

taxonomies:
 tag: tags


Contoh konten yang menggunakan taxonomy "tags" pada front matternya


---
title: "Post Pertama"
date: 2020-08-15T09:44:10+08:00
draft: false
tags:
- html
- css
- javascript
---


Halaman untuk semua taxonomy kamu ada di /tags/index.html

Halaman untuk salah satu taxonomu kamu ada di /tags/NAMA/index.html


Sekarang, saat kamu membuat web/tags kamu akan melihat daftar tag tersebut

Klik salah satunya, dan akan ada daftar post yang menggunakan tag nya.


Cara menampilkan daftar Tag

Bagaimana kalau kamu mau menampilkan semua daftar tag yang ada di website kamu? Kita bisa melakukannya, dengan loop(range) .SIte.Taxonomies.tags nya

<ul>
    {{ range $name, $taxonomy := .Site.Taxonomies.tags }}
       <li> <a href="/tags/{{$name}}"> {{$name}} </a></li>
    {{ end }}
</ul>


Bagaimana dengan halaman masing-masing? jika kamu mau menampilkan daftar tag yang dimiliki setiap halamannya

di bagian layouts/_default/single.html, letakkan dimana kamu mau menampilkan tagnya


{{ with .Params.tags }}
<ul>
    {{range .}}
        <li>
            <a href="/tags/{{ . | urlize }}">{{ . }}</a>
        </li>
    {{end}}
</ul>
{{ end }}





meta: cara membuat tag di Hugo, cara membuat kategori di Hugo,

hugo
avatar hilmanski

Ditulis oleh @hilmanski

"luaskan ilmu & luaskan manfaat"