Drastically simplify the drafts workflow

This commit is contained in:
Zach Leatherman
2024-09-24 12:18:16 -05:00
parent 1ad494cfd2
commit 31235827fc
3 changed files with 20 additions and 34 deletions

View File

@@ -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;
}
}
};