\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.6832317,{"description":2887,"labels":2888,"number":2896,"owner":2871,"repository":2872,"state":2873,"title":2897,"updated_at":2898,"url":2899,"score":2900},"### Is your feature request related to a problem? Please describe.\r\n\r\n\r\n`page.headers` as returned from `useData` was an empty array even though my document had headers defined. It took my some searching to understand that I needed to set the following config in order to populate it:\r\n\r\n```js\r\n markdown: {\r\n headers: true,\r\n },\r\n```\r\n\r\nThis issue – where the user had the same confusion – helped me understand: https://github.com/vuejs/vitepress/issues/2840#issuecomment-1691067613\r\n\r\n\r\n\r\n### Describe the solution you'd like\r\n\r\nTwo things might help\r\n\r\n1) add documentation which connects https://vitepress.dev/reference/runtime-api#usedata to https://vitepress.dev/reference/site-config\r\n2) make `headers` optional, and don't include it when not enabled (`[]` vs `undefined`)\r\n\r\n\r\n\r\n### Describe alternatives you've considered\r\n\r\npossibly enable headers by default\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] 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.",[2889,2892,2895],{"name":2890,"color":2891},"docs","0075ca",{"name":2893,"color":2894},"contribution welcome","11E4B8",{"name":2868,"color":2869},3208,"improve developer experience for default-empty 'headers' field in PageData","2024-10-12T12:12:55Z","https://github.com/vuejs/vitepress/issues/3208",0.70798916,{"description":2902,"labels":2903,"number":2905,"owner":2871,"repository":2872,"state":2873,"title":2906,"updated_at":2907,"url":2908,"score":2909},"### Is your feature request related to a problem? Please describe.\r\n\r\nI'm using Vitepress to generate a combined static site that includes a substantial dynamic component, which ideally would include dynamic routing based on stuff like user ids–standard SPA stuff. I am using Vitepress in this way because it better for SEO than a Vue SPA, and is generally easier for development than using two separate builds.\r\n\r\nCurrently, I have `/index.md` as static, and `app/index.md` as a stub containing a client-only component. I want `app/[page].md` (or something) to be dynamic and render another client-only component, but this is (mostly) not possible even with dynamic routing, as it is file-based.\r\n\r\n### Describe the solution you'd like\r\n\r\nIt would be great if there were a `[page].vue` or other config option that marked a route as client-side only such that it has the same behavior as normal vue-router. Essentially a way to have a partially-static Vue site.\r\n\r\n### Describe alternatives you've considered\r\n\r\nIt is possible to modify the layout's 404 handler such that it renders the component for the runtime dynamic route. The browser will report a 404, which is [mostly a cosmetic issue](https://utcc.utoronto.ca/~cks/space/blog/web/BrowsersAndHTTPStatusCodes). Otherwise, this workaround complicates the split between application and view logic, which is not ideal.\r\n\r\nThe workaround looks a little like this plus a `v-if` in the template\r\n\r\n```ts\r\nconst pageId = computed(() => {\r\n const relPath = page.value.relativePath || window.location.pathname;\r\n return relPath.match(/\\/app\\/([\\w\\-]+)\\/?$/)?.[1] ?? undefined;\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] 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.",[2904],{"name":2868,"color":2869},2892,"Runtime dynamic routes","2025-03-02T18:10:56Z","https://github.com/vuejs/vitepress/issues/2892",0.70802116,{"description":2911,"labels":2912,"number":2914,"owner":2871,"repository":2872,"state":2873,"title":2915,"updated_at":2916,"url":2917,"score":2918},"### Is your feature request related to a problem? Please describe.\r\n\r\nsuch as a vue components library site……\r\nA common problem for a documentation page is to show how to use a component, both in code and with demo of live component.\r\n\r\n### Describe the solution you'd like\r\n\r\nlike this [https://github.com/flingyp/vitepress-demo-preview](https://github.com/flingyp/vitepress-demo-preview)\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.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.",[2913],{"name":2868,"color":2869},3270,"Feature request: Vue component source code demo","2024-01-18T18:48:08Z","https://github.com/vuejs/vitepress/issues/3270",0.7111258,{"description":2920,"labels":2921,"number":2926,"owner":2871,"repository":2872,"state":2873,"title":2927,"updated_at":2928,"url":2929,"score":2930},"### Describe the bug\n\nhttps://github.com/vuejs/vitepress/pull/3359 makes it so that there are two separate headers now (`VPNav` and `VPLocalNav`), which make it impossible to apply single style for header, such as blur effect. Even if I remove the divider and border, it'll look as follow:\r\n\r\n\n\n### Reproduction\n\nAdd blur filter to `VPNav` and `VPLocalNav` and remove borders.\n\n### Expected behavior\n\nBoth headers should be wrapped under single element (eg, `\u003Cheader>`).\n\n### System Info\n\n```Text\n-\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.",[2922,2925],{"name":2923,"color":2924},"theme","0754FB",{"name":2868,"color":2869},3393,"New local navbar design breaks ubiquitous header styling","2024-03-07T11:19:13Z","https://github.com/vuejs/vitepress/issues/3393",0.7253146,{"description":2932,"labels":2933,"number":2936,"owner":2871,"repository":2872,"state":2873,"title":2937,"updated_at":2938,"url":2939,"score":2940},"When clicking on a page, the sidebar on the left cannot automatically scroll to the current page and needs to scroll some more on its own.\r\nIf there are many things on the sidebar, it may take a long time to scroll. I checked some official documents related to the Vue series and found that many of them use vitepress, and similar things happen.\r\nAt first, I thought it was a matter of the version, but later I tried it myself and found that the new version didn't work either.\r\n\r\nSo is this a feature that can be considered for addition? I think it would be very helpful.\r\n\r\n### at first\r\n\u003Cimg width=\"1232\" alt=\"image\" src=\"https://github.com/vuejs/vitepress/assets/103993866/744ed1b9-157a-4692-9152-d4f3e4dd725c\">\r\n\r\n### after scrolling in the left area\r\n\u003Cimg width=\"1262\" alt=\"image\" src=\"https://github.com/vuejs/vitepress/assets/103993866/4b7622fe-49dd-4862-8d47-b9a954210d86\">\r\n\r\n### Describe the solution you'd like\r\n\r\nIn the sidebar area on the left, make it automatically display the title of the current page.\r\n\r\n### Describe alternatives you've considered\r\n\r\nIf given the opportunity, I hope to contribute to this feature together.\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.",[2934,2935],{"name":2923,"color":2924},{"name":2868,"color":2869},3426,"feat: cannot automatically top the current page","2025-03-02T18:09:56Z","https://github.com/vuejs/vitepress/issues/3426",0.72539234,{"description":2942,"labels":2943,"number":2945,"owner":2871,"repository":2872,"state":2873,"title":2946,"updated_at":2947,"url":2948,"score":2949},"### Is your feature request related to a problem? Please describe.\n\nhttps://vitepress.dev/zh/guide/markdown#markdown-file-inclusion\r\n\r\nThe above link suggests: support markdown full text inline or selective inline by line number.\r\n\r\nIf the line numbers are inline, this can cause unexpected problems if the embedded markdown file changes in the future (line numbers change)\n\n### Describe the solution you'd like\n\ninline by header (H1, H2, H3, etc.)\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.",[2944],{"name":2868,"color":2869},3827,"Inline markdown files do not support inlining by header","2024-06-09T06:01:04Z","https://github.com/vuejs/vitepress/issues/3827",0.736782,{"description":2951,"labels":2952,"number":2953,"owner":2871,"repository":2872,"state":2954,"title":2955,"updated_at":2956,"url":2957,"score":2958},"### Is your feature request related to a problem? Please describe.\n\nH2, H3 headings currently written in vue cannot be shown in outline,\n\n### Describe the solution you'd like\n\nor can we get a useData add header provided\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.",[],3103,"closed","Can you identify the H tag in the outline display using vue file in md?","2023-10-27T00:04:15Z","https://github.com/vuejs/vitepress/issues/3103",0.6544512,{"description":2960,"labels":2961,"number":2963,"owner":2871,"repository":2872,"state":2954,"title":2964,"updated_at":2965,"url":2966,"score":2967},"### Describe the bug\n\nIf you use Vue-style interpolation in a markdown title (# in markdown), the aside curtain \"On this page\" will show the Vue syntax and not the final text. It will also not take into account the fact that multiple secondary title exists from a loop.\n\n### Reproduction\n\nIf you have a markdown file like this with a vfor loop and a interpolation of text for the heading:\r\n\r\n```md\r\n# My great page\r\n## {{element.subtitle}}\r\n```\r\n\r\nThe output will show `{{element.subtitle}}` as text in the aside curtain \"On this page\".\r\n\r\n\n\n### Expected behavior\n\nThe output in the aside curtain \"On this page\" should be the string returned by Vue-style interpolation and take into account the multiple instance of the loop.\r\n\r\n\n\n### System Info\n\n```shell\nSystem:\r\n OS: Windows 10 10.0.19044\r\n CPU: (16) x64 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz\r\n Memory: 18.71 GB / 31.73 GB\r\n Binaries:\r\n Node: 18.2.0 - C:\\Program Files\\nodejs\\node.EXE\r\n npm: 8.9.0 - C:\\Program Files\\nodejs\\npm.CMD\r\n Browsers:\r\n Edge: Spartan (44.19041.1266.0), Chromium (102.0.1245.39)\r\n Internet Explorer: 11.0.19041.1566\r\n npmPackages:\r\n vitepress: ^1.0.0-alpha.1 => 1.0.0-alpha.1\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.",[2962],{"name":2923,"color":2924},785,"Show dynamic headers in aside outline","2023-01-21T14:26:39Z","https://github.com/vuejs/vitepress/issues/785",0.66523117,["Reactive",2969],{},["Set"],["ShallowReactive",2972],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f9GOmJDa6HvKFm7U8Ingtk9j9UWCsr27n_onhwbedWF0":-1},"/vuejs/vitepress/1145"]