\r\n \u003C/a>\r\n \u003C/nav>\r\n \u003C/header>\r\n\u003C/template>\r\n```\r\n\r\n\n\n### Reproduction\n\n\r\nhttps://github.com/vuejs/vitepress/assets/36221207/cb78fbb6-8ae3-482e-8c37-063fcc7e441d\r\n\r\n\n\n### Expected behavior\n\nA way to switch themes in a custom theme:\r\n\r\nThe theme color of the page switches automatically when the isDark value is changed.\r\n\r\nOr provide a method to actively modify.\r\n\r\nThanks❤️\n\n### System Info\n\n```sh\nSystem:\r\n OS: macOS 13.3.1\r\n CPU: (8) arm64 Apple M1 Pro\r\n Memory: 45.83 MB / 16.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 16.17.0 - /usr/local/bin/node\r\n Yarn: 1.22.19 - /usr/local/bin/yarn\r\n npm: 9.1.2 - /usr/local/bin/npm\r\n pnpm: 8.6.12 - /usr/local/bin/pnpm\r\n Browsers:\r\n Chrome: 116.0.5845.96\r\n Safari: 16.4\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.",[3047],{"name":3021,"color":3022},2830,"How to toggle dark theme in custom theme?","2023-08-30T00:04:14Z","https://github.com/vuejs/vitepress/issues/2830",0.6858811,{"description":3054,"labels":3055,"number":3057,"owner":3027,"repository":3028,"state":3039,"title":3058,"updated_at":3059,"url":3060,"score":3061},"### Describe the bug\n\nhttps://flowbite-vue.com/pages/getting-started\n\n\u003Cimg width=\"97\" height=\"103\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/eb9f85c1-6df8-47e9-950a-8b1aeb92b7ba\" />\n\n\n```vue\n\u003Cscript setup>\nimport { FwbButton } from 'flowbite-vue'\n\u003C/script>\n\u003Ctemplate>\n \u003Cdiv>\n \u003Cfwb-button color=\"default\">Default\u003C/fwb-button>\n \u003C/div>\n\u003C/template>\n```\n\n### Reproduction\n\nhttps://github.com/jk2K/testvitepress\n\ntech stack\n1. https://flowbite-vue.com/pages/getting-started\n2. tailwindcss v4\n\n### Expected behavior\n\n\u003Cimg width=\"103\" height=\"50\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/7bffdf53-2faf-4257-87c2-4f60511b7060\" />\n\n### System Info\n\n```Text\nSystem:\n OS: macOS 15.5\n CPU: (14) arm64 Apple M4 Pro\n Memory: 218.33 MB / 48.00 GB\n Shell: 5.9 - /bin/zsh\n Binaries:\n Node: 22.16.0 - ~/.nvm/versions/node/v22.16.0/bin/node\n npm: 10.9.2 - ~/.nvm/versions/node/v22.16.0/bin/npm\n pnpm: 10.11.0 - /opt/homebrew/bin/pnpm\n Browsers:\n Chrome: 138.0.7204.159\n Safari: 18.5\n npmPackages:\n vitepress: ^1.6.3 => 1.6.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.",[3056],{"name":3021,"color":3022},4856,"vitepress not work for flowbite-vue","2025-07-25T10:13:26Z","https://github.com/vuejs/vitepress/issues/4856",0.686012,{"description":3063,"labels":3064,"number":3066,"owner":3027,"repository":3028,"state":3039,"title":3067,"updated_at":3068,"url":3069,"score":3070},"**Describe the bug**\r\n\r\nWhen using vitepress with vue v3.1, we are now running into a compilation error as some vitepress components are using `\u003Ctemplate functional>`\r\n\r\nThe related change in vue-next is https://github.com/vuejs/vue-next/commit/467076361a730b7925c88c572793c78637e05ca7\r\n\r\n**To Reproduce**\r\n\r\nSee [this PR in VTU](https://github.com/vuejs/vue-test-utils-next/pull/654) (that uses vitepress for the docs) that fails because of vitepress and vue 3.1 \r\n\r\nIt can easily be reproduced in the current codebase by bumping vue to v3.1 and run `yarn docs-build`:\r\n\r\n```\r\nSyntaxError: \u003Ctemplate functional> is no longer supported in Vue 3, since functional components no longer have significant performance difference from stateful ones. Just use a normal \u003Ctemplate> instead.\r\n at /Users/ced-pro/Code/vue/vitepress/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:196:37\r\n at Array.forEach (\u003Canonymous>)\r\n at parse (/Users/ced-pro/Code/vue/vitepress/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:182:18)\r\n at createDescriptor (/Users/ced-pro/Code/vue/vitepress/node_modules/@vitejs/plugin-vue/dist/index.js:4048:62)\r\n at transformMain (/Users/ced-pro/Code/vue/vitepress/node_modules/@vitejs/plugin-vue/dist/index.js:4344:32)\r\n at Object.transform (/Users/ced-pro/Code/vue/vitepress/node_modules/@vitejs/plugin-vue/dist/index.js:4665:16)\r\n at /Users/ced-pro/Code/vue/vitepress/node_modules/rollup/dist/shared/rollup.js:19875:25 {\r\n loc: {\r\n start: { column: 11, line: 1, offset: 10 },\r\n end: { column: 21, line: 1, offset: 20 },\r\n source: 'functional'\r\n },\r\n id: '/Users/ced-pro/Code/vue/vitepress/dist/client/theme-default/com\r\n```\r\n\r\n**Expected behavior**\r\nvitepress should properly compile with Vue v3.1\r\n\r\n**System Info**\r\n- vitepress version: 0.14\r\n- vite version: 2.3.4\r\n- Node version: 14.17\r\n- OS version: macOS\r\n",[3065],{"name":3021,"color":3022},311,"Functional templates errors with vue v3.1","2023-01-21T16:22:22Z","https://github.com/vuejs/vitepress/issues/311",0.68622094,{"description":3072,"labels":3073,"number":3077,"owner":3027,"repository":3028,"state":3039,"title":3078,"updated_at":3079,"url":3080,"score":3081},"### 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.",[3074],{"name":3075,"color":3076},"need more info","bdbefc",2157,"The Aside component is render nothing","2023-04-05T00:04:02Z","https://github.com/vuejs/vitepress/issues/2157",0.6888197,{"description":3083,"labels":3084,"number":3095,"owner":3027,"repository":3028,"state":3039,"title":3096,"updated_at":3097,"url":3098,"score":3099},"### Describe the bug\n\nJust like the Vite docs, I use custom styles in the `index.md` file using `\u003Cstyle module>`. I also use custom components in which I use `\u003Cstyle scoped>`.\r\n\r\nSince I updated from version `1.0.0` to the latest one (the one in the StackBlitz), the built page's styles are broken. In the dev preview everything looks like expected.\n\n### Reproduction\n\nOpen the StackBlitz Demo with this [link](https://stackblitz.com/edit/vite-1qtmk8?file=docs%2Findex.md).\r\n\r\nIf it does not run automatically, run `npm install && npm run dev`. It should look something like this:\r\n\r\n\r\n\r\nThen run `npm run docs:build && npm run docs:preview` and it will look like this:\r\n\r\n\r\n\r\nAs you can see, the hero image and its background are different and the cards are different as well.\n\n### Expected behavior\n\nI expected the built version to look just like the dev preview (or at least very close).\n\n### System Info\n\n```Text\nSystem:\r\n OS: Windows 10 10.0.19045\r\n CPU: (12) x64 AMD Ryzen 5 5500U with Radeon Graphics\r\n Memory: 6.45 GB / 15.35 GB\r\n Binaries:\r\n Node: 21.2.0 - C:\\Program Files\\nodejs\\node.EXE\r\n npm: 10.5.0 - C:\\Program Files\\nodejs\\npm.CMD\r\n pnpm: 9.1.2 - ~\\AppData\\Roaming\\npm\\pnpm.CMD\r\n Browsers:\r\n Edge: Chromium (127.0.2651.74)\r\n Internet Explorer: 11.0.19041.4355\r\n npmPackages:\r\n vitepress: ^1.3.1 => 1.3.1\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.",[3085,3088,3091,3094],{"name":3086,"color":3087},"help wanted","008672",{"name":3089,"color":3090},"build","377ba8",{"name":3092,"color":3093},"upstream","BF29ED",{"name":3024,"color":3025},4098,"Styling discrepancies between dev and build","2025-01-05T04:42:47Z","https://github.com/vuejs/vitepress/issues/4098",0.6947028,{"description":3101,"labels":3102,"number":3106,"owner":3027,"repository":3028,"state":3039,"title":3107,"updated_at":3108,"url":3109,"score":3110},"### Describe the bug\n\nWhen loading build-time data from a set of `.md` files using `createContentLoader()` the raw markdown content `.src` property contains inline Vue components but they are missing from the rendered HTML `.html` property. It's as if the rendering process just ignores any Vue components in the markdown content.\n\n### Reproduction\n\nI'll add a complete repro shortly.\n\n### Expected behavior\n\nI would expect the rendering of markdown from `createContentLoader()` to work the same way as rendering that `.md` file directly.\n\n### System Info\n\n```Text\nSystem:\n OS: macOS 15.5\n CPU: (12) arm64 Apple M2 Max\n Memory: 11.86 GB / 64.00 GB\n Shell: 5.9 - /bin/zsh\n Binaries:\n Node: 22.6.0 - ~/.nvm/versions/node/v22.6.0/bin/node\n npm: 10.8.2 - ~/.nvm/versions/node/v22.6.0/bin/npm\n Browsers:\n Chrome: 137.0.7151.122\n Safari: 18.5\n npmPackages:\n vitepress: ~2.0.0-alpha.7 => 2.0.0-alpha.7\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.",[3103],{"name":3104,"color":3105},"wont fix","EDEED1",4828,"createContentLoader doesn't render Vue components in loaded .md files","2025-07-13T10:13:16Z","https://github.com/vuejs/vitepress/issues/4828",0.6955129,{"description":3112,"labels":3113,"number":3115,"owner":3027,"repository":3028,"state":3039,"title":3116,"updated_at":3117,"url":3118,"score":3119},"### Describe the bug\n\nall auto import components in dev mode is ok.\nall auto import components in build mode is ok, when there have no 'script' tag in md files\n\nif md file have 'script' tag of one page. the page's auto import component will not resolve in **build mode**!!!!\n\n### Reproduction\n\nit's an empty vitepress project.\n\n[Reproduction URL](https://github.com/huchaomin/vitepress-auto-import-bug)\n\n### Expected behavior\n\n\u003Cimg width=\"900\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/76a803ce-949b-4ae2-b229-32484d930cde\" />\n\n\u003Cimg width=\"821\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/d4b60aea-4b7c-422f-8c0e-339be12dbe42\" />\n\n\u003Cimg width=\"901\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/691bb9b3-a61d-4f15-8426-68416f7340da\" />\n\n\u003Cimg width=\"915\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/9c8470cc-7c45-476a-aaf1-3f990a1c57f0\" />\n\n### System Info\n\n```Text\nSystem:\n OS: Windows 11 10.0.22631\n CPU: (28) x64 Intel(R) Core(TM) i7-14700KF\n Memory: 15.99 GB / 31.82 GB\n Binaries:\n Node: 20.17.0 - D:\\Program Files\\nodejs\\node.EXE\n npm: 10.8.2 - D:\\Program Files\\nodejs\\npm.CMD\n pnpm: 9.8.0 - D:\\Program Files\\nodejs\\pnpm.CMD\n Browsers:\n Edge: Chromium (127.0.2651.74)\n Internet Explorer: 11.0.22621.3527\n npmPackages:\n vitepress: ^1.6.3 => 1.6.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.",[3114],{"name":3021,"color":3022},4519,"\"vitepress\" work with \"unplugin-vue-components\" bug","2025-02-02T04:41:47Z","https://github.com/vuejs/vitepress/issues/4519",0.6959188,{"description":3121,"labels":3122,"number":3124,"owner":3027,"repository":3028,"state":3039,"title":3125,"updated_at":3126,"url":3127,"score":3128},"### Describe the bug\n\nIn a standard Vue project build output correctly lazy‐loads only the Shiki chunks required (e.g., `@shikijs/langs/vue` and `@shikijs/themes/material-theme-ocean`). \nHowever when the same code runs in a VitePress site (built with `pnpm docs:build`) the page is fetching **every** Shiki language and theme chunk up front. This results in dozens of unnecessary HTTP requests and significantly slows down page load. The expected on-demand loading behavior is not happening in the VitePress build.\n\n### Reproduction\n\nPrepared reproduction can be found here:\nhttps://github.com/alexchexes/vitepress-shiki-test\n\nSteps:\n1. `pnpm create vue@latest`\n2. `pnpm add -D vitepress` and `npx vitepress init`, default settings\n3. `pnpm add shiki`\n4. Put this code into a `.vue` file:\n```vue\n\u003Cscript setup lang=\"ts\">\nimport { onMounted, ref } from 'vue'\nimport { codeToHtml } from 'shiki'\n\nconst html = ref()\n\nonMounted(async () => {\n const code = '\u003Cdiv attr=\"123\" />'\n\n html.value = await codeToHtml(code, {\n lang: 'vue',\n theme: 'material-theme-ocean',\n })\n})\n\u003C/script>\n\n\u003Ctemplate>\n \u003Cdiv v-html=\"html\">\u003C/div>\n\u003C/template>\n```\n5. Put this code into a `.md` file:\n```md\n---\nlayout: page\nsidebar: false\n---\n\n\u003Cscript setup>\nimport CustomComponent from './CustomComponent.vue'\n\u003C/script>\n\n\u003CCustomComponent />\n```\n5. `pnpm build && pnpm docs:build`\n6. `pnpm preview`\n - Open the page where the Shiki is used.\n - Open DevTools → Network tab.\n - Notice that only the Vue grammar and material-theme-ocean chunks are fetched. This is correct. ✅\n7. `pnpm docs:preview`\n- Open the page where the Shiki is used.\n- Open DevTools → Network tab.\n- Notice that all Shiki languages and themes (even those not in use) are fetched at page load. This is incorrect. ❌\n\n### Expected behavior\n\nWhen building VitePress production site with `pnpm docs:build`, the output should behave like a standard Vue production build (`pnpm build`) when using libraries such as Shiki: the production page should not fetch every chunk up front at page load; it should only fetch the chunks when they are needed.\n\n### System Info\n\n```Text\nSystem:\n OS: Windows 11 10.0.26100\n CPU: (20) x64 12th Gen Intel(R) Core(TM) i7-12700H\n Memory: 33.51 GB / 63.67 GB\n Binaries:\n Node: 22.11.0 - C:\\Program Files\\nodejs\\node.EXE\n Yarn: 1.22.22 - ~\\AppData\\Roaming\\npm\\yarn.CMD\n npm: 11.4.1 - C:\\Program Files\\nodejs\\npm.CMD\n pnpm: 10.11.0 - ~\\AppData\\Local\\pnpm\\pnpm.EXE\n Browsers:\n Edge: Chromium (130.0.2849.80)\n npmPackages:\n vitepress: ^1.6.3 => 1.6.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.",[3123],{"name":3021,"color":3022},4770,"VitePress build eagerly loads all Shiki chunks instead of lazy-loading only what's needed","2025-06-03T04:11:18Z","https://github.com/vuejs/vitepress/issues/4770",0.69634306,["Reactive",3130],{},["Set"],["ShallowReactive",3133],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f-KFoBa2sBiZ8cr3tv2k-X4OkWbX7W9KIpAnXdirFqXU":-1},"/vuejs/vitepress/3267"]