From c7101e032b0395563c44e967d8bc966b8ff2ce34 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Sat, 21 Mar 2020 21:06:51 +0300 Subject: [PATCH] fix(v2): properly process multiple nodes in slugger --- .../docusaurus-mdx-loader/src/remark/slug/index.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/docusaurus-mdx-loader/src/remark/slug/index.js b/packages/docusaurus-mdx-loader/src/remark/slug/index.js index 61d72de6ef..3ce73f9f26 100644 --- a/packages/docusaurus-mdx-loader/src/remark/slug/index.js +++ b/packages/docusaurus-mdx-loader/src/remark/slug/index.js @@ -23,11 +23,14 @@ function slug() { if (id) { id = slugs.slug(id, true); } else { - const headingTextNodes = - headingNode.children.find( - ({type}) => !['html', 'jsx'].includes(type), - ) || headingNode; - id = slugs.slug(toString(headingTextNodes)); + const headingTextNodes = headingNode.children.filter( + ({type}) => !['html', 'jsx'].includes(type), + ); + const normalizedHeadingNode = + headingTextNodes.length > 0 + ? {children: headingTextNodes} + : headingNode; + id = slugs.slug(toString(normalizedHeadingNode)); } data.id = id;