R1D4 : mise en forme des dates dans GoHugo
Premier post sur ce nouveau site dédié à compléter mon log 100daysofcode. Bien installé dans les massifs à proximité de Sank Pölten. Temps pluvieux, les photos suivront demain… En ce « R1D4 » (4ème jour d’engagement du premier round de 100daysofcode, je suis excité à l’idée de compléter mon log 100daysofcode en mettant les mains dans le générateur de site statique GoHugo. (thème multilingue « beautiful hugo ».)
Intention
Améliorer ce site pour restituer des formats de date avec un rendu d’affichage en français, « plus humain » et correct sémantiquement (ajouter la balise time
).
mardi 1<sup>er</sup> août
Donnerstag, 27 Juli
pour les amis autrichiens de vienna.html quand la mise en page des dates fonctionnera
Statut : chantier en cours
Intentions :
- Étudier les ressources au calme pour écrire un partiel
post_meta.html
de personnalisation de la date. - En bas de chaque article, ajouter un bouton « améliorer la page » et un horodatage sur la date de dernière modification
Production du jour
- Un repo github
100daysofcode-site
Code et Ressources pour personnaliser la Date
Les fichiers du thème en cours de modification :
Code
un fichier data mois.yaml
(placé dans data/mois.yaml
)
1: "janvier"
2: "février"
3: "mars"
4: "avril"
5: "mai"
6: "juin"
7: "juillet"
8: "août"
9: "septembre"
10: "octobre"
11: "novembre"
12: "décembre"
Partiel de date
post_meta.html
ajouté dans le dossier/layouts/partials
<span class="post-meta">
Posté le <time class="post-date dt-published" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}">{{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}</time>
</span>
todo : à raffiner avec l’ajout du jour de la semaine.
bouton de modification horodaté avec accès github
Inspiré de la doc Hugo, j’aimerais ajouter un bouton en bas de chaque post libellé « modifier la page » pointant sur le fichier github lié.
<!-- partiel de date publication et mise a jour au format fr a raffiner. ex : <nomdujour> 1er -->
dernière mise à jour le :
<time class="dt-updated" datetime="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}">{{ .Lastmod.Day }} {{ index $.Site.Data.mois (printf "%d" .Lastmod.Month) }} {{ .Lastmod.Year }}</time> <br>
{{ partial "page-edit.html" . }}
Ressources à étudier et classer
- FuckingGoDateFormat
- GoHugo : dateFormat (non supportée sur les sites multilingues)
- Exemples de dates publiés sur docsHugo : format
- GoHugo : multilingual mode / customize dates
- Formatting a date with suffix (2nd) - forum de discussion Hugo
- dates only in english - forum discussion Hugo
- Francisation de la date - (repo voiretmanger- hugo)
- Parsing dates in templates
- Slack jamstatic > tu peux découper ton {{.Date}} en {{.Day}} {{.Month}} et {{.Year}} > ici un exemple de code où je récupère un timestamp PHP et je le convertis en date humaine :
Publié le {{$time := time (div (int .Params.dateAdd) 1000)}}{{ $monthindex := index $.Site.Data.mois (printf "%d" $time.Month) }} {{$time.Day}} {{$monthindex}} {{$time.Year}}