mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-04-20 16:39:09 +00:00
feat(11ty): add filter for subterm output
This commit is contained in:
parent
488a5cdafd
commit
42d525279b
13
.eleventy.js
13
.eleventy.js
@ -1,11 +1,12 @@
|
|||||||
const makeItemLink = (slug) => `#${slug}`
|
const makeItemLink = (slug) => `#${slug}`
|
||||||
|
const findExistingDefinition = (word, collection) => collection.find(item => item.data.title === word)
|
||||||
|
|
||||||
module.exports = function (config) {
|
module.exports = function (config) {
|
||||||
// Add a filter using the Config API
|
// Add a filter using the Config API
|
||||||
config.addFilter('linkTarget', makeItemLink);
|
config.addFilter('linkTarget', makeItemLink);
|
||||||
|
|
||||||
config.addFilter('linkIfExistsInCollection', (word, collection) => {
|
config.addFilter('linkIfExistsInCollection', (word, collection) => {
|
||||||
const existingDefinition = collection.find(item => item.data.title === word)
|
const existingDefinition = findExistingDefinition(word, collection)
|
||||||
|
|
||||||
if (existingDefinition) {
|
if (existingDefinition) {
|
||||||
return `<a href=${makeItemLink(existingDefinition.data.slug)}>${word}</a>`
|
return `<a href=${makeItemLink(existingDefinition.data.slug)}>${word}</a>`
|
||||||
@ -14,6 +15,16 @@ module.exports = function (config) {
|
|||||||
return word
|
return word
|
||||||
})
|
})
|
||||||
|
|
||||||
|
config.addFilter('linkSubTermIfDefined', (subTermData, collection) => {
|
||||||
|
const existingDefinition = findExistingDefinition(subTermData.full_title, collection)
|
||||||
|
|
||||||
|
if (existingDefinition) {
|
||||||
|
return `<a href=${makeItemLink(existingDefinition.data.slug)} aria-label="${subTermData.full_title}">${subTermData.text}</a>`
|
||||||
|
}
|
||||||
|
|
||||||
|
return subTermData.text
|
||||||
|
})
|
||||||
|
|
||||||
// just a debug filter to lazily inspect the content of anything in a template
|
// just a debug filter to lazily inspect the content of anything in a template
|
||||||
config.addFilter('postInspect', function (post) {
|
config.addFilter('postInspect', function (post) {
|
||||||
console.log(post);
|
console.log(post);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user