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"
|
||||
],
|
||||
"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,
|
||||
// but this way an ENV is not required and this code works cross-platform.
|
||||
eleventyConfig.addPlugin(function enableDrafts(eleventyConfig) {
|
||||
|
Loading…
Reference in New Issue
Block a user