\r\n```\r\n\r\nAlternatively, use the `desc` defined in the `container` to write Markdown syntax.\r\n\r\n```md\r\n::: demo src=\"../demo.vue\" title=\"Demo block\"\r\n\r\nThis is a `description` that can be written using Markdown.\r\n\r\n:::\r\n```\r\n\r\n### Describe the solution you'd like\r\n\r\nTo address this, I have created the [markdown-it-vitepress-demo](https://github.com/hairyf/markdown-it-vitepress-demo) plugin. I'm not sure if it can be helpful.\r\n\r\n### Describe alternatives you've considered\r\n\r\n_No response_\r\n\r\n### Additional context\r\n\r\n- https://github.com/vuejs/vitepress/issues/987\r\n- https://github.com/vuejs/vitepress/issues/1349\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.",[3018],{"name":3019,"color":3020},"stale","ededed",2432,"vuejs","vitepress","open","feat(demo): built-in markdown plugin provides support for showcasing demo capabilities.","2024-07-17T14:37:26Z","https://github.com/vuejs/vitepress/issues/2432",0.70237947,{"description":3030,"labels":3031,"number":3035,"owner":3022,"repository":3023,"state":3036,"title":3037,"updated_at":3038,"url":3039,"score":3040},"### Describe the bug\r\n\r\nHi, I am trying to import and use a custom Markdown renderer inside a component but it looks like the `createMarkdownRenderer` function is not exported.\r\n\r\n```\r\nUncaught SyntaxError: The requested module '/@fs/Users/xyz/.github/xyz/node_modules/vitepress/dist/client/index.js?v=61ac765b' does not provide an export named 'createMarkdownRenderer' (at EndpointExample.vue:2:10)\r\n```\r\n\r\nHowever, according to TypeScript types exported from VitePress, `createMarkdownRenderer` should be available for use.\r\n\r\n### Reproduction\r\n\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nimport { createMarkdownRenderer } from \"vitepress\";\r\n\r\nconst props = defineProps\u003C{\r\n requests: { type: string; content: string; }[];\r\n response: string;\r\n}>();\r\n\r\n// `createMarkdownRenderer` is not exported from vitepress.\r\nconst md = await createMarkdownRenderer(\".\");\r\nconst response = md.render(props.response);\r\n\u003C/script>\r\n```\r\n\r\n### Expected behavior\r\n\r\nThe function `createMarkdownRenderer` should be exported as it is available from TypeScript types. If it should not, then remove the `createMarkdownRenderer` type export.\r\n\r\n### System Info\r\n\r\n```shell\r\nSystem:\r\n OS: macOS 12.6\r\n CPU: (8) arm64 Apple M1 Pro\r\n Memory: 116.75 MB / 16.00 GB\r\n Shell: 5.8.1 - /bin/zsh\r\n Binaries:\r\n Node: 18.12.1 - ~/.nvm/versions/node/v18.12.1/bin/node\r\n Yarn: 1.22.19 - ~/.yarn/bin/yarn\r\n npm: 8.19.2 - ~/.nvm/versions/node/v18.12.1/bin/npm\r\n Browsers:\r\n Brave Browser: 108.1.46.144\r\n Chrome: 108.0.5359.124\r\n Firefox: 103.0.2\r\n Safari: 16.0\r\n```\r\n\r\n\r\n### Additional context\r\n\r\nPlease note that I am trying to create a custom `markdownRenderer` so that I can create a code render from my component props.\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.vuejs.org).\r\n- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[3032],{"name":3033,"color":3034},"bug: pending triage","e99695",1752,"closed","The requested module does not provide an export named 'createMarkdownRenderer'","2023-01-21T14:16:58Z","https://github.com/vuejs/vitepress/issues/1752",0.65218836,{"description":3042,"labels":3043,"number":3045,"owner":3022,"repository":3023,"state":3036,"title":3046,"updated_at":3047,"url":3048,"score":3049},"### Describe the bug\n\nI added two markdown plugins to my Vitepress, which are [markdown-it-footnote](https://github.com/markdown-it/markdown-it-footnote) and [markdown-it-task-checkbox](https://github.com/linsir/markdown-it-task-checkbox).\r\n\r\nThe imported code is located at `docs/.vitepress/config.ts`.\r\n\r\n```ts\r\nimport { defineConfig } from 'vitepress'\r\nimport nav from '../nav'\r\nimport sidebar from '../sidebar'\r\nconst footnote = require('markdown-it-footnote')\r\nconst taskLists = require('markdown-it-task-checkbox')\r\n```\r\n\r\nHowever, it was working normally in vitepress 1.0.0 beta5, but in vitepress 1.0.0-rc.4, `pnpm dev` is no longer working properly.\r\n\r\nI have checked the documentation for these two plugins, but neither of them has informed me how to use 'import' to import. It seems that importing with 'import' is not supported?\r\n\r\nI don't know how to solve this problem, and I hope to get some help. Thank you very much!\n\n### Reproduction\n\nnull\n\n### Expected behavior\n\nI hope Vitepress can run normally.\n\n### System Info\n\n```sh\nSystem:\r\n OS: macOS 13.5\r\n CPU: (10) arm64 Apple M1 Max\r\n Memory: 7.17 GB / 32.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 18.16.0 - ~/Library/pnpm/node\r\n npm: 9.5.1 - ~/Library/pnpm/npm\r\n pnpm: 8.6.3 - ~/Library/pnpm/pnpm\r\n Browsers:\r\n Chrome: 115.0.5790.170\r\n Safari: 16.6\r\n npmPackages:\r\n vitepress: 1.0.0-rc.4 => 1.0.0-rc.4\n```\n\n\n### Additional context\n\n```bash\r\nmyblog_vitepress on main [!] is 📦 2.0.7 via ⬢ v18.16.0 \r\n➜ pm dev\r\n\r\n> vitepress@2.0.7 dev /Users/bddxg/Documents/coding/web/myblog_vitepress\r\n> vitepress dev docs --open\r\n\r\n✘ [ERROR] \"vitepress\" resolved to an ESM file. ESM file cannot be loaded by `require`. See http://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details. [plugin externalize-deps]\r\n\r\n node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1363:27:\r\n 1363 │ let result = await callback({\r\n ╵ ^\r\n\r\n at file:///Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/vite@4.4.9_@types+node@18.15.11/node_modules/vite/dist/node/chunks/dep-df561101.js:66190:35\r\n at requestCallbacks.on-resolve (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1363:28)\r\n at handleRequest (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:726:19)\r\n at handleIncomingPacket (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:748:7)\r\n at Socket.readFromStdout (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:676:7)\r\n at Socket.emit (node:events:513:28)\r\n at addChunk (node:internal/streams/readable:324:12)\r\n at readableAddChunk (node:internal/streams/readable:297:9)\r\n at Readable.push (node:internal/streams/readable:234:10)\r\n at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)\r\n\r\n This error came from the \"onResolve\" callback registered here:\r\n\r\n node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1282:20:\r\n 1282 │ let promise = setup({\r\n ╵ ^\r\n\r\n at setup (file:///Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/vite@4.4.9_@types+node@18.15.11/node_modules/vite/dist/node/chunks/dep-df561101.js:66158:27)\r\n at handlePlugins (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1282:21)\r\n at buildOrContextImpl (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:971:5)\r\n at Object.buildOrContext (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:779:5)\r\n at /Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:2166:15\r\n at new Promise (\u003Canonymous>)\r\n at Object.build (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:2165:25)\r\n at build (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:2014:51)\r\n at bundleConfigFile (file:///Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/vite@4.4.9_@types+node@18.15.11/node_modules/vite/dist/node/chunks/dep-df561101.js:66109:26)\r\n\r\n The plugin \"externalize-deps\" was triggered by this import\r\n\r\n docs/.vitepress/config.ts:1:395:\r\n 1 │ ...Users/bddxg/Documents/coding/web/myblog_vitepress/docs/.vitepress/config.ts\";import { defineConfig } from 'vitepress'\r\n ╵ ~~~~~~~~~~~\r\n\r\nfailed to load config from /Users/bddxg/Documents/coding/web/myblog_vitepress/docs/.vitepress/config.ts\r\nfailed to start server. error:\r\nError: Build failed with 1 error:\r\nnode_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1363:27: ERROR: [plugin: externalize-deps] \"vitepress\" resolved to an ESM file. ESM file cannot be loaded by `require`. See http://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details.\r\n at failureErrorWithLog (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1639:15)\r\n at /Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1051:25\r\n at runOnEndCallbacks (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1474:45)\r\n at buildResponseToResult (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1049:7)\r\n at /Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1078:16\r\n at responseCallbacks.\u003Ccomputed> (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:700:9)\r\n at handleIncomingPacket (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:755:9)\r\n at Socket.readFromStdout (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:676:7)\r\n at Socket.emit (node:events:513:28)\r\n at addChunk (node:internal/streams/readable:324:12)\r\n ELIFECYCLE Command failed with exit code 1.\r\n```\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.",[3044],{"name":3033,"color":3034},2805,"md plugin is imported using require and it seems that import cannot be used.","2023-08-27T00:06:20Z","https://github.com/vuejs/vitepress/issues/2805",0.68297625,{"description":3051,"labels":3052,"number":3056,"owner":3022,"repository":3023,"state":3036,"title":3057,"updated_at":3058,"url":3059,"score":3060},"**Describe the bug**\r\nThe typing for `UserConfig` includes a `markdown` property which gives you access to the **mardown-it** options. This is an incredibly useful feature but sadly even though I put this into the `.vitepress/config.js` and it is indeed picked up and placed into the UserConfig that property is then ignored and not processed by the `createVitePressPlugin()`. \r\n\r\nI can create a PR for this if that of any help.\r\n\r\n**To Reproduce**\r\nadd a `.vitepress/config.js` which includes:\r\n\r\n```js\r\nmodules.exports = {\r\n // ...\r\n markdown: {\r\n config: md => { console.log(\"made it\") }\r\n }\r\n}\r\n```\r\n\r\n**Expected behavior**\r\nit should report \"made it\" when running `vitepress dev`\r\n\r\n**System Info**\r\n- vitepress version: 0.7.4\r\n- vite version: v1.0.0-rc.9\r\n- Node version: 12.19.0\r\n- OS version: macOS\r\n\r\n**Additional context**\r\nAdd any other context about the problem here.\r\n",[3053],{"name":3054,"color":3055},"question","5D5FAE",133,"UserConfig allows `markdown` prop but it is then ignored","2023-01-21T16:24:14Z","https://github.com/vuejs/vitepress/issues/133",0.6911576,{"description":3062,"labels":3063,"number":3064,"owner":3022,"repository":3023,"state":3036,"title":3065,"updated_at":3066,"url":3067,"score":3068},"> vitepress v2.0.0-alpha.6\n\n我参考文档 和 config.ts 配置 markdown 。。\n\n添加 `[.vitepress/config.js]`,但是没有官网文档一样的展示效果 \n\n```\n> ```js [.vitepress/config.js]\n> export default {\n> // site-level options\n> title: 'VitePress',\n> description: 'Just playing around.',\n> \n> themeConfig: {\n> // theme-level options\n> }\n> }\n> ```\n> \n```",[],4806,"Markdown code file 配置问题","2025-06-22T04:07:34Z","https://github.com/vuejs/vitepress/issues/4806",0.6912703,{"description":3070,"labels":3071,"number":3072,"owner":3022,"repository":3023,"state":3036,"title":3073,"updated_at":3074,"url":3075,"score":3076},"### Describe the bug\r\n\r\nIf you include one or more Markdown files in another page, the local search index \"sees them all\" as separate pages - i.e. not as 1 single page which can be navigated to via the local search box. \r\n\r\n### Reproduction\r\n\r\n1. Add the following Markdown files to a Vitepress project\r\n\r\n **part_1.md**\r\n ```\r\n Hello\r\n ```\r\n \r\n **part_2.md**\r\n ```\r\n World\r\n ```\r\n \r\n **index.md**\r\n ```\r\n \u003C!--@include: ./part_1.md-->\r\n \r\n \u003C!--@include: ./part_2.md-->\r\n ```\r\n \r\n2. Configure local search and search for the word \"Hello\".\r\n\r\n\r\n### Expected behavior\r\n\r\nGiven the example above, I would expect:\r\n\r\n1. It is not possible to navigate to `part_1.md` or `part_2.md` pages at all.\r\n2. Searching for the word \"Hello\" will show `index.md` as the only result.\r\n\r\n### System Info\r\n\r\n```sh\r\nSystem:\r\n OS: Linux 6.2 Ubuntu 23.04 23.04 (Lunar Lobster)\r\n CPU: (16) x64 Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz\r\n Memory: 55.33 GB / 62.54 GB\r\n Container: Yes\r\n Shell: 5.2.15 - /bin/bash\r\n Binaries:\r\n Node: 18.17.1 - /usr/bin/node\r\n npm: 9.6.7 - /usr/bin/npm\r\n Browsers:\r\n Chrome: 116.0.5845.96\r\n Chromium: 116.0.5845.96\r\n npmPackages:\r\n vitepress: ^1.0.0-rc.4 => 1.0.0-rc.4 \r\n```\r\n\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Check if you're on the [latest VitePress version](https://github.com/vuejs/vitepress/releases/latest).\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] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[],2812,"process includes before creating search index","2023-09-18T00:04:21Z","https://github.com/vuejs/vitepress/issues/2812",0.69478655,{"description":3078,"labels":3079,"number":3081,"owner":3022,"repository":3023,"state":3036,"title":3082,"updated_at":3083,"url":3084,"score":3085},"### Describe the bug\n\nhttps://stackblitz.com/edit/vite-j7cesz?file=docs/index.md is the repro. Its `index.md` compiles just fine with some other established markdown compilers -- I tried pandoc and it worked well.\r\n\r\nI would like to know what's wrong with my markdown code! It can be that I don't understand the VitePress markdown syntax well enough, or maybe I am lucky to find a bug in the compiler 😉 I would like to provide additional info amap.\n\n### Reproduction\n\nhttps://stackblitz.com/edit/vite-j7cesz?file=docs/index.md\n\n### Expected behavior\n\nCompiles just fine.\n\n### System Info\n\n```shell\nSystem:\r\n OS: Linux 5.15 Ubuntu 22.04.1 LTS 22.04.1 LTS (Jammy Jellyfish)\r\n CPU: (20) x64 12th Gen Intel(R) Core(TM) i7-12700H\r\n Memory: 5.91 GB / 7.61 GB\r\n Container: Yes\r\n Shell: 5.1.16 - /bin/bash\r\n Binaries:\r\n Node: 19.2.0 - /usr/bin/node\r\n npm: 8.19.3 - /usr/bin/npm\r\n npmPackages:\r\n vitepress: 1.0.0-alpha.30 => 1.0.0-alpha.30\r\n```\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.vuejs.org).\n- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[3080],{"name":3033,"color":3034},1673,"VitePress does not compile a HTML-markdown mixed file saying that 'Element is missing end tag'","2023-01-21T14:17:06Z","https://github.com/vuejs/vitepress/issues/1673",0.6955825,{"description":3087,"labels":3088,"number":3093,"owner":3022,"repository":3023,"state":3036,"title":3094,"updated_at":3095,"url":3096,"score":3097},"There are situations where a markdown file can become really long.\r\n\r\nIs it possible to \"cook\" a single MD file that my VitePress will show as 1 page, but have its contents be a combination of multiple MD files?\r\n\r\nEg. (just an example syntax so you know what I'm trying to achieve)\r\n\r\n```md\r\n\u003Cscript>\r\nimport basics from './parts/basics.md'\r\nimport reference from './parts/reference.md'\r\n\u003C/script>\r\n\r\n# Docs\r\n\r\n## Basics\r\n\r\n{{ basics }}\r\n\r\n## API Reference\r\n\r\n{{ reference }}\r\n\r\n```",[3089,3092],{"name":3090,"color":3091},"docs","0075ca",{"name":3054,"color":3055},411,"question: how to import a markdown file & display its contents in another markdown file","2023-01-21T14:32:38Z","https://github.com/vuejs/vitepress/issues/411",0.7071541,{"description":3099,"labels":3100,"number":3101,"owner":3022,"repository":3023,"state":3036,"title":3102,"updated_at":3103,"url":3104,"score":3105},"### Is your feature request related to a problem? Please describe.\n\nI have a lot of md files (10K+) that want to serve with vitepress, which contains something made vitepress unhappy (e.g. un closed tags, or `{{ xxx }}`), all I want to do is simply serve them as html pages, without any vue-parsing stuff, but vitepress keep complain about the those things while building. There're too many files for me to fix them one by one, it's nearly impossible.\n\n### Describe the solution you'd like\n\nprovide an option to completely op-out the vue related processing stuff, just parse and display markdowns\n\n### Describe alternatives you've considered\n\nother alternatives are also welcome as long as it solved this kind of problem.\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.",[],3452,"Can we provide an option to completely op-out the vue related processing stuff?","2024-01-25T00:04:47Z","https://github.com/vuejs/vitepress/issues/3452",0.7083958,{"description":3107,"labels":3108,"number":3109,"owner":3022,"repository":3023,"state":3036,"title":3110,"updated_at":3111,"url":3112,"score":3113},"### Is your feature request related to a problem? Please describe.\r\n\r\nIssue 1: Is there a way or how to get the `md` instance (per-configured by VitePress) in Vue component\r\n- I know it might be impossible or being problematic because it's supposed to be run at build-time which is in Node.js, so I'm not expecting a yes answer here, but is there any better alternative way to do so?\r\n- Note due to some reason, I don't really want to write markdown straight away, instead I want to leverage the power of yaml format, and handle the transformation just once. (Since I don't want my team to ask me how to write certain md syntax with my custom component again and again, since `Vue in markdown` is not that straight forward for them). And defining API schemas by `yaml` makes more sense to me instead of writing markdown to document.\r\n\r\nIssue 2: I noticed that by my current implementation (see below), those data are not collected by `local (minisearch)` search. This might be because data collection is happening at build-time (not sure)? Is there any way to work around this?\r\n\r\n---\r\nMy use-case:\r\n\r\nImagine a custom layout here:\r\n```md\r\n---\r\nlayout: api # my custom layout\r\nrequests:\r\n - url: /getSecurityType\r\n method: post\r\n # ....\r\n\r\n - url: /getSecurityCategory\r\n method: post\r\n # ....\r\n---\r\n```\r\nFor example, I want to map the URL to `\u003Ch2>`, and also benefit from built-in VitePress features such as `aside`.\r\n\r\nBut I found out that normal h2 won't work, since `aside` is collecting only `h2` with children, which is the `#` link on the left by default. This makes sense, but it's a little bit hard for me to manually copy the dom.\r\n\r\nA comparison could be like:\r\nWhat I want:\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nimport { useData } from 'vitepress';\r\nimport { md } from '???'; // This is what I want\r\nimport type { ApiFrontMatter } from '@theme/types/api';\r\nimport type { VitePressData } from 'vitepress';\r\nimport type { Ref } from 'vue';\r\n\r\nconst { frontmatter: fm } = useData() as VitePressData & { frontmatter: Ref\u003CApiFrontMatter> };\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Cdiv class=\"vp-doc\">\r\n \u003Ch1>{{ fm.setName }}\u003C/h1>\r\n\r\n \u003Ctemplate v-for=\"req in fm.requests\" :key=\"req.url\">\r\n \u003C!-- md instance imported from somewhere (that's what I want) -->\r\n {{ md.render(`## ${req.url}`) }}\r\n \u003C/template>\r\n \u003C/div>\r\n\u003C/template>\r\n```\r\nCurrently, I have to mimic it (although it works for styles and aside, but search data collection ignores them):\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nimport { useData } from 'vitepress';\r\nimport type { ApiFrontMatter } from '@theme/types/api';\r\nimport type { VitePressData } from 'vitepress';\r\nimport type { Ref } from 'vue';\r\n\r\nconst { frontmatter: fm } = useData() as VitePressData & { frontmatter: Ref\u003CApiFrontMatter> };\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Cdiv class=\"vp-doc\">\r\n \u003Ch1>{{ fm.setName }}\u003C/h1>\r\n\r\n \u003Ctemplate v-for=\"req in fm.requests\" :key=\"req.url\">\r\n \u003Ch2 :id=\"req.url\">\r\n {{ req.url }}\r\n \u003Ca\r\n class=\"header-anchor\"\r\n :href=\"`#${req.url}`\"\r\n :aria-label=\"`Permalink to "${req.url}"`\"\r\n >\r\n ​\r\n \u003C/a>\r\n \u003C/h2>\r\n \u003C/template>\r\n \u003C/div>\r\n\u003C/template>\r\n```\r\n\r\n### Describe alternatives you've considered\r\n\r\nThe worst case is I need to write a custom `markdown-it` plugin and wrap all those yaml into a custom block and do the transformation there... But honestly that's gonna be a huge pain...\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.",[],2605,"How to get the `md` instance (include all plugins defined) to parse my custom string in Vue component?","2023-08-15T00:04:17Z","https://github.com/vuejs/vitepress/issues/2605",0.70862263,["Reactive",3115],{},["Set"],["ShallowReactive",3118],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fW1oAW5IQzpmcaYS2PtGXZzwCmEgcsT0_pBuUiDA2QdU":-1},"/vuejs/vitepress/4838"]