Move drafts config up to a top level directory data file so that any content file can be a draft, not just blog posts
This commit is contained in:
parent
f9060d7ebd
commit
25ba65a605
@ -3,34 +3,4 @@ module.exports = {
|
|||||||
"posts"
|
"posts"
|
||||||
],
|
],
|
||||||
"layout": "layouts/post.njk",
|
"layout": "layouts/post.njk",
|
||||||
|
|
||||||
// Draft posts:
|
|
||||||
eleventyComputed: {
|
|
||||||
permalink: data => {
|
|
||||||
if(data.draft) {
|
|
||||||
// BUILD_DRAFTS is set in eleventy.config.js
|
|
||||||
if(process.env.BUILD_DRAFTS) {
|
|
||||||
return data.permalink;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Always skip during non-watch/serve builds
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return data.permalink;
|
|
||||||
},
|
|
||||||
eleventyExcludeFromCollections: data => {
|
|
||||||
if(data.draft) {
|
|
||||||
// BUILD_DRAFTS is set in eleventy.config.js
|
|
||||||
if(process.env.BUILD_DRAFTS) {
|
|
||||||
return data.eleventyExcludeFromCollections;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Always exclude from non-watch/serve builds
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return data.eleventyExcludeFromCollections;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
31
content/content.11tydata.js
Normal file
31
content/content.11tydata.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
module.exports = {
|
||||||
|
// Draft posts:
|
||||||
|
eleventyComputed: {
|
||||||
|
permalink: data => {
|
||||||
|
if(data.draft) {
|
||||||
|
// BUILD_DRAFTS is set in eleventy.config.js
|
||||||
|
if(process.env.BUILD_DRAFTS) {
|
||||||
|
return data.permalink;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Always skip during non-watch/serve builds
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return data.permalink;
|
||||||
|
},
|
||||||
|
eleventyExcludeFromCollections: data => {
|
||||||
|
if(data.draft) {
|
||||||
|
// BUILD_DRAFTS is set in eleventy.config.js
|
||||||
|
if(process.env.BUILD_DRAFTS) {
|
||||||
|
return data.eleventyExcludeFromCollections;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Always exclude from non-watch/serve builds
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return data.eleventyExcludeFromCollections;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
@ -57,7 +57,7 @@ module.exports = function(eleventyConfig) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Drafts implementation, see `content/blog/blog.11tydata.js` for additional code.
|
// Drafts implementation, see `content/content.11tydata.js` for additional code.
|
||||||
// This section *could* be simplified to an environment variable in an npm script,
|
// This section *could* be simplified to an environment variable in an npm script,
|
||||||
// but this way an ENV is not required and this code works cross-platform.
|
// but this way an ENV is not required and this code works cross-platform.
|
||||||
eleventyConfig.addPlugin(function enableDrafts(eleventyConfig) {
|
eleventyConfig.addPlugin(function enableDrafts(eleventyConfig) {
|
||||||
|
Loading…
Reference in New Issue
Block a user