Adds Hugo shortcode for content files to get data values
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.
This commit is contained in:
parent
81ac8a484c
commit
1712a885d9
22
Shortcodes/getdata.html
Normal file
22
Shortcodes/getdata.html
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<!--
|
||||||
|
-- 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 -}}
|
Loading…
Reference in New Issue
Block a user