gists/Shortcodes/getdata.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 -}}