diff --git a/eleventy.config.drafts.js b/eleventy.config.drafts.js deleted file mode 100644 index 927ceb2..0000000 --- a/eleventy.config.drafts.js +++ /dev/null @@ -1,53 +0,0 @@ -export function eleventyComputedPermalink() { - // When using `addGlobalData` and you *want* to return a function, you must nest functions like this. - // `addGlobalData` acts like a global data file and runs the top level function it receives. - return (data) => { - // Always skip during non-watch/serve builds - if (data.draft && !process.env.BUILD_DRAFTS) { - return false; - } - - return data.permalink; - }; -} - -export function eleventyComputedExcludeFromCollections() { - // When using `addGlobalData` and you *want* to return a function, you must nest functions like this. - // `addGlobalData` acts like a global data file and runs the top level function it receives. - return (data) => { - // Always exclude from non-watch/serve builds - if (data.draft && !process.env.BUILD_DRAFTS) { - return true; - } - - return data.eleventyExcludeFromCollections; - }; -} - -export default function (eleventyConfig) { - eleventyConfig.addGlobalData( - "eleventyComputed.permalink", - eleventyComputedPermalink, - ); - eleventyConfig.addGlobalData( - "eleventyComputed.eleventyExcludeFromCollections", - eleventyComputedExcludeFromCollections, - ); - - let logged = false; - eleventyConfig.on("eleventy.before", ({ runMode }) => { - let text = "Excluding"; - // Only show drafts in serve/watch modes - if (runMode === "serve" || runMode === "watch") { - process.env.BUILD_DRAFTS = true; - text = "Including"; - } - - // Only log once. - if (!logged) { - console.log(`[11ty/eleventy-base-blog] ${text} drafts.`); - } - - logged = true; - }); -} diff --git a/eleventy.config.js b/eleventy.config.js index 53fc3b7..5cd6b4d 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -11,8 +11,6 @@ import pluginNavigation from "@11ty/eleventy-navigation"; import { EleventyHtmlBasePlugin } from "@11ty/eleventy"; import { eleventyImageTransformPlugin } from "@11ty/eleventy-img"; -import pluginDrafts from "./eleventy.config.drafts.js"; - import fs from "fs/promises"; /** @param {import('@11ty/eleventy').UserConfig} eleventyConfig */ @@ -28,7 +26,11 @@ export default async function (eleventyConfig) { eleventyConfig.addWatchTarget("content/**/*.{svg,webp,png,jpeg}"); // App plugins - eleventyConfig.addPlugin(pluginDrafts); + eleventyConfig.addPreprocessor("drafts", "*", (data, _content) => { + if(data.draft && process.env.ELEVENTY_RUN_MODE === "build") { + return false; + } + }); // eleventyConfig.addPlugin(pluginFonts); // Official plugins let mkFeed = function (type, path) {