{{ $displayCount := string .WordCount -}} {{- if gt .WordCount 5000 -}} {{- $thousands := string (div .WordCount 1000) -}} {{- $displayCount = printf "%s thousand" $thousands -}} About {{- end -}} {{- $displayCount -}} 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 -}} read {{- end -}}