Per iniziare, si copia il partial del tema (PaperMod) nella cartella corrispondente del progetto, ovvero:
- /layouts/partials/
Il file si chiama post_meta.html.
La struttura del partial
Di base, si tratta di inserire i singoli elementi, o cambiare loro di posto, fra la prima riga del file:
{{- $scratch := newScratch }}
e le ultime
{{- with ($scratch.Get "meta") }}
{{- delimit . " | " | safeHTML -}}
{{- end -}}
Di suo, il tema prevede: la data di creazione, il tempo di lettura, numero di parole e autore. Di queste, uso solo la data di pubblicazione, e ho aggiunto le altre informazioni che mi interessavano.
Con un po’ di attenzione, è piuttosto semplice anche modificare i testi.
Il partial completo
Il partial completo con tutte le modifiche che ho apportato è invece quello che segue. Ho aggiunto le categorie , l’ordinamento per data di ultima modifica (pagina in arrivo) , le serie (pagina in arrivo) e le traduzioni (pagina in arrivo) .
Ho anche modificato i testi e aggiunto le emoticons, dove serviva.
Numero di parole e tempo di lettura si disattivano dal file di configurazione.
{{- $scratch := newScratch }}
{{ $date := .Date.Format "02.01.2006" }}
{{- /* LASTMOD */ -}}
{{ $lastmod := .Lastmod.Format "02.01.2006" }}
{{- /* LASTMOD */ -}}
{{- if ne $lastmod $date -}}
{{- $scratch.Add "meta" (slice (printf "<span title='%s'>🌿 %s</span>" (.Lastmod) (.Lastmod | time.Format ":date_medium"))) }}
{{- end }}
{{- if not .Date.IsZero -}}
{{- $scratch.Add "meta" (slice (printf "<span title='%s'>🌱 %s</span>" (.Date) (.Date | time.Format ":date_medium"))) }}
{{- end }}
{{- /* CATEGORIE */ -}}
{{- $categories := (partial "categories.html" .) }}
{{- if $categories }}
{{- $scratch.Add "meta" (slice (printf "%s" $categories )) }}
{{- end}}
{{- /* SERIE */ -}}
{{- $pageSeries := "" }}
{{- if .Params.series }}
{{- $seriesName := .Params.series }}
{{- range .Site.Taxonomies.series }}
{{- if eq .Page.Title $seriesName }}
{{- $pageSeries = printf "<a href=\"%s\">%s</a>" .Page.Permalink .Page.Title }}
{{- end }}
{{- end }}
{{- end }}
{{- if $pageSeries }}
{{- $scratch.Add "meta" (slice (printf "Serie: %s" $pageSeries )) }}
{{- end }}
{{- if (.Param "ShowReadingTime") -}}
{{- $scratch.Add "meta" (slice (i18n "read_time" .ReadingTime | default (printf "%d min" .ReadingTime))) }}
{{- end }}
{{- if (.Param "ShowWordCount") -}}
{{- $scratch.Add "meta" (slice (i18n "words" .WordCount | default (printf "%d words" .WordCount))) }}
{{- end }}
{{- /* TRANSLATION */ -}}
{{- $translation := partial "translation.html" . }}
{{- if $translation }}
{{- $scratch.Add "meta" (slice $translation) }}
{{- end }}
{{- with ($scratch.Get "meta") }}
{{- delimit . " | " | safeHTML -}}
{{- end -}}