diff --git a/article-markdown.njk b/article-markdown.njk index 3997f19..43a1974 100644 --- a/article-markdown.njk +++ b/article-markdown.njk @@ -12,7 +12,7 @@ eleventyExcludeFromCollections: true } --- -{%- set bodyContent = article.template.frontMatter.content -%} +{%- set bodyContent = article.inputPath | rawMarkdownBody -%} {%- set tokens = (bodyContent.length / 4) | round(0, "ceil") -%} --- title: "{{ article.data.title | replace('"', '\\"') }}" diff --git a/eleventy.config.js b/eleventy.config.js index 68a5ed6..504e300 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -456,6 +456,17 @@ export default function (eleventyConfig) { } }); + // Extract raw Markdown body from a source file (strips front matter) + eleventyConfig.addFilter("rawMarkdownBody", (inputPath) => { + try { + const src = readFileSync(inputPath, "utf-8"); + const { content } = matter(src); + return content.trim(); + } catch { + return ""; + } + }); + // Current timestamp filter (for client-side JS buildtime) eleventyConfig.addFilter("timestamp", () => Date.now());