Mengindeks File di Website Statis Hugo

26 Sya’ban, berarti bentar lagi lebaran. Bukan. Bukan buru-buru lebaran, tapi saya jadi inget blog tak terawat ini. Kalau diperhatikan lama-lama blog ini cuma jadi wadah saya mengirim nge-troll kartu ucapan selamat hari raya. Semisal https://ahmadiham.id/dan/keluarga/mengucapkan/selamat-idul-fitri/. Sedih euy..

Memulai itu yang termudah. Istiqomah menjalani apa yang telah dimulai itu yang sulit.

Kali ini saya mau bahas proyek web senilai 2M lagi. Salah satu permintaan dari klien saya adalah sebuah halaman yang mengindeks dokumen yang dapat diunduh pengunjung. Masalahnya web senilai 2M ini saya buat menggunakan SSG (Static Site Generator). Tadinya saya pikir “ya kali gw edit html tiap klien upload file”. Tapi untungnya Hugo punya solusi buat masalah tantangan semacam ini. Yaitu menggunakan fungsi readerDir dan readFile. Dan beruntungnya lagi udah dicontohin shortcode-nya.

{{- $pathURL := .Get "pathURL" -}}
{{- $path := .Get "path" -}}
{{- $files := readDir $path -}}
<table>
    <th>Size in bytes</th>
    <th>Name</th>
{{- range $files }}
    <tr>
        <td>{{ .Size }}</td>
        <td><a href="{{ $pathURL }}{{ .Name | relURL }}" target="_blank"> {{ .Name }}</a></td>
    </tr>
{{- end }}
</table>

Demo : https://ahmadiham.id/indexer

Markdown :

---
title: Demo File Indexer Hugo
date: 2022-03-29
type: page
---
{{< directoryindex path="/static/unduh" pathURL="/unduh" >}}

Assalamualaykum!

Referensi

https://t.me/halamanbelakang

https://gohugobrasil.netlify.app/templates/files/

comments powered by Disqus