From: Jannik ZANDER Date: Tue, 9 Sep 2025 15:46:44 +0000 (+0200) Subject: Fixed blog X-Git-Url: https://git.zndr.dk/?a=commitdiff_plain;h=d5fac20602bd8bac2d3f0021261b5911219bfebd;p=zndr-11ty.git Fixed blog --- diff --git a/.eleventy.js b/.eleventy.js index ad3e2c5..cdacd8e 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -1,51 +1,45 @@ +// .eleventy.js module.exports = function(eleventyConfig) { - // Passthrough static files - eleventyConfig.addPassthroughCopy({ "site/public": "/" }); // favicon.svg → /favicon.svg - eleventyConfig.addPassthroughCopy({ "site/assets": "assets" }); - eleventyConfig.addNunjucksFilter("year", () => new Date().getFullYear()); + // --- Passthroughs (copy as-is to output) --- + eleventyConfig.addPassthroughCopy({ "site/public": "/" }); // favicons, manifest, etc. + eleventyConfig.addPassthroughCopy({ "site/assets": "assets" }); // /assets/* - return { - dir: { - input: "site", - includes: "_includes", - data: "_data", - output: "dist" - }, - htmlTemplateEngine: "njk", - markdownTemplateEngine: "njk" - }, - - // ---- Collections ---- + // --- Collections --- eleventyConfig.addCollection("blog", (api) => - api.getFilteredByGlob("site/blog/*.md") + api.getFilteredByGlob("site/blog/*.md").sort((a, b) => b.date - a.date) ); - // ---- Date filter (works in Nunjucks & Liquid) ---- - function dateFmt(value, fmt = "yyyy-MM-dd") { + // --- Filters --- + // year (simple) + eleventyConfig.addFilter("year", () => new Date().getFullYear()); + + // date formatter (use a new name to avoid Liquid’s built-in 'date' behavior) + function ymd(value, fmt = "yyyy-MM-dd") { if (!value) return ""; const d = value instanceof Date ? value : new Date(value); const pad = (n) => String(n).padStart(2, "0"); - const yyyy = d.getFullYear(); - const MM = pad(d.getMonth() + 1); - const dd = pad(d.getDate()); - const HH = pad(d.getHours()); - const mm = pad(d.getMinutes()); - const map = { yyyy, MM, dd, HH, mm }; + const map = { + yyyy: d.getFullYear(), + MM: pad(d.getMonth() + 1), + dd: pad(d.getDate()), + HH: pad(d.getHours()), + mm: pad(d.getMinutes()), + }; return fmt.replace(/yyyy|MM|dd|HH|mm/g, (t) => map[t]); } + eleventyConfig.addFilter("ymd", ymd); // universal + eleventyConfig.addNunjucksFilter("ymd", ymd); // explicit for Nunjucks + eleventyConfig.addLiquidFilter("ymd", ymd); // explicit for Liquid - // Register for all template engines to be safe - eleventyConfig.addFilter("date", dateFmt); // universal - eleventyConfig.addNunjucksFilter("date", dateFmt); // Nunjucks - eleventyConfig.addLiquidFilter("date", dateFmt); // Liquid - - // Copy the whole assets tree (css/js/img/fonts…) to /assets - eleventyConfig.addPassthroughCopy({ "site/assets": "assets" }); - - // Engines + dirs + // --- Engines + dirs --- return { - dir: { input: "site", output: "dist", includes: "_includes" }, + dir: { + input: "site", + includes: "_includes", + data: "_data", + output: "dist", + }, + htmlTemplateEngine: "njk", markdownTemplateEngine: "njk", - htmlTemplateEngine: "njk" }; }; diff --git a/site/_includes/layouts/base.njk b/site/_includes/layouts/base.njk index 3e9d70c..15ac479 100644 --- a/site/_includes/layouts/base.njk +++ b/site/_includes/layouts/base.njk @@ -12,7 +12,7 @@ - + @@ -39,7 +39,9 @@ - {{ content | safe }} + {% block content %} + {{ content | safe }} + {% endblock %}