mirror of
https://github.com/svemagie/blog-eleventy-indiekit.git
synced 2026-05-15 06:58:50 +02:00
fix: use 11tydata.js for conditional about page permalink
Using a JavaScript data file to return boolean false for permalink when about.md exists, instead of trying to compute it in Nunjucks which returns string "false" and causes errors. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
// Template data file for about.njk
|
||||||
|
// Dynamically sets permalink based on whether about.md exists in content/pages/
|
||||||
|
import { existsSync } from "fs";
|
||||||
|
import { resolve, dirname } from "path";
|
||||||
|
import { fileURLToPath } from "url";
|
||||||
|
|
||||||
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||||
|
|
||||||
|
export default function() {
|
||||||
|
// Check for about.md in content/pages/ directory
|
||||||
|
const aboutPath = resolve(__dirname, "content/pages/about.md");
|
||||||
|
const aboutExists = existsSync(aboutPath);
|
||||||
|
|
||||||
|
return {
|
||||||
|
// If about.md exists, disable this template's permalink
|
||||||
|
// If not, use /about/ as the permalink
|
||||||
|
permalink: aboutExists ? false : "/about/",
|
||||||
|
// Also exclude from collections if about.md exists
|
||||||
|
eleventyExcludeFromCollections: aboutExists
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
---
|
---
|
||||||
layout: layouts/base.njk
|
layout: layouts/base.njk
|
||||||
title: About
|
title: About
|
||||||
eleventyComputed:
|
|
||||||
permalink: "{% set aboutPageExists = false %}{% for page in collections.pages %}{% if page.fileSlug == 'about' %}{% set aboutPageExists = true %}{% endif %}{% endfor %}{% if aboutPageExists %}false{% else %}/about/{% endif %}"
|
|
||||||
---
|
---
|
||||||
<article class="h-card">
|
<article class="h-card">
|
||||||
<header class="mb-6 sm:mb-8 flex flex-col sm:flex-row gap-6 sm:gap-8 items-start">
|
<header class="mb-6 sm:mb-8 flex flex-col sm:flex-row gap-6 sm:gap-8 items-start">
|
||||||
|
|||||||
Reference in New Issue
Block a user