Open Source

Hugo ile Makalelere Son Değiştirilmiş Tarih Nasıl Eklenir?

Okuma Süresi : 2 dk

Sitemin altyapısı Hugo ve ara ara hem kendimi geliştirmek hem de tema yapısını Hugo’nun sağladığı basit ama güçlü değişkenlerle güncellemek hoşuma gidiyor.

Hugo ile yayınladığım makaleler için “Yayınlanma Tarihi” ve “Son Değiştirilmiş Tarih” bilgilerini getirebiliyorum. Bunun için tarih bilgileri date ve son güncel tarih lastmod parametrelerinden geliyor. Her ikisi de front-matter içerisinden tanımlanabiliyor.

Front-matter tarihlerinizi manuel olarak girebilir ve archetype ile bunu varsayılan hale kolaylıkla getirebiliyorsunuz. Basitçe front-matter içerisine şöyle bir ekleme yapılabilir:


date: "2023-02-28"
lastmod: "2023-03-01"

Ardından, layout şablonunuzda, örneğin single.html bu veriye erişmek için :


{{ $date := .Date.Format "02.01.2006" }}
{{ $lastmod := .Lastmod.Format "02.01.2006" }}

Yayınlandı: {{ $date }}
Düzenlendi: {{ $lastmod }}

Hugo’nun önceden tanımlanmış bir frontmatter değişkeni olan LastMod önemli detaylar sunuyor. Ama Hugo’nun lastmod için sunduğu daha da iyi bir özellik var. Hugo’nun GIT entegrasyonu, LastMod değerini dosyanın GIT geçmişinden elde edebiliyor. Önce config.toml dosyasında git bilgisini etkinleştirin.


enableGitInfo: true

Yukarıdaki etkinleştirmeyi yaptığınız anda Hugo, front-matter içerisinde girilmiş tüm son değişiklik tarihlerini (lastmod) geçersiz kılar. Yani varsayılan olarak “:git”, lastmod’dan önce gelir.

Bunu istediğiniz şekilde değiştirmek ve üzerine yazmak için aşağıdaki satırları config dosyasına eklememiz gerekiyor.


[frontmatter]
date = ["date", "publishDate", "lastmod"]
lastmod = ["lastmod", ":git", "date", "publishDate"]

Böylelikle Hugo, eğer front-matter içerisinde lastmod parametresi görüyorsa onu kullanacak ama eğer lastmod ile ilgili bir değer görmüyorsa güncel tarih olarak son git commit’i dikkate alacak.