diff --git a/content/blog/les-dates-avec-hugo.md b/content/blog/les-dates-avec-hugo.md index f42dcdc..4193620 100644 --- a/content/blog/les-dates-avec-hugo.md +++ b/content/blog/les-dates-avec-hugo.md @@ -8,6 +8,8 @@ tags: ["hugo", "dates", "configuration"] slug: les-dates-avec-hugo --- +*Mis à jour à la fin du billet* + Ces derniers jours, je me suis un peu cassé la tête avec la manière dont [*hugo*](https://gohugo.io/) conçoit et traite les dates. Ce que je cherchais à réaliser ne me semblait pourtant pas si exotique. Lorsque l'on crée un nouveau @@ -50,8 +52,8 @@ pourquoi pas. L'autre point déroutant, est que les valeurs des dates affichées ne correspondaient pas à ce que j'avais imaginé. Souvent, `date` et `publishdate` étaient identiques, parfois `lastmod` également, parfois `lastmod` avait bien la valeur du dernier *commit* correspondant à la dernière -modification du billet concerné, mais pas lorsqu'il s'agissait du premier -*commit*. +modification du billet concerné~~, mais pas lorsqu'il s'agissait du premier +*commit*~~. J'ai essayé de nombreuses choses, tenté de comprendre la documentation de *hugo*, fouillé dans les forums… de m'arracher mes cheveux, de jurer et @@ -94,3 +96,24 @@ Ce que je retiens de cette aventure, c'est que *hugo* est décidément très puissant, le résultat d'une réflexion plutôt poussée et que j'ai encore beaucoup de travail avant d'arriver à un niveau suffisant de compréhension de son fonctionnement. + +## Mise à jour + +Visiblement la logique ci-dessus est incomplète (et risque bien de l'être après +cette mise à jour, mais c'est ainsi). Sur ce même billet, lors de la +publication, enfin un peu après, j'ai constaté que la date de modification +était plus récente que la date de publication, ce qui est logique, parce que la +date du commit est plus ancienne que `publishdate`, contrairement à ce que je +prétends plus haut. + +{{< figure src="/medias/wrong-dates.png" caption="Première publication, avec la mauvaise date" >}} + +Aussi, j'ai rajouté un test dans le *template* : + +``` +{{ if (and (isset .Params "lastmod") (gt .Lastmod .PublishDate)) }} +``` + +D'abord, on vérifie que la variable `lastmod` est bien renseignée, puis que sa +date est plus récente que `publishdate`, avant de l'afficher. Voilà, j'espère +que désormais je vais obtenir le comportement que je souhaite. diff --git a/static/medias/wrong-dates.png b/static/medias/wrong-dates.png new file mode 100644 index 0000000..7292a6e Binary files /dev/null and b/static/medias/wrong-dates.png differ diff --git a/themes/portfoliGor b/themes/portfoliGor index 74181ec..09fbaa0 160000 --- a/themes/portfoliGor +++ b/themes/portfoliGor @@ -1 +1 @@ -Subproject commit 74181ecd54e27a892faf8ef0739ee175ad207ffd +Subproject commit 09fbaa06f90ddbd0ec75424e7c0e7130dc32aefb