\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.",[2879],{"name":2866,"color":2867},2432,"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.7242314,{"description":2886,"labels":2887,"number":2889,"owner":2869,"repository":2870,"state":2871,"title":2890,"updated_at":2891,"url":2892,"score":2893},"### Is your feature request related to a problem? Please describe.\r\n\r\nI want to use UnoCSS in a VitePress project, just like what [unocss.dev](https://unocss.dev) does. However, simply copying their config cannot bring UnoCSS to the whole site.\r\n\r\nIn this [minimal demo on StackBlitz](https://stackblitz.com/edit/vitepress-unocss), there are 3 UnoCSS injections:\r\n- [x] In Markdown content, any UnoCSS element keeps their format but without style\r\n- [ ] In the hero of `index.md`, the element turns into a string\r\n- [x] Only in the feature cards, element and styles exists so the icon shows\r\n- [ ] Other cases haven't been checked\r\n\r\n### Describe the solution you'd like\r\n\r\nProvide some guide to allow UnoCSS injection, it may be better if there is a plugin to do that.\r\n\r\n### Describe alternatives you've considered\r\n\r\nBoth VitePress and UnoCSS are powered by Vite, if UnoCSS can be integrated into VitePress, it may bring a more customizable style with little cost.\r\n\r\n~~I don't know if it's better to request this feature after UnoCSS reaches v1.0, or request it on UnoCSS for now.~~\r\n\r\n### Additional context\r\n\r\n- [UnoCSS docs source](https://github.com/unocss/unocss/tree/main/docs)\r\n- [Guide of integrating UnoCSS into Vite](https://unocss.dev/integrations/vite)\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.",[2888],{"name":2866,"color":2867},2424,"Feature request: support UnoCSS generally","2023-08-03T10:15:33Z","https://github.com/vuejs/vitepress/issues/2424",0.73870856,{"description":2895,"labels":2896,"number":2897,"owner":2869,"repository":2870,"state":2871,"title":2898,"updated_at":2899,"url":2900,"score":2901},"### Is your feature request related to a problem? Please describe.\n\nWhen using Vue templates, the Markdown renderer processes them correctly and compiles them. However, in the title, sidenav, and local search (path), the Vue templates are not rendered and are displayed as raw templates.\n\n\u003Cimg width=\"537\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/db835d1f-1084-41c9-bf1c-aa329f4609eb\" />\n\n\u003Cimg width=\"308\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/0e1beb6b-d06b-436c-b106-c924fead87ab\" />\n\n\u003Cimg width=\"931\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/aef6f71a-fa28-4b7c-b512-e6386e18159a\" />\n\n### Describe the solution you'd like\n\nIn my [pull request](https://github.com/vuejs/vitepress/pull/4630), I've introduced custom components that can be overridden in the `enhanceApp` function. In these custom components, I can add custom logic for rendering text, such as using the Vue compile function. \n\nAdditionally, I added a flag to skip the title update, allowing for custom logic implementation. \n\nPlease also see my PR: [https://github.com/vuejs/vitepress/pull/4630](https://github.com/vuejs/vitepress/pull/4630).\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.",[],4637,"Sidenav Components / Skip title update","2025-03-20T12:17:14Z","https://github.com/vuejs/vitepress/issues/4637",0.7426338,{"description":2903,"labels":2904,"number":2906,"owner":2869,"repository":2870,"state":2871,"title":2907,"updated_at":2908,"url":2909,"score":2910},"### Is your feature request related to a problem? Please describe.\r\n\r\nVitePress' default theme is pretty ace, but right now it's not completely compatible with other CSS frameworks.\r\n\r\nFor example, the `vp-doc` formatting is baked in, and certain component class names are too general so they clash with intentionally-general CSS framework class names such as `menu`.\r\n\r\nIf one was to use VitePress to document an existing CSS framework, it would be difficult, as class names leak in both directions, breaking VitePress theme components and polluting demoed content.\r\n\r\n### Describe the solution you'd like\r\n\r\nThe `without-fonts` entry point goes some way to addressing this, but VitePress could go a little further, for example:\r\n\r\n- a `without-formatting` entry point to skip formatting in `vp-doc`\r\n- renaming general class names like `.menu` (assigned in `VPNavBar`; see `\u003CVPNavBarMenu class=\"menu\" />`)\r\n\r\nI'm currently working on migrating and documenting the excellent Spectre CSS docs and am using Vitepress.\r\n\r\nI'm developing an ejected and modified default theme which has already come some way to solving this problem:\r\n\r\n- [original](https://picturepan2.github.io/spectre/components/menu.html) (custom app)\r\n- [migrated](https://spectre-org.github.io/spectre-docs/docs/components/menu.html) (VitePress with modified default theme)\r\n - note the `vp-doc` formatting which is all Spectre CSS\r\n - some fixed, and some not-yet fixed clashes of general class names\r\n\r\nFor reference to the use case (documenting a 3rd-party framework) here is the raw markdown page:\r\n\r\n- https://raw.githubusercontent.com/spectre-org/spectre-docs/main/docs/components/menu.md\r\n\r\nNote that:\r\n\r\n- Spectre CSS (or any other 3rd-party CSS framework) is now able to be simply \"dropped in\"\r\n- there is no pollution between VitePress and the 3rd-party framework\r\n- VitePress' default components remain fully-styled and work as they were before\r\n- `vp-doc` content can be safely used to demo any 3rd party HTML elements and classes\r\n\r\nI think I know enough to fix the problems in my modified theme and either:\r\n\r\n- publish a new \"neutral\" theme\r\n- port the changes to the default theme (ideal outcome)\r\n\r\nThere's actually not that much work; it's:\r\n\r\n- renaming the general component classes\r\n- moving some `vp-doc` classes to other locations\r\n- creating an additional unstyled entrypoint such as `without-formatting`\r\n\r\n### Describe alternatives you've considered\r\n\r\nPublishing the modified theme standalone, but then of course it would not benefit from ongoing updates.\r\n\r\n### Additional context\r\n\r\nI am proposing a PR in the coming weeks to integrate these updates.\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.",[2905],{"name":2866,"color":2867},3021,"Make the default theme compatible with 3rd-party CSS frameworks","2023-11-06T14:43:58Z","https://github.com/vuejs/vitepress/issues/3021",0.744932,{"description":2912,"labels":2913,"number":2915,"owner":2869,"repository":2870,"state":2916,"title":2917,"updated_at":2918,"url":2919,"score":2920},"### Is your feature request related to a problem? Please describe.\n\nIn VuePress it was possible to set default titles for TIP, INFO, WARNING, DANGER, DETAILS in config but in VitePress it doesn't work anymore.\n\n### Describe the solution you'd like\n\nAdd something like this in a config:\r\n```js\r\nthemeConfig: {\r\n\tcontainer: {\r\n\t\ttip: 'Tip',\r\n\t\tinfo: 'Info',\r\n\t\twarning: \"Warning\",\r\n\t\tdanger: 'Danger',\r\n\t\tdetails: \"Details\"\r\n\t},\r\n}\r\n```\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.vuejs.org).\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.",[2914],{"name":2866,"color":2867},1947,"closed","Add i18n support for default Custom Container titles","2023-08-11T00:04:11Z","https://github.com/vuejs/vitepress/issues/1947",0.71119285,{"description":2922,"labels":2923,"number":2927,"owner":2869,"repository":2870,"state":2916,"title":2928,"updated_at":2929,"url":2930,"score":2931},"### Describe the bug\r\n\r\nwhen I update the version to `\"vitepress\": \"^1.0.0-alpha.63\",` , and run `vitepress dev docs`, The Aside component is render nothing\r\n\r\n\r\n\r\n### Reproduction\r\n\r\nupdate the vitepress version to `\"vitepress\": \"^1.0.0-alpha.63\",`\r\n\r\nrun `vitepress dev docs`\r\n\r\n`config.js`\r\n```\r\nimport { defineConfigWithTheme } from 'vitepress';\r\nimport vueJsx from '@vitejs/plugin-vue-jsx';\r\nimport baseConfig from '@vue/theme/config';\r\nimport { demoBlockPlugin } from 'vitepress-theme-demoblock';\r\nimport path from 'path';\r\n\r\nimport { i18n, nav, sidebar } from './themeConfig/index';\r\n\r\nexport default defineConfigWithTheme({\r\n extends: baseConfig,\r\n lang: 'zh-CN',\r\n title: 'SinoGear Vue',\r\n description: '',\r\n srcDir: './src',\r\n scrollOffset: 'header',\r\n ignoreDeadLinks: true,\r\n head: [['meta', { name: 'theme-color', content: '#3c8772' }]],\r\n themeConfig: {\r\n nav,\r\n sidebar,\r\n appearance: false, // 开启 light/dark 模式\r\n // Placeholder of the i18n config for @vuejs-translations.\r\n i18n,\r\n },\r\n\r\n markdown: {\r\n config(md) {\r\n md.use(demoBlockPlugin, {\r\n cssPreprocessor: 'less',\r\n scriptImports: [\r\n \"import * as AntDesignVue from 'ant-design-vue'\",\r\n ],\r\n scriptReplaces: [\r\n {\r\n searchValue: /import ({.*}) from 'ant-design-vue'/g,\r\n replaceValue: (s, s1) => `const ${s1} = AntDesignVue`\r\n },\r\n ]\r\n });\r\n }\r\n },\r\n\r\n vite: {\r\n server: {\r\n host: true,\r\n port: 3001,\r\n fs: {\r\n // for when developing with locally linked theme\r\n allow: ['../..']\r\n }\r\n },\r\n build: {\r\n chunkSizeWarningLimit: Infinity\r\n },\r\n json: {\r\n stringify: true\r\n },\r\n ssr: {\r\n noExternal: ['@wangeditor/editor', '@wangeditor/editor-for-vue', 'ant-design-vue', '@ant-design/icons-vue', '@babel/runtime']\r\n },\r\n plugins: [vueJsx()],\r\n css: {\r\n preprocessorOptions: {\r\n less: {\r\n javascriptEnabled: true\r\n }\r\n }\r\n }\r\n },\r\n\r\n vue: {\r\n reactivityTransform: path.resolve(__dirname, 'src')\r\n }\r\n});\r\n\r\n```\r\n\r\n### Expected behavior\r\n\r\nrender aside component\r\n\r\n### System Info\r\n\r\n\r\n`packages.json`\r\n```shell\r\n\r\n\"@babel/plugin-syntax-jsx\": \"^7.18.6\",\r\n \"@vitejs/plugin-vue\": \"^4.0.0\",\r\n \"@vitejs/plugin-vue-jsx\": \"^3.0.0\",\r\n \"@vue/babel-plugin-jsx\": \"^1.1.1\",\r\n \"@vue/compiler-sfc\": \"^3.0.4\",\r\n \"conventional-changelog-cli\": \"^2.1.0\",\r\n \"cross-env\": \"^7.0.2\",\r\n \"del\": \"^6.0.0\",\r\n \"gulp\": \"^4.0.2\",\r\n \"gulp-babel\": \"^8.0.0\",\r\n \"highlight.js\": \"^10.4.1\",\r\n \"less\": \"^4.1.2\",\r\n \"lint-staged\": \"^13.0.3\",\r\n \"prettier\": \"^2.7.1\",\r\n \"rimraf\": \"^3.0.0\",\r\n \"transliteration\": \"^2.2.0\",\r\n \"vitepress\": \"^1.0.0-alpha.63\",\r\n \"vitepress-plugin-search\": \"^1.0.4-alpha.17\",\r\n \"vitepress-theme-demoblock\": \"^2.0.0\"\r\n```\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] 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.",[2924],{"name":2925,"color":2926},"need more info","bdbefc",2157,"The Aside component is render nothing","2023-04-05T00:04:02Z","https://github.com/vuejs/vitepress/issues/2157",0.72934353,{"description":2933,"labels":2934,"number":2935,"owner":2869,"repository":2870,"state":2916,"title":2936,"updated_at":2937,"url":2938,"score":2939},"**Is your feature request related to a problem? Please describe.**\r\nI would like the ability to configure markdown options similar to what is availiable in `vuepress`.\r\n\r\n**Describe the solution you'd like**\r\nIn the `config.js` file would like to be able to toggle markdown options added by `vitepress` and add my own markdown plugins. It seems that most of this was already scaffolded out and the markdown options just need to be exposed to the user config.\r\n\r\n**Describe alternatives you've considered**\r\nN/a\r\n\r\n**Additional context**\r\nN/a",[],127,"Configure markdown options","2023-01-21T16:24:15Z","https://github.com/vuejs/vitepress/issues/127",0.73000485,{"description":2941,"labels":2942,"number":2946,"owner":2869,"repository":2870,"state":2916,"title":2947,"updated_at":2948,"url":2949,"score":2950},"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",[2943],{"name":2944,"color":2945},"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.73042625,{"description":2952,"labels":2953,"number":2955,"owner":2869,"repository":2870,"state":2916,"title":2956,"updated_at":2957,"url":2958,"score":2959},"### Is your feature request related to a problem? Please describe.\n\nI've built up great docs in Vitepress but I need an API reference built off an OpenApi 3.1 spec. I'm having trouble finding a clean, \"Vitepressy\" way of doing this. \n\n### Describe the solution you'd like\n\nI'd like to setup a Vitepress layout (e.g., \"openapi\") and simply point to either a URL or file OpenAPI 3.1 spec which renders as nicely as [Stoplight Elements](https://stoplight.io/open-source/elements) but inherits the Vitepress theme, navigation, dark mode/lightmode etc.\n\n### Describe alternatives you've considered\n\nI tried to wrap [Stoplight Elements](https://stoplight.io/open-source/elements), but it was very heavy and slow and I couldn't figure out how to get the theme to match:\r\n```\r\n---\r\nlayout: false\r\n---\r\n\r\n\u003Clink rel=\"stylesheet\" href=\"https://unpkg.com/@stoplight/elements/styles.min.css\"/>\r\n\r\n\u003Ctemplate>\r\n \u003Ccomponent\r\n src=\"https://unpkg.com/@stoplight/elements/web-components.min.js\"\r\n :is=\"'script'\"\r\n >\u003C/component>\r\n\u003C/template>\r\n\r\n\u003CClientOnly>\r\n \u003Celements-api\r\n apiDescriptionUrl=\"https://raw.githubusercontent.com/stoplightio/Public-APIs/master/reference/zoom/openapi.yaml\"\r\n layout=\"sidebar\"\r\n router=\"hash\"\r\n />\r\n\u003C/ClientOnly>\r\n```\r\n If there are good other options out there that I don't know about, I'd gladly settle for the recommendation.\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.",[2954],{"name":2866,"color":2867},2091,"Provide supported approach for rendering API docs generated from an OpenAPI spec","2023-08-23T00:04:05Z","https://github.com/vuejs/vitepress/issues/2091",0.7319569,["Reactive",2961],{},["Set"],["ShallowReactive",2964],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f1Vj_k7_-jBRLVObDVtvcnpN_soJ-jmHZpjFIjzZ3DP4":-1},"/vuejs/vitepress/4164"]