mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-04-18 16:09:15 +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 findExistingDefinition = (word, collection) => collection.find(item => item.data.title === word)
|
||||
|
||||
module.exports = function (config) {
|
||||
// Add a filter using the Config API
|
||||
config.addFilter('linkTarget', makeItemLink);
|
||||
|
||||
config.addFilter('linkIfExistsInCollection', (word, collection) => {
|
||||
const existingDefinition = collection.find(item => item.data.title === word)
|
||||
const existingDefinition = findExistingDefinition(word, collection)
|
||||
|
||||
if (existingDefinition) {
|
||||
return `<a href=${makeItemLink(existingDefinition.data.slug)}>${word}</a>`
|
||||
@ -14,6 +15,16 @@ module.exports = function (config) {
|
||||
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
|
||||
config.addFilter('postInspect', function (post) {
|
||||
console.log(post);
|
||||
|
Loading…
x
Reference in New Issue
Block a user