work.suroh.tk/.eleventy.js

48 lines
1.1 KiB
JavaScript

module.exports = (config) => {
// add collection for pages
config.addCollection('pages', (collection) => {
let sorted = []
let unsorted = []
const pages = collection.getFilteredByGlob('**/*.md')
for (let page of pages) {
if (page.data.sort) {
if (sorted[page.data.sort]) {
sorted.splice(page.data.sort)
} else {
sorted[page.data.sort] = page
}
} else {
unsorted.push(page)
}
}
return sorted.concat(unsorted)
})
// custom filters
config.addFilter("makeLowercase", (value) => {
if (typeof value === 'string' || value instanceof String) {
return value.toLowerCase()
}
})
// added passthrough for global assets
config.addPassthroughCopy("assets")
// added passthrough for images in their respective folders
config.addPassthroughCopy("_content/**/images/**")
// reutrn updated config
return {
dir: {
input: "_content", // content
includes: "../_includes", // templates
output: "_site", // rendered site
data: "../_data" // global data files
}
}
}