{{ $dateFormat := .Site.Params.dateFormat | default ":date_long" -}} {{/* user-overridable parameter $dateFormat is escaped pre-insertion so that HTML entities can be inserted */ -}} {{ $nonBreakingPublishDate := .Page.PublishDate | time.Format $dateFormat | htmlEscape -}} {{ $nonBreakingPublishDate = replace $nonBreakingPublishDate " " " " -}} {{ $nonBreakingPublishDate = replace $nonBreakingPublishDate "-" "‑" -}} {{/* user-overridable parameter $readingTime is escaped pre-insertion so that HTML entities can be inserted */ -}} {{ $nonBreakingReadingTime := i18n "readingTime" .ReadingTime | htmlEscape -}} {{ $nonBreakingReadingTime = replace $nonBreakingReadingTime " " " " -}} {{ $nonBreakingReadingTime = replace $nonBreakingReadingTime "-" "‑" -}} {{ $breakingTags := .Param (lower (i18n "tags")) -}} {{ $nonBreakingTags := slice -}} {{ range $breakingTags -}} {{/* user-defined tags are escaped pre-insertion so that HTML entities can be inserted */ -}} {{ $nonBreakingTag := htmlEscape . -}} {{ $nonBreakingTag = replace $nonBreakingTag " " " " -}} {{ $nonBreakingTag = replace $nonBreakingTag "-" "‑" -}} {{ $nonBreakingTags = $nonBreakingTags | append $nonBreakingTag -}} {{ end -}} {{ emojify ":calendar:" }}  | {{ emojify ":stopwatch:" }} {{ if $nonBreakingTags }} | {{ emojify ":label:" }} {{ end }}{{ range $key, $val := $nonBreakingTags }}{{ if $key }} {{ end }}{{ $val | safeHTML }}{{ end }}