summaryrefslogtreecommitdiff
path: root/packages/integrations/markdoc/src
diff options
context:
space:
mode:
authorGravatar Ben Holmes <hey@bholmes.dev> 2023-05-31 10:09:49 -0400
committerGravatar GitHub <noreply@github.com> 2023-05-31 10:09:49 -0400
commit563293c5d67e2bf13b9c735581969a0341861b44 (patch)
treee7bb3df97fd3badb0aac2fdf7218598b26003cc5 /packages/integrations/markdoc/src
parent290e344dee4092ce592490d1f58ef389831e4ad0 (diff)
downloadastro-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.ts9
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);