Add Nunjucks rendered get filter.

Given an argument consisting of an array of objects and an attribute
name `attr`, it returns an array of all `attr` attributes.
This commit is contained in:
D. Berge
2021-05-31 02:10:23 +02:00
parent 17947df168
commit ccd1852f65

View File

@@ -29,6 +29,10 @@ function njkCollect (entries, key, collectables) {
return out;
}
function njkGet (entries, key) {
return entries.map(i => i[key]);
}
function njkUnique (entries) {
return entries.filter((element, index, array) => array.indexOf(element) === index);
}
@@ -81,6 +85,7 @@ async function render (data, template) {
nenv.addFilter('find', njkFind);
nenv.addFilter('unique', njkUnique);
nenv.addFilter('collect', njkCollect);
nenv.addFilter('get', njkGet);
nenv.addFilter('padStart', njkPadStart);
nenv.addFilter('timestamp', njkTimestamp);
nenv.addFilter('markdown', njkMarkdown);