Table des matières
Un article au bout d’un certain temps perd un peu ou beaucoup de sa crédibilité. J’ai choisi d’ajouter une alerte sur les anciens messages (vieux de plus d’un an).
Code de base
{{ $ageDays := div (sub now.Unix .Date.Unix) 86400 }}
{{ if gt $ageDays 365 }}
Attention: le vieille âge de ce poste ne garantie pas ça précision
{{ end }}
Traduction :
- $ageDays –> Notre variable (des jours).
- sub now.Unix .Date.Unix —> Soustraction de la date courante avec la date du poste courant.
- div (sub now.Unix .Date.Unix) 86400 —> Division de la soustraction par 86400 pour avoir le nombre de jour.
En francais: $ageDays sera egale au temps unix du jour, mois le temps unix de l article, divisé par 86400(nb de second par jour) et si $ageDays est superieur à 365 alors on affiche le texte.
Partial
On va ajouter un bout de code dans nos pages articles qui est single.html dans notre théme.
Création du fichier old.html dans themes/votretheme/layouts/partials
{{ $ageDays := div (sub now.Unix .Date.Unix) 86400 }}
{{ if gt $ageDays 365 }}
<div class="old"> Attention cette article date depuis plus d'un an </div>
{{ end }}
Ajout du lien du partial old.html dans le fichier single.html themes/votretheme/layouts/_default/single.html
{{- partial "old.html" . -}}
A ce stade les articles vieux d’un ans devraient afficher le texte d’avertissement
CSS dans le partial
On habille notre texte avec du css directement dans le partial
{{ $ageDays := div (sub now.Unix .Date.Unix) 86400 }}
<style>
.old{
background-color: #ffd800;
border-width: 1px;
border-style: solid;
text-align: center;
margin: 5px;
}
</style>
{{ if gt $ageDays 365 }}
<div class="old"> Attention cette article date depuis plus d'un an ({{ $ageDays }} jours). </div>
{{ end }}
On est des fous, on affiche le nombre de jours.
Résultat

Liens
https://gohugo.io/functions/compare/gt/
https://gohugo.io/functions/math/div/
https://gohugo.io/functions/math/sub/
https://brunty.me/post/display-message-on-old-hugo-entries/
https://fryboyter.de/en/hugo-show-hint-when-an-article-is-older-than-a-certain-age/
https://www.andrlik.org/dispatches/til-add-outdated-warning-to-posts-in-hugo/
https://bacardi55.io/2024/02/12/adding-an-alert-on-old-posts-with-hugo/
Métadonnées
Posté le: 30.01.2025
Nombre de mots: 302
Temps de lecture: 2 minutes
Cet article fait partie de la série: Hugo
Page personalisée dans Hugo Duckdns et Caddy