(\\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.6888332,{"description":2919,"labels":2920,"number":2923,"owner":2863,"repository":2864,"state":2913,"title":2924,"updated_at":2925,"url":2926,"score":2927},"### 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.",[2921,2922],{"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.7263179,{"description":2929,"labels":2930,"number":2932,"owner":2863,"repository":2864,"state":2913,"title":2933,"updated_at":2934,"url":2935,"score":2936},"### Is your feature request related to a problem? Please describe.\r\n\r\nI would like to use Vitepress to deploy the homepage of my site, but have `/blog` path be handled by a different deployed service. Unfortunately Vitepress intercepts all clicks to `mydomain.com/blog` anyway as it thinks that this path is part of the Vitepress site as it is on the same origin domain. For example a page `mydomain.com/docs/getting-started` that linked to a path `mydomain.com/blog/other-location` would cause Vitepress to attempt to load a fragement from `/assets` rather than just navigating the browser to the new URL.\r\n\r\n### Describe the solution you'd like\r\n\r\nI would like some way to specify that the Vitepress router should ignore a link and not try to intercept clicks on that link. I believe the code here is what controls this behavior and I see nothing here that I can use to override behavior on a link by link basis: https://github.com/vuejs/vitepress/blob/main/src/client/app/router.ts#L174-L182\r\n\r\nThe two URL's are on the same origin domain, and I want to open in the same tab rather than targeting a new tab with `_blank`.\r\n\r\n### Describe alternatives you've considered\r\n\r\nAs a workaround I have considered making a custom link component that intercepts click event on itself and sets `window.location` to the `/blog` path using JS. However this is not semantically ideal, and not ideal for accessibility. Ideally I'd like to keep the real `\u003Ca>` tag, and just add a new attribute to it that tells Vitepress to ignore it.\r\n\r\n### Additional context\r\n\r\nBased on these lines it appears that this may be a shared problem with other parts of the Vitepress codebase, and these lines are being used as temporary hack to stop Vitepress from intercepting some links: https://github.com/vuejs/vitepress/blob/main/src/client/app/router.ts#L152-L154\r\n\r\nIf there was a standard way to specify \"no intercept\" on links it could be applied both for internal and external usage.\r\n\r\n### Validations\r\n\r\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\r\n- [X] Read the [docs](https://vitepress.dev).\r\n- [X] Read the [Contributing Guidelines](https://github.com/vuejs/vitepress/blob/main/.github/contributing.md).\r\n- [X] Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.",[2931],{"name":2860,"color":2861},2206,"Way to specify that a link should not be intercepted by Vitepress router","2023-08-11T00:04:10Z","https://github.com/vuejs/vitepress/issues/2206",0.7286472,{"description":2938,"labels":2939,"number":2944,"owner":2863,"repository":2864,"state":2913,"title":2945,"updated_at":2946,"url":2947,"score":2948},"### Describe the bug\n\nIn alpha 3, when using code block language aliases, I receive this error: `The language 'my-lang-alias' is not loaded, falling back to 'txt' for syntax highlighting.`\n\nAliases worked correctly in alpha 2.\n\n### Reproduction\n\nStackBlitz repro here (code block is on the **Get Started** page):\n\n[https://stackblitz.com/edit/vite-eswufd7t?file=docs%2Fexample.md](https://stackblitz.com/edit/vite-eswufd7t?file=docs%2Fexample.md)\n\n### Expected behavior\n\nLanguage aliased added to **defineConfig** > **markdown** > **languageAlias** are available as code block languages.\n\n### System Info\n\n```Text\nSystem:\n OS: Linux 5.15 Ubuntu 24.04.1 LTS 24.04.1 LTS (Noble Numbat)\n CPU: (20) x64 12th Gen Intel(R) Core(TM) i7-12700T\n Memory: 23.13 GB / 31.19 GB\n Container: Yes\n Shell: 5.2.21 - /bin/bash\n Binaries:\n Node: 22.13.0 - /usr/bin/node\n npm: 10.9.2 - /usr/bin/npm\n pnpm: 9.6.0 - /usr/bin/pnpm\n npmPackages:\n vitepress: ^2.0.0-alpha.3 => 2.0.0-alpha.3\n```\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [x] Check if you're on the [latest VitePress version](https://github.com/vuejs/vitepress/releases/latest).\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.",[2940,2943],{"name":2941,"color":2942},"build","377ba8",{"name":2857,"color":2858},4581,"languageAlias broken in 2.0.0-alpha.3","2025-03-06T04:44:32Z","https://github.com/vuejs/vitepress/issues/4581",0.7397581,{"description":2950,"labels":2951,"number":2955,"owner":2863,"repository":2864,"state":2913,"title":2956,"updated_at":2957,"url":2958,"score":2959},"### Is your feature request related to a problem? Please describe.\n\nMy website has many posts, and data generated by createContentLoader function can take up more than 90% of theme.xxxxxxxx.js file size. However, these contents only attract 15% users but the rest 85% users must download these data which are useless for them.\n\n### Describe the solution you'd like\n\nNow vitepress has a site config option named metaChunk, maybe you can incorporate these contents into metadata.xxxxxxxx.js\n\n### Describe alternatives you've considered\n\n_No response_\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.",[2952],{"name":2953,"color":2954},"need more info","bdbefc",4685,"Is there Any ways to extract a separate file for createContentLoader data","2025-04-23T03:55:36Z","https://github.com/vuejs/vitepress/issues/4685",0.7399221,["Reactive",2961],{},["Set"],["ShallowReactive",2964],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fw0UxCK5BaVzwDMwV6A1jUHAvnsJ47jSqi0aJUVywelY":-1},"/vuejs/vitepress/3780"]