\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.",[2867],{"name":2868,"color":2869},"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.6816422,{"description":2879,"labels":2880,"number":2881,"owner":2871,"repository":2872,"state":2882,"title":2883,"updated_at":2884,"url":2885,"score":2886},"### 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,"closed","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.6547769,{"description":2888,"labels":2889,"number":2890,"owner":2871,"repository":2872,"state":2882,"title":2891,"updated_at":2892,"url":2893,"score":2894},"### Is your feature request related to a problem? Please describe.\r\n\r\nI'd like the ability to ignore certain markdown files in the project directory to be considered a page.\r\n\r\nFor example, in a GitHub repository hosting a Vitepress site, the `README.md` file is unlikely to be intended to be a page but is necessary for the docs for the repository.\r\n\r\n\r\n### Describe the solution you'd like\r\n\r\nConfig file property called `ignoreFiles` where I can pass in array of strings (eg. globs) and regular expressions.\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_No response_\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] 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.",[],584,"Ignore specific markdown files","2023-01-21T16:20:01Z","https://github.com/vuejs/vitepress/issues/584",0.6659113,{"description":2896,"labels":2897,"number":2901,"owner":2871,"repository":2872,"state":2882,"title":2902,"updated_at":2903,"url":2904,"score":2905},"I am looking into porting the using vue in Markdown from vuepress: \r\nhttps://vuepress.vuejs.org/guide/using-vue.html\r\n\r\nIf I understand correctly, vitepress doesn't want to auto register components by convention as Vuepress does. Is this the case? I actually liked this feature, but I understand that vitepress wants to keep the moving parts as small as possible.\r\n\r\nWhat is the recommended way to register the components? I see that in vue-router-next docs they are registered globally inside `enhanceApp`: https://github.com/vuejs/vue-router-next/search?q=HomeSponsors.\r\nSame as with this comment: https://github.com/vuejs/vitepress/issues/92#issuecomment-724645482\r\n\r\nShould we document this way in the docs?\r\n\r\nSome thoughts about this. It would be great that users that want to use the default theme as is, do not need to learn straight away about enhanceApp to be able to use a vue component in their markdown.\r\n\r\nIf auto registering by convention in a folder like `.vitepress/components` is not an option, could we import them directly in the markdown?\r\n\r\n```markdown\r\n# Docs\r\n\r\nThis is a .md using a custom component\r\n\r\n\u003CCustomComponent />\r\n\r\n## More docs\r\n\r\n...\r\n\r\n\u003Cscript setup>\r\n import CustomComponent from '../components/CustomComponent.vue'\r\n\u003C/script>\r\n```\r\n\r\nScript & style hoisting is working in vitepress: https://vuepress.vuejs.org/guide/using-vue.html#script-style-hoisting, but I tried this example to import a Component and it is not at this point.\r\n",[2898],{"name":2899,"color":2900},"docs","0075ca",157,"Recommended way to use Custom Vue components in .md","2023-01-21T16:04:10Z","https://github.com/vuejs/vitepress/issues/157",0.6669574,{"description":2907,"labels":2908,"number":2909,"owner":2871,"repository":2872,"state":2882,"title":2910,"updated_at":2911,"url":2912,"score":2913},"I'm new to vue and vitepress so I'm a little confused.\r\n\r\nI'm looking into adding markdown to my existing vue app. The way I imagined it would be some markdown element which would take the markdown text and render it. I'm also interested in embedding vue components inside the markdown. Something like\r\n```\r\n\u003CMarkdown>\r\n## abc\r\nefg\r\n### hij\r\nHi {{name}},\r\n\u003C/Markdown>\r\n```\r\nI was hoping vitepress would do it, but it seems like vitepress sets everything up as a standalone app. I can't simply add vitepress to my package.json and start using it's elements.\r\n\r\nAny examples of using vitepress in an existing vue as a library? Or any alternative?",[],315,"Use vitepress in an existing vue app","2023-01-21T16:22:21Z","https://github.com/vuejs/vitepress/issues/315",0.68443215,{"description":2915,"labels":2916,"number":2917,"owner":2871,"repository":2872,"state":2882,"title":2918,"updated_at":2919,"url":2920,"score":2921},"### Is your feature request related to a problem? Please describe.\r\n\r\nThe markdown of the component is expected to be written under the packages, not in the docs directory.\r\n\r\nLike Dumi: https://d.umijs.org/\r\n\r\nThis will make our documentation more maintainable.\r\n\r\nThis is important when developing monorepo projects.\r\n\r\n### Describe the solution you'd like\r\n\r\nThe directory structure is as follows\r\n\r\n```bash\r\n├── docs/\r\n│ ├── .vitepress/\r\n│ │ ├── dist/\r\n│ │ └── config.js\r\n│ └── index.md\r\n├── packages/\r\n│ └── package-A/\r\n│ ├── dist/\r\n│ ├── node_modules/\r\n│ ├── src/\r\n│ │ ├── ...\r\n│ │ ├── func-A/\r\n│ │ │ ├── __tests__/ # Jest\r\n│ │ │ ├── demos/ # Vue Demos\r\n│ │ │ │ ├── Basic.vue # Example Component\r\n│ │ │ │ └── Timer.vue # Example Component\r\n│ │ │ ├── index.md # API Markdown ☞☞ Expectation: Doc documentation can be written here, can be compiled by vitepress, instead of having to be written in the docs directory\r\n│ │ │ └── index.ts # Source Code\r\n│ │ ├── ...\r\n│ │ └── index.ts\r\n│ ├── README.md\r\n│ ├── package.json\r\n│ ├── tsconfig.json\r\n│ └── typings.d.ts\r\n├── .editorconfig\r\n├── .eslintignore\r\n├── .eslintrc.js\r\n├── .fatherrc.ts\r\n├── .gitignore\r\n├── .npmrc\r\n├── .prettierignore\r\n├── .prettierrc\r\n├── README.md\r\n├── lerna.json\r\n├── package.json\r\n├── pnpm-lock.yaml\r\n├── pnpm-workspace.yaml\r\n└── tsconfig.json\r\n```\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_No response_\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] 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.",[],987,"Documentation in the same style as dumi","2023-02-04T00:04:07Z","https://github.com/vuejs/vitepress/issues/987",0.68460834,{"description":2923,"labels":2924,"number":2925,"owner":2871,"repository":2872,"state":2882,"title":2926,"updated_at":2927,"url":2928,"score":2929},"### Is your feature request related to a problem? Please describe.\r\n\r\nCurrently, I have three small blogs due to different approaches. I have customized certain things in the theme design when downloading VitePress, for example, to include in these projects native web components that can be loaded as an html tag from a simple Markdown (.md) file, besides include TailwindCSS.\r\nI am not interested in doing a Fork and would like to evaluate if it is possible to change the directory of the Vitepress documents (separating or decoupling the content of the mechanism) in order to have versatility and not having to copy in each project folder the theme and components (I mean, an `srcDir` different from `root`).\r\n\r\n### Describe the solution you'd like\r\n\r\nOne idea would be to allow the base directory of Vitepress to be different from the root, separating or decoupling the content of the theme or template (although I would understand if it is a matter of design).\r\nWhat is wanted is to use the modified Vitepress theme on different blogs without having to copy it to each project (thinking in multi-project of content)\r\n\r\n### Describe alternatives you've considered\r\n\r\n1. I have tried to apply on each of the three Vitepress blogs with the custom theme ( just that it can lead to theme desynchronization).\r\n\r\n2. Another way is to have every blog under root folder and change `srcDir` in `config.mjs` according the blog selected.\r\n\r\n3. Using a symbolic link but eventualy some errors occurs cause it resolves another path (e.g. `../../path`) and finally doesn't work.\r\n\r\n### Additional context\r\n\r\nThe project with native web components that can be use in Markdown (.md) is: \u003Chttps://github.com/kaesar/onmind-cui>\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.",[],4384,"A way to configure the directory for docs instead of the root folder","2024-12-29T04:43:47Z","https://github.com/vuejs/vitepress/issues/4384",0.6869366,{"description":2931,"labels":2932,"number":2933,"owner":2871,"repository":2872,"state":2882,"title":2934,"updated_at":2935,"url":2936,"score":2937},"### 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.6882864,{"description":2939,"labels":2940,"number":1224,"owner":2871,"repository":2872,"state":2882,"title":2944,"updated_at":2945,"url":2946,"score":2947},"Hello!\r\n\r\nDocumentation says \"...allowing the user to freely mix Vue components inside markdown content...\" but it doesn't work as VuePress.\r\n\r\nTo reproduce init project according to documentation.\r\nCreate `.vitepress/components/NewComponent.vue` with a `\u003Ctemplate>\u003Cp>Hello VitePress\u003C/p>\u003C/template>`\r\nTry to use `\u003CNewComponent />` inside index.md\r\n\r\nExpected to see rendered component on the page see nothing.\r\nConsole says \"Failed to resolve component: NewComponent\"\r\n\r\nWhat I'm doing wrong? ",[2941],{"name":2942,"color":2943},"question","5D5FAE","Cant figure out how to use components inside .md file","2023-01-21T16:24:22Z","https://github.com/vuejs/vitepress/issues/101",0.6906585,{"description":2949,"labels":2950,"number":2954,"owner":2871,"repository":2872,"state":2882,"title":2955,"updated_at":2956,"url":2957,"score":2958},"### Describe the bug\n\nindex.md not support markdown\n\n### Reproduction\n\n\"I'm encountering an issue with VitePress where Markdown syntax in my index.md file doesn't seem to apply the expected styles on the homepage, whereas in VuePress, this works as anticipated. For instance, if I wish to include some introductory text on the main page and then guide users to the navigation bar, it appears that I need to manually write the CSS styles. Why can't I utilize Markdown for styling in this case?\"\n\n### Expected behavior\n\n\"I'm encountering an issue with VitePress where Markdown syntax in my index.md file doesn't seem to apply the expected styles on the homepage, whereas in VuePress, this works as anticipated. For instance, if I wish to include some introductory text on the main page and then guide users to the navigation bar, it appears that I need to manually write the CSS styles. Why can't I utilize Markdown for styling in this case?\"\n\n### System Info\n\n```Text\n\"I'm encountering an issue with VitePress where Markdown syntax in my index.md file doesn't seem to apply the expected styles on the homepage, whereas in VuePress, this works as anticipated. For instance, if I wish to include some introductory text on the main page and then guide users to the navigation bar, it appears that I need to manually write the CSS styles. Why can't I utilize Markdown for styling in this case?\"\n```\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.",[2951],{"name":2952,"color":2953},"bug: pending triage","e99695",3409,"index.md","2024-01-13T00:04:51Z","https://github.com/vuejs/vitepress/issues/3409",0.69212437,["Reactive",2960],{},["Set"],["ShallowReactive",2963],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fdqzdp4iFRRa5WZO0pnH5f89pgqi-Tcv7kD-DLsD9VcU":-1},"/vuejs/vitepress/1951"]