summaryrefslogtreecommitdiff
path: root/packages/integrations/mdx/src
diff options
context:
space:
mode:
authorGravatar Ben Holmes <hey@bholmes.dev> 2022-08-23 13:25:35 -0400
committerGravatar GitHub <noreply@github.com> 2022-08-23 13:25:35 -0400
commitadb20797962c280d4d38f335f577fd52a1b48d4b (patch)
tree44d155e16d5d9d7c810bc3d9574890c760a7d6b9 /packages/integrations/mdx/src
parentca0c7e8b836b1be2db6a77698c9535a34ada8fe6 (diff)
downloadastro-adb20797962c280d4d38f335f577fd52a1b48d4b.tar.gz
astro-adb20797962c280d4d38f335f577fd52a1b48d4b.tar.zst
astro-adb20797962c280d4d38f335f577fd52a1b48d4b.zip
Fix MDX style imports when layout is not applied (#4443)
* fix: add "astro.needsHeadRendering" to MDX * test: style imports in pages without layout * chore: changeset
Diffstat (limited to 'packages/integrations/mdx/src')
-rw-r--r--packages/integrations/mdx/src/index.ts5
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/integrations/mdx/src/index.ts b/packages/integrations/mdx/src/index.ts
index 72fbbeb6c..6516e4b12 100644
--- a/packages/integrations/mdx/src/index.ts
+++ b/packages/integrations/mdx/src/index.ts
@@ -119,6 +119,11 @@ export default function mdx(mdxOptions: MdxOptions = {}): AstroIntegration {
// These transforms must happen *after* JSX runtime transformations
transform(code, id) {
if (!id.endsWith('.mdx')) return;
+
+ // Ensures styles and scripts are injected into a `<head>`
+ // When a layout is not applied
+ code += `\nMDXContent[Symbol.for('astro.needsHeadRendering')] = !Boolean(frontmatter.layout);`;
+
const [, moduleExports] = parseESM(code);
const { fileUrl, fileId } = getFileInfo(id, config);