(\\s*[^\\\u003C\\>]*\\s*)\\\u003C\\/label\\>/g, (_, $1) => {\r\n return `>${getLogoTagString($1)} ${$1}\u003C/label>`\r\n })\r\n }\r\n}\r\n\r\nexport default langPlugin\r\n\r\n```\n\n### Describe the solution you'd like\n\n```diff\r\n- import MarkdownIt from 'markdown-it';\r\n+ import type { MarkdownIt } from 'vitepress'\r\nimport { getLogoTagString } from '../content'\r\n\r\nfunction langPlugin(md: MarkdownIt) {\r\n const temp = md.renderer!.rules!.fence!.bind(md.renderer.rules)\r\n md.renderer.rules.fence = (tokens, idx, options, env, slf) => {\r\n const token = tokens[idx]\r\n if (getLogoTagString(token.info)) {\r\n const result = token.info.match(/^\\b([\\w\\.]*)\\b/)\r\n if (!result)\r\n return temp(tokens, idx, options, env, slf)\r\n const [_, lang] = result\r\n const content = temp(tokens, idx, options, env, slf)\r\n const value = getLogoTagString(lang)\r\n return content.replace(`\u003Cspan class=\"lang\">${lang}\u003C/span>`, `\u003Cspan class=\"lang icon\">${value}\u003C/span>`)\r\n }\r\n\r\n return temp(tokens, idx, options, env, slf)\r\n }\r\n\r\n // insert icon before\r\n // https://github.com/vuejs/vitepress/blob/0c434bf537a64b06fc0bc630b4ee58b9fa67309b/src/node/markdown/plugins/containers.ts#L95\r\n const rawCodeGroupRender = md.renderer.rules['container_code-group_open']!\r\n \r\n md.renderer.rules['container_code-group_open'] = (tokens, idx, options, env, slf) => {\r\n const content: string = rawCodeGroupRender(tokens, idx, options, env, slf)\r\n // match: >index.ts\u003C/label>\r\n return content.replace(/>(\\s*[^\\\u003C\\>]*\\s*)\\\u003C\\/label\\>/g, (_, $1) => {\r\n return `>${getLogoTagString($1)} ${$1}\u003C/label>`\r\n })\r\n }\r\n}\r\n\r\nexport default langPlugin\r\n\r\n```\n\n### Describe alternatives you've considered\n\nNot yet.\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\n- [X] Read the [docs](https://vitepress.dev).\n- [X] Read the [Contributing Guidelines](https://github.com/vuejs/vitepress/blob/main/.github/contributing.md).\n- [X] Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.",[],4146,"closed","Support exporting in `MarkdownIt` interface to be compatible with Markdown plugins users have written themselves","2024-08-25T04:42:06Z","https://github.com/vuejs/vitepress/issues/4146",0.728875,{"description":2950,"labels":2951,"number":2954,"owner":2863,"repository":2864,"state":2944,"title":2955,"updated_at":2956,"url":2957,"score":2958},"### Describe the bug\n\nIn the official Vue.js document, the drop-down menu of the top navigation has an exception of infinitely triggering the drop-down to collapse.\n\n### Reproduction\n\n\r\nhttps://user-images.githubusercontent.com/47056082/234228099-37dad552-eeb4-4507-baf1-2b6cbab5a3fc.mov\r\n\r\n\n\n### Expected behavior\n\nNormal Trigger PulldownCollapse.\n\n### System Info\n\n```shell\nSystem:\r\n OS: macOS 13.0.1\r\n CPU: (8) x64 Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz\r\n Memory: 500.98 MB / 16.00 GB\r\n Shell: 5.8.1 - /bin/zsh\r\n Binaries:\r\n Node: 14.21.2 - ~/.nvm/versions/node/v14.21.2/bin/node\r\n Yarn: 1.22.19 - ~/.nvm/versions/node/v14.21.2/bin/yarn\r\n npm: 6.14.17 - ~/.nvm/versions/node/v14.21.2/bin/npm\r\n Browsers:\r\n Chrome: 109.0.5414.119\r\n Safari: 16.1\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\n- [X] Read the [docs](https://vitepress.dev).\n- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[2952,2953],{"name":2892,"color":2893},{"name":2860,"color":2861},2288,"The drop-down menu of the top navigation appears infinitely triggering the drop-down to collapse.","2023-08-16T00:04:15Z","https://github.com/vuejs/vitepress/issues/2288",0.7398192,["Reactive",2960],{},["Set"],["ShallowReactive",2963],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fUziaKYv9OYPgMLNpU3GOEr2A0RUsWPgDbrP3df7TWYA":-1},"/vuejs/vitepress/4528"]