Miftahus Surur

Miftahus Surur
1 menit baca


Membuat Link External di Hugo


Dalam sebuah website tentu kita tak asing lagi berhubungan dengan link, baik itu link internal maupun external.

Secara default tag a href akan menghasilkan link internal. Sebagai contoh:

<a href="https://surur.my.id">Personal Blog</a>

Dan untuk link external tentu cukup hanya menambahkan atribut target="_blank" Seperti berikut:

<a href="https://surur.my.id" target="_blank">Personal Blog</a>

Mudah bukan….

Eits.. tapi bukan sesederhana itu masalahnya.

Permasalahan

Blog pribadi ini saya bangun dengan stack Hugo (SSG) . Di hugo secara default semua link di postingan akan menghasilkan link internal walapun kita sudah menambahkan atribut target="_blank"

Tentu ini tidak nyaman rasanya jika di kondisi tertentu ingin melampirkan link external, misal disetiap postingan artikel kita ingin mencantumkan link referensi tapi dengan link external agar terbuka di tab baru.

Solusi

Setelah mendaki gunung lewati lembah, akhirnya ketemu solusi yang indah.

  1. Buat file render-link.html di layout/_default/_markup/render-link.html, jika belum ada folder _markup tinggal bikin saja.

  2. Tambahkan script berikut kedalam render-link.html

     <a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if strings.HasPrefix .Destination "http" }} target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a>
    

Penjelasan singkat
Script diatas akan menghasilkan link external dimana link href ada http / https.

Referensi


hugo ssg

comments powered by Disqus