diff options
author | 2023-05-31 10:09:49 -0400 | |
---|---|---|
committer | 2023-05-31 10:09:49 -0400 | |
commit | 563293c5d67e2bf13b9c735581969a0341861b44 (patch) | |
tree | e7bb3df97fd3badb0aac2fdf7218598b26003cc5 /packages/integrations/markdoc/src | |
parent | 290e344dee4092ce592490d1f58ef389831e4ad0 (diff) | |
download | astro-563293c5d67e2bf13b9c735581969a0341861b44.tar.gz astro-563293c5d67e2bf13b9c735581969a0341861b44.tar.zst astro-563293c5d67e2bf13b9c735581969a0341861b44.zip |
Markdoc: strip HTML comments from output (#7224)
* feat: strip HTML comments from output
* chore: changeset
Diffstat (limited to 'packages/integrations/markdoc/src')
-rw-r--r-- | packages/integrations/markdoc/src/index.ts | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/packages/integrations/markdoc/src/index.ts b/packages/integrations/markdoc/src/index.ts index 17f012360..f33c3a1be 100644 --- a/packages/integrations/markdoc/src/index.ts +++ b/packages/integrations/markdoc/src/index.ts @@ -19,6 +19,12 @@ type SetupHookParams = HookParameters<'astro:config:setup'> & { addContentEntryType: (contentEntryType: ContentEntryType) => void; }; +const markdocTokenizer = new Markdoc.Tokenizer({ + // Strip <!-- comments --> from rendered output + // Without this, they're rendered as strings! + allowComments: true, +}); + export default function markdocIntegration(legacyConfig?: any): AstroIntegration { if (legacyConfig) { console.log( @@ -64,7 +70,8 @@ export default function markdocIntegration(legacyConfig?: any): AstroIntegration getEntryInfo, async getRenderModule({ contents, fileUrl, viteId }) { const entry = getEntryInfo({ contents, fileUrl }); - const ast = Markdoc.parse(entry.body); + const tokens = markdocTokenizer.tokenize(entry.body); + const ast = Markdoc.parse(tokens); const pluginContext = this; const markdocConfig = await setupConfig(userMarkdocConfig); |