mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-11-30 15:22:09 +00:00
d46de9ce29
"11" and "18" minute reading times now use "an" as they start with a vowel sound but aren't qualified by "short", "somewhat long", "long", or "very long". before, it said "a 11 minute read" but now it'll say "an 11 minute read".
24 lines
1.1 KiB
HTML
24 lines
1.1 KiB
HTML
{{ $displayCount := string .WordCount -}}
|
|
{{- if gt .WordCount 5000 -}}
|
|
{{- $thousands := string (div .WordCount 1000) -}}
|
|
{{- $displayCount = printf "%s thousand" $thousands -}}
|
|
About
|
|
{{- end -}}
|
|
<data itemprop="wordCount" value="{{ .WordCount }}">
|
|
{{- $displayCount -}}
|
|
</data> words
|
|
{{- with .ReadingTime -}}
|
|
{{- $displayTime := string . -}}
|
|
{{- if gt . 60 -}}
|
|
{{- $hours := div . 60 -}}
|
|
{{- $minutes := mod . 60 -}}
|
|
{{- $displayTime = (printf "%d hour and %d" $hours $minutes) | safeHTML -}}
|
|
{{- end -}}
|
|
{{- $indefiniteArticle := "a" -}}
|
|
{{- $vowelNumbers := slice 11 18 -}} {{/* 11 and 18 aren't qualified by "short" or "somewhat long" and start with vowel sounds so we need to say "an" instead of "a" */}}
|
|
{{- if (in $vowelNumbers .) -}}
|
|
{{- $indefiniteArticle = "an" -}}
|
|
{{- end -}}
|
|
; {{ $indefiniteArticle }} {{ if lt . 10 }}short {{ else if and (gt . 20) (lt . 30) }}somewhat long {{ else if and (gt . 29) (lt . 60) }}long {{ else if gt . 59 }} very long {{ end -}}
|
|
<time itemprop="timeRequired" datetime="PT{{ . }}M">{{ $displayTime }} minute</time> read
|
|
{{- end -}}
|