\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.7896916,{"description":3069,"labels":3070,"number":3075,"owner":3053,"repository":3054,"state":3055,"title":3076,"updated_at":3077,"url":3078,"score":3079},"As mentioned in #253, we probably should add a community examples page. Here are the things that we can add:\r\n\r\n- Markdown Extensions\r\n * Code Groups\r\n * Footnotes\r\n * Task Lists\r\n * Maths, Diagrams, Charts\r\n\r\n- SEO Improvement\r\n * Sitemaps\r\n * Meta Tags\r\n\r\n- Image Extensions\r\n * Zoom on Click\r\n * Image Gallary\r\n * Figures and Captions\r\n\r\n- Complex Use-Cases\r\n * Building PWA\r\n * CSS Isolation\r\n * Dynamic Sidebar\r\n * Multiple Bases\r\n * Offline Search\r\n * Writing Blogs\r\n * Versioning\r\n\r\n- Integration with other libraries:\r\n * TailwindCSS\r\n * Styleguidist (might be tricky)\r\n * Pinia\r\n\r\nI created this list based on popular VuePress plugins and VitePress issues. Having such a page before v1 will significantly ease up migration. If you think the list is missing something common then please comment.\r\n\r\nSome of these can be officially supported too, especially the markdown extensions.",[3071,3074],{"name":3072,"color":3073},"docs","0075ca",{"name":3050,"color":3051},883,"Add examples","2024-03-07T11:20:19Z","https://github.com/vuejs/vitepress/issues/883",0.7913555,{"description":3081,"labels":3082,"number":3089,"owner":3053,"repository":3054,"state":3055,"title":3090,"updated_at":3091,"url":3092,"score":3093},"### Is your feature request related to a problem? Please describe.\n\nCurrently using vitepress to render changelogs of a repository, and it has entries like:\n`Add \u003Cpartition>/gpu support to fsgen`\n\nwhich leads to missing end tag.\n\n\n\n### Describe the solution you'd like\n\nI believe adding a frontmatter config to parse elements in a MD or not, would be a good idea.\n\n### Describe alternatives you've considered\n\n_No response_\n\n### Additional context\n\nhttps://github.com/vuejs/vitepress/issues/4216\n\nSeems to be stale, and I am not sure if this will be given any attention considering 4 months of inactivity on that issue.\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.",[3083,3086],{"name":3084,"color":3085},"build","377ba8",{"name":3087,"color":3088},"has-workaround","1B4515",4622,"[FR] Frontmatter config to disable \u003C> tags parsing","2025-03-15T10:42:12Z","https://github.com/vuejs/vitepress/issues/4622",0.795321,{"description":3095,"labels":3096,"number":3098,"owner":3053,"repository":3054,"state":3099,"title":3100,"updated_at":3101,"url":3102,"score":3103},"### Is your feature request related to a problem? Please describe.\n\nI would like to have to collapsible navigation sidebar since I organize my documents by using multiple layers of folders, which is frustrating to browse or lookup the content/page I want.\r\n\r\nVitePress only supports the top-level folders to be collapsible in the navigation sidebar currently.\n\n### Describe the solution you'd like\n\nThe default theme that VitePress provided could support multi-level sidebar to be collapsible since many of the people may also face such kind of the problem while using VitePress.\n\n### Describe alternatives you've considered\n\nI have tried to override the `VPSidebarNav` component from default theme that VitePress provided, however, the theme configuration overridding is not supported currently (related issue is still open, ref: #235 ), or I would have to duplicate the default theme as a single repository and publish it as a npm package after the development is done by myself. Anyways, I may think this kind of the feature is general for most of the users, it should be provided by VitePress, nor by users.\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.",[3097],{"name":3047,"color":3048},1360,"closed","Add support for collapsible multi-level sidebar","2023-02-01T00:04:34Z","https://github.com/vuejs/vitepress/issues/1360",0.7486089,{"description":3105,"labels":3106,"number":3107,"owner":3053,"repository":3054,"state":3099,"title":3108,"updated_at":3109,"url":3110,"score":3111},"### Is your feature request related to a problem? Please describe.\r\n\r\nhttps://github.com/vuejs/vitepress/blob/4b0b1ef35f38461514f3e97e0a509029a70d3086/src/client/app/composables/copyCode.ts#L20-L24\r\n\r\nUse `innerText` will include element properties. Like block element will make `text` with trailing newline `\\n`\r\n\r\n### Describe the solution you'd like\r\n\r\n**code copy remove trailing newline**\r\n\r\nAnd I'm not sure if all lang code copy should remove this hidden problem.\r\n\r\nBut should be removed in the shell lang . Because in SHELL env (like bash) or some termianl apps, there is a trailing newline in our copy, the command will to be executed directly after paste, which is dangerous.\r\n\r\n### Describe alternatives you've considered\r\n\r\n\r\nIf maintainer agree, I will submit a PR\r\n```ts\r\nif (isShell)\r\n text = text.replace(/^ *($|>) /gm, '').replace(/[\\n\\r]$/, '')\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.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.",[],1559,"[code copy]: shell lang code block remove trailing newline","2023-01-21T14:22:53Z","https://github.com/vuejs/vitepress/issues/1559",0.77256143,{"description":3113,"labels":3114,"number":3118,"owner":3053,"repository":3054,"state":3099,"title":3119,"updated_at":3120,"url":3121,"score":3122},"### Describe the bug\n\nWhen the anchor is in Chinese, refresh the page and control until an error is reported.\r\n```\r\ndex.js:123 Uncaught (in promise) DOMException: Failed to execute 'querySelector' on 'Document': '#_7-%E5%8F%91%E8%B4%A7%E7%94%B3%E8%AF%B7%E4%B8%8E%E5%AE%A1%E6%89%B9' is not a valid selector.\r\n```\n\n### Reproduction\n\nAs mentioned above\n\n### Expected behavior\n\nNo error reported\n\n### System Info\n\n```shell\nwindow11 chrome112\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.",[3115],{"name":3116,"color":3117},"bug: pending triage","e99695",2263,"When the anchor is in Chinese, refresh the page and control until an error is reported","2023-05-05T00:04:14Z","https://github.com/vuejs/vitepress/issues/2263",0.7756655,{"description":3124,"labels":3125,"number":3126,"owner":3053,"repository":3054,"state":3099,"title":3127,"updated_at":3128,"url":3129,"score":3130},"### Describe the bug\n\nI've noticed that my index.md meta content within the html \u003Chead> continues to populate throughout the users session whilst navigating to different pages within a site build. \r\n\r\nI think this goes against the desired experienced that occurs when in project docs:dev, where the meta content from the active page appears as expected for each page (and doesn't double-up/include the index.md meta content). \r\n\n\n### Reproduction\n\n\r\nMy front matter is JSON format, looking similar to this;\r\n\r\n```index.md\r\n---\r\n{\r\n \"title\": \"My Sites Homepage\",\r\n \"description\": \"The main index.md site\",\r\n \"head\":\r\n [\r\n [\"meta\", { \"name\": \"application\", \"content\": \"My App\" }],\r\n [\"meta\", { \"name\": \"search\", \"content\": \"Black, White, Red, Green, Blue\" },\r\n ],\r\n ],\r\n}\r\n---\r\n```\r\n\r\n\r\nMy front matter is JSON format, looking similar to this;\r\n\r\n```random-page.md\r\n---\r\n{\r\n \"title\": \"A Random Page\",\r\n \"description\": \"A random page of various topics\",\r\n \"head\":\r\n [\r\n [\"meta\", { \"name\": \"application\", \"content\": \"Random App\" }],\r\n [\"meta\", { \"name\": \"search\", \"content\": \"Apples, Oranges, Balloons\" },\r\n ],\r\n ],\r\n}\r\n---\r\n```\r\n\r\nnpm run docs:dev - we see the expected content on the random-page.html\r\n\r\n\r\n\r\nnpm run docs:build / docs:serve - navigating to the same page, the head looks like this;\r\n\r\n\r\n\n\n### Expected behavior\n\nI would expect the head meta content for both Dev and Build/Serve to look as Dev currently does.\r\n\r\n\n\n### System Info\n\n```Text\n- Windows 10/11\r\n - FireFox (latest version)\r\n - VitePress builds 32 / 35\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.",[],3471,"meta content from index appears in head when navigating with build/serve, but not whilst in dev. ","2024-01-27T00:04:23Z","https://github.com/vuejs/vitepress/issues/3471",0.78590465,{"description":3132,"labels":3133,"number":3135,"owner":3053,"repository":3054,"state":3099,"title":3136,"updated_at":3137,"url":3138,"score":3139},"**Is your feature request related to a problem? Please describe.**\r\nI noticed there are some `useActiveSidebarLinks` composables in the default theme. They are a bit specific to the Sidebar.vue component. It does not make it easy to customize a new sidebar.\r\n\r\n**Describe the solution you'd like**\r\nIntroduce exported composable useActiveSidebarLinks which takes in properties like selectors or refs and returns which link is active.\r\n\r\n**Describe alternatives you've considered**\r\nI am using the default-theme's Sidebar component wholesale in a custom theme for now.\r\n\r\n**Additional context**\r\nI might take a stab at it but wanted to file an issue until then.\r\n",[3134],{"name":3047,"color":3048},70,"sidebar composable exported for general use","2023-01-21T16:04:25Z","https://github.com/vuejs/vitepress/issues/70",0.78827035,{"description":3141,"labels":3142,"number":3144,"owner":3053,"repository":3054,"state":3099,"title":3145,"updated_at":3146,"url":3147,"score":3148},"### Describe the bug\r\n\r\nAttempting to run `vitepress build docs` when there exists a file `docs/**/arguments.md` results in a crash.\r\n```shell\r\n$ yarn vitepress build docs\r\nyarn run v1.22.19\r\n$ /home/.../website/node_modules/.bin/vitepress build docs\r\nvitepress v1.0.0-alpha.4\r\n⠇ building client + server bundles...[vite:esbuild-transpile] Transform failed with 1 error:\r\narguments.md.js:21:4: ERROR: Declarations with the name \"arguments\" cannot be used in strict mode\r\n\r\nDeclarations with the name \"arguments\" cannot be used in strict mode\r\n19 | return _sfc_setup ? _sfc_setup(props, ctx) : undefined\r\n20 | };\r\n21 | var arguments = /*#__PURE__*/pluginVue_exportHelper._export_sfc(_sfc_main, [['ssrRender',_sfc_ssrRender]]);\r\n | ^\r\n22 | \r\n23 | exports.__pageData = __pageData;\r\n\r\n✖ building client + server bundles...\r\n[vite:esbuild-transpile] Transform failed with 1 error:\r\nassets/arguments.md.88297d47.js:14:4: ERROR: Declarations with the name \"arguments\" cannot be used in an ECMAScript module\r\n\r\nDeclarations with the name \"arguments\" cannot be used in an ECMAScript module\r\n12 | return (openBlock(), createElementBlock(\"div\", null, _hoisted_2))\r\n13 | }\r\n14 | var arguments = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render]]);\r\n | ^\r\n15 | \r\n16 | export { __pageData, arguments as default };\r\n\r\nbuild error:\r\n Error: Transform failed with 1 error:\r\narguments.md.js:21:4: ERROR: Declarations with the name \"arguments\" cannot be used in strict mode\r\n at failureErrorWithLog (/home/.../website/node_modules/esbuild/lib/main.js:1615:15)\r\n at /home/.../website/node_modules/esbuild/lib/main.js:1404:29\r\n at /home/.../website/node_modules/esbuild/lib/main.js:669:9\r\n at handleIncomingPacket (/home/.../website/node_modules/esbuild/lib/main.js:766:9)\r\n at Socket.readFromStdout (/home/.../website/node_modules/esbuild/lib/main.js:635:7)\r\n at Socket.emit (node:events:527:28)\r\n at addChunk (node:internal/streams/readable:315:12)\r\n at readableAddChunk (node:internal/streams/readable:289:9)\r\n at Socket.Readable.push (node:internal/streams/readable:228:10)\r\n at Pipe.onStreamRead (node:internal/stream_base_commons:190:23) {\r\n errors: [\r\n {\r\n detail: undefined,\r\n id: '',\r\n location: [Object],\r\n notes: [Array],\r\n pluginName: '',\r\n text: 'Declarations with the name \"arguments\" cannot be used in strict mode'\r\n }\r\n ],\r\n warnings: [],\r\n frame: '\\n' +\r\n '\\x1B[33mDeclarations with the name \"arguments\" cannot be used in strict mode\\x1B[39m\\n' +\r\n '19 | return _sfc_setup ? _sfc_setup(props, ctx) : undefined\\n' +\r\n '20 | };\\n' +\r\n \"21 | var arguments = /*#__PURE__*/pluginVue_exportHelper._export_sfc(_sfc_main, [['ssrRender',_sfc_ssrRender]]);\\n\" +\r\n ' | ^\\n' +\r\n '22 | \\n' +\r\n '23 | exports.__pageData = __pageData;\\n',\r\n loc: {\r\n column: 4,\r\n file: 'arguments.md.js',\r\n length: 9,\r\n line: 21,\r\n lineText: \"var arguments = /*#__PURE__*/pluginVue_exportHelper._export_sfc(_sfc_main, [['ssrRender',_sfc_ssrRender]]);\",\r\n namespace: '',\r\n suggestion: ''\r\n },\r\n code: 'PLUGIN_ERROR',\r\n plugin: 'vite:esbuild-transpile',\r\n hook: 'renderChunk'\r\n}\r\n```\r\n\r\n### Reproduction\r\n\r\nTo reproduce, create a file called `arguments.md` with any content inside the vitepress `docs` folder (or other target).\r\nThen, run `vitepress build \u003Cfolder>`, and the error will occur.\r\n\r\n### Expected behavior\r\n\r\nThe expected behaviour is to generate an `arguments.html` file.\r\n\r\n### System Info\r\n\r\n```shell\r\nSystem:\r\n OS: Linux 5.18 Arch Linux\r\n CPU: (12) x64 AMD Ryzen 5 2600X Six-Core Processor\r\n Memory: 18.11 GB / 31.28 GB\r\n Container: Yes\r\n Shell: 5.9 - /usr/bin/zsh\r\n Binaries:\r\n Node: 16.16.0 - /usr/bin/node\r\n Yarn: 1.22.19 - /usr/bin/yarn\r\n npm: 8.14.0 - /usr/bin/npm\r\n Browsers:\r\n Chromium: 103.0.5060.134\r\n npmPackages:\r\n vitepress: ^1.0.0-alpha.4 => 1.0.0-alpha.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] 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.",[3143],{"name":3084,"color":3085},1068,"Documents named `arguments.md` cannot be built.","2023-01-21T14:27:03Z","https://github.com/vuejs/vitepress/issues/1068",0.7892624,["Reactive",3150],{},["Set"],["ShallowReactive",3153],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fHgVUQlS-WhqBuFXrwghREcqSUKpDC6AifbFqaUuBBpI":-1},"/vuejs/vitepress/1352"]