Drastically simplify the drafts workflow
This commit is contained in:
@@ -1,40 +1,6 @@
|
||||
import { z } from "zod";
|
||||
import { fromZodError } from 'zod-validation-error';
|
||||
|
||||
export default {
|
||||
tags: [
|
||||
"posts"
|
||||
],
|
||||
"layout": "layouts/post.njk",
|
||||
|
||||
// Draft blog posts, validate `draft` front matter
|
||||
eleventyDataSchema: function(data) {
|
||||
let result = z.object({
|
||||
draft: z.boolean().or(z.undefined()),
|
||||
}).safeParse(data);
|
||||
|
||||
if(result.error) {
|
||||
throw fromZodError(result.error);
|
||||
}
|
||||
},
|
||||
|
||||
// Draft blog posts, exclude from builds and collections
|
||||
eleventyComputed: {
|
||||
permalink: (data) => {
|
||||
// Always skip during non-watch/serve builds
|
||||
if(data.draft && process.env.ELEVENTY_RUN_MODE === "build") {
|
||||
return false;
|
||||
}
|
||||
|
||||
return data.permalink;
|
||||
},
|
||||
eleventyExcludeFromCollections: (data) => {
|
||||
// Always exclude from non-watch/serve builds
|
||||
if(data.draft && process.env.ELEVENTY_RUN_MODE === "build") {
|
||||
return true;
|
||||
}
|
||||
|
||||
return data.eleventyExcludeFromCollections;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user