mirror of
https://github.com/pockethost/pockethost.git
synced 2025-03-30 15:08:30 +00:00
58 lines
1.7 KiB
JavaScript
58 lines
1.7 KiB
JavaScript
function eleventyComputedPermalink() {
|
|
// When using `addGlobalData` and you *want* to return a function, you must nest functions like this.
|
|
// `addGlobalData` acts like a global data file and runs the top level function it receives.
|
|
return (data) => {
|
|
// Always skip during non-watch/serve builds
|
|
if (data.draft && !process.env.BUILD_DRAFTS) {
|
|
return false
|
|
}
|
|
|
|
return data.permalink
|
|
}
|
|
}
|
|
|
|
function eleventyComputedExcludeFromCollections() {
|
|
// When using `addGlobalData` and you *want* to return a function, you must nest functions like this.
|
|
// `addGlobalData` acts like a global data file and runs the top level function it receives.
|
|
return (data) => {
|
|
// Always exclude from non-watch/serve builds
|
|
if (data.draft && !process.env.BUILD_DRAFTS) {
|
|
return true
|
|
}
|
|
|
|
return data.eleventyExcludeFromCollections
|
|
}
|
|
}
|
|
|
|
module.exports.eleventyComputedPermalink = eleventyComputedPermalink
|
|
module.exports.eleventyComputedExcludeFromCollections =
|
|
eleventyComputedExcludeFromCollections
|
|
|
|
module.exports = (eleventyConfig) => {
|
|
eleventyConfig.addGlobalData(
|
|
'eleventyComputed.permalink',
|
|
eleventyComputedPermalink,
|
|
)
|
|
eleventyConfig.addGlobalData(
|
|
'eleventyComputed.eleventyExcludeFromCollections',
|
|
eleventyComputedExcludeFromCollections,
|
|
)
|
|
|
|
let logged = false
|
|
eleventyConfig.on('eleventy.before', ({ runMode }) => {
|
|
let text = 'Excluding'
|
|
// Only show drafts in serve/watch modes
|
|
if (runMode === 'serve' || runMode === 'watch') {
|
|
process.env.BUILD_DRAFTS = true
|
|
text = 'Including'
|
|
}
|
|
|
|
// Only log once.
|
|
if (!logged) {
|
|
console.log(`[11ty/eleventy-base-blog] ${text} drafts.`)
|
|
}
|
|
|
|
logged = true
|
|
})
|
|
}
|