Andrew Gioia
1712a885d9
Hugo shortcode to access data file values within a content file. Set the data file, add an optional key (otherwise the entire file object will come back), and set the type to either count to get a count of the key's values or value to just get its value.
22 lines
725 B
HTML
22 lines
725 B
HTML
<!--
|
|
-- Hugo shortcode for content pages to access data file properties or counts
|
|
--
|
|
-- @param file data file to reference in ./data
|
|
-- @param key key in the data file object whose value you want
|
|
-- @param type `count` to get a count of all items if an array, `value` to get the key's value
|
|
--
|
|
-- {{% getdata file="icons.json" key="address-book" type="value" %}}
|
|
-->
|
|
|
|
{{- $file := .Get "file" -}}
|
|
{{- $key := .Get "key" -}}
|
|
{{- $type := .Get "type" -}}
|
|
{{- if eq $type "count" -}}
|
|
{{- if $key -}}
|
|
{{- (index .Site.Data $file $key) | len -}}
|
|
{{- else -}}
|
|
{{- (index .Site.Data $file) | len -}}
|
|
{{- end -}}
|
|
{{- else -}}
|
|
{{- index .Site.Data $file $key -}}
|
|
{{- end -}} |