diff --git a/packages/astro/src/vite-plugin-markdown/index.ts b/packages/astro/src/vite-plugin-markdown/index.ts index 00d6b42996cd..b67a144e494f 100644 --- a/packages/astro/src/vite-plugin-markdown/index.ts +++ b/packages/astro/src/vite-plugin-markdown/index.ts @@ -180,11 +180,16 @@ const $$content = ${JSON.stringify(content)} ---`; const imports = `${layout ? `import Layout from '${layout}';` : ''} ${setup}`.trim(); + + // Wrap with set:html fragment to skip + // JSX expressions and components in "plain" md mode + if (renderOpts.mode === 'md') { + astroResult = `` + } + // If the user imported "Layout", wrap the content in a Layout if (/\bLayout\b/.test(imports)) { - astroResult = `${prelude}\n\n\n${ - renderOpts.mode === 'md' ? `` : astroResult - }\n\n`; + astroResult = `${prelude}\n\n\n${astroResult}\n\n`; } else { astroResult = `${prelude}\n${astroResult}`; }