In front matter I have:
[price]
currency = "USD"
minvalue = 10000
maxvalue = 20000
The result I’m looking for is: $10K - $20K or if there is only a minvalue
it would be $10K.
In layout/single.html
, I’m doing the following:
{{$currencySymbol := dict "EUR" "€" "GBP" "£" "USD" "$"}}
{{$.Scratch.Set "currencySymbol" (.Params.price.currency)}}
{{range $k, $v := $currencySymbol}}
{{$.Scratch.Set "currencySymbol" (replace ($.Scratch.Get "currencySymbol") $k $v)}}
{{end}}
{{$minValue := printf "%s%s" ($.Scratch.Get "currencySymbol") (replaceRE "000$" "K" .Params.price.minvalue)}}
{{$maxValue := printf "%s%s" ($.Scratch.Get "currencySymbol") (replaceRE "000$" "K" .Params.price.maxvalue)}}
{{if .Params.price.maxvalue}}
{{printf "%s - %s" $minValue $maxValue}}
{{else if .Params.price.minvalue}}
{{$minValue}}
{{end}}
This code works, but is there a more elegant way of achieving the same result?