xmitter-11ty/content/blog/blog.11tydata.js

37 lines
798 B
JavaScript
Raw Normal View History

import { z } from "zod";
import { fromZodError } from 'zod-validation-error';
2023-11-10 17:41:13 -05:00
export default {
2023-01-23 17:35:14 -05:00
tags: [
"posts"
],
"layout": "layouts/post.njk",
eleventyDataSchema: function(data) {
let result = z.object({
draft: z.boolean().or(z.undefined()),
}).safeParse(data);
if(result.error) {
throw fromZodError(result.error);
}
},
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;
}
}
2023-01-23 17:35:14 -05:00
};