From 9c458a3eb9fa93b37d47d9f653c6fa362a5a0f27 Mon Sep 17 00:00:00 2001 From: Gordon Woodhull Date: Mon, 22 Dec 2025 14:26:12 -0500 Subject: [PATCH] cross-platform filtering of bundled extension metadata fixes #13819 --- src/command/render/pandoc.ts | 10 ++++++---- .../12/22/markdown-engine-no-extension-subtrees.qmd | 13 +++++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 tests/docs/smoke-all/2025/12/22/markdown-engine-no-extension-subtrees.qmd diff --git a/src/command/render/pandoc.ts b/src/command/render/pandoc.ts index 12d35de35d..6cd3ba93df 100644 --- a/src/command/render/pandoc.ts +++ b/src/command/render/pandoc.ts @@ -435,7 +435,9 @@ export async function runPandoc( const filteredEngines = metadata.engines.filter((engine) => { const enginePath = typeof engine === "string" ? engine : engine.path; // Keep user engines, filter out bundled ones - return !enginePath?.includes("/src/resources/extension-subtrees/"); + return !enginePath?.replace(/\\/g, "/").includes( + "resources/extension-subtrees/", + ); }); // Remove the engines key entirely if empty, otherwise assign filtered array @@ -1314,9 +1316,9 @@ export async function runPandoc( const filteredEngines = pandocPassedMetadata.engines.filter((engine) => { const enginePath = typeof engine === "string" ? engine : engine.path; if (!enginePath) return true; - - const normalizedPath = enginePath.replace(/\\/g, "/"); - return !normalizedPath.includes("extension-subtrees/"); + return !enginePath.replace(/\\/g, "/").includes( + "resources/extension-subtrees/", + ); }); if (filteredEngines.length === 0) { diff --git a/tests/docs/smoke-all/2025/12/22/markdown-engine-no-extension-subtrees.qmd b/tests/docs/smoke-all/2025/12/22/markdown-engine-no-extension-subtrees.qmd new file mode 100644 index 0000000000..aeec583796 --- /dev/null +++ b/tests/docs/smoke-all/2025/12/22/markdown-engine-no-extension-subtrees.qmd @@ -0,0 +1,13 @@ +--- +title: Basic doc +format: html +_quarto: + tests: + html: + printsMessage: + level: INFO + regex: 'resources[/\\]extension-subtrees[/\\]' + negate: true +--- + +It should be markdown engine.