\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,"vuejs","vitepress","open","Sidenav Components / Skip title update","2025-03-20T12:17:14Z","https://github.com/vuejs/vitepress/issues/4637",0.7557611,{"description":2876,"labels":2877,"number":2884,"owner":2868,"repository":2869,"state":2870,"title":2885,"updated_at":2886,"url":2887,"score":2888},"### 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.",[2878,2881],{"name":2879,"color":2880},"theme","0754FB",{"name":2882,"color":2883},"stale","ededed",3393,"New local navbar design breaks ubiquitous header styling","2024-03-07T11:19:13Z","https://github.com/vuejs/vitepress/issues/3393",0.758459,{"description":2890,"labels":2891,"number":2892,"owner":2868,"repository":2869,"state":2893,"title":2894,"updated_at":2895,"url":2896,"score":2897},"### Describe the bug\n\nHello, thank you so much for vitepress — we are using it for https://observablehq.com/plot/\r\n\r\nCurrently we see that the instant search **detailed list** feature works in `docs:dev` but does not work with `docs:preview` (nor in production). \r\n\r\nWe are currently using v1.0.0-alpha.72, but I tried locally upgrading to v1.0.0-beta.1 and the issue is still here.\r\n\n\n### Reproduction\n\nClone https://github.com/observablehq/plot\r\nchange vitepress version to v1.0.0-beta.1 in package.json\r\nrun yarn; yarn docs:build; yarn docs:preview\r\nopen the site and search “color”\r\n\r\nscreenshot: left: docs:dev; right: docs:preview\r\n\r\n\r\n\n\n### Expected behavior\n\nThe detailed list should appear.\n\n### System Info\n\n```sh\nSystem:\r\n OS: macOS 13.3.1\r\n CPU: (8) arm64 Apple M1\r\n Memory: 63.64 MB / 16.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 20.1.0 - ~/.nvm/versions/node/v20.1.0/bin/node\r\n Yarn: 1.22.19 - /opt/homebrew/bin/yarn\r\n npm: 9.6.4 - ~/.nvm/versions/node/v20.1.0/bin/npm\r\n Browsers:\r\n Chrome: 114.0.5735.106\r\n Firefox: 113.0.2\r\n Safari Technology Preview: 16.4\r\n npmPackages:\r\n vitepress: ^1.0.0-beta.1 => 1.0.0-beta.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.",[],2485,"closed","Detailed list doesn't work with docs:preview (only works with docs:dev)","2023-06-15T00:04:10Z","https://github.com/vuejs/vitepress/issues/2485",0.71198505,{"description":2899,"labels":2900,"number":2904,"owner":2868,"repository":2869,"state":2893,"title":2905,"updated_at":2906,"url":2907,"score":2908},"I'd like to only have a custom NavLinks component while keeping the default vitepress theme. Next I looked at the NavBar although also my version doesn't override. Any help in the right direction would be great.\r\n\r\ndocs/.vitepress/config.js\r\n\r\n```\r\nimport Theme from 'vitepress/theme'\r\nimport '../../assets/vars.css'\r\nimport NavBar from './Mynav.vue'\r\n\r\nconst MyTheme = {...Theme, Layout: {...Theme.Layout, NavBar}}\r\n\r\nexport default {\r\n ...MyTheme,\r\n NotFound: () => 'custom 404',\r\n enhanceApp({app, router, siteData}) {\r\n\r\n },\r\n}\r\n```\r\n ",[2901],{"name":2902,"color":2903},"docs","0075ca",235,"Extending the vitepress theme","2023-03-18T00:04:16Z","https://github.com/vuejs/vitepress/issues/235",0.72116846,{"description":2910,"labels":2911,"number":2912,"owner":2868,"repository":2869,"state":2893,"title":2913,"updated_at":2914,"url":2915,"score":2916},"Vitepress keeps adding `.html` extension to any link referencing a pdf file relative to the page. Seems like it's hard-coded here\r\n\r\nhttps://github.com/vuejs/vitepress/blob/cee0b400d95b610fa47ea79007e03221a140084f/src/node/markdownToVue.ts#L52\r\n\r\nMay be it's the right way and any non-routed link should be put as `\u003Ca>` tag? Just wanted to share this observation.",[],265,"Adding link to (non-html) files from md","2023-01-21T16:20:09Z","https://github.com/vuejs/vitepress/issues/265",0.7265186,{"description":2918,"labels":2919,"number":2923,"owner":2868,"repository":2869,"state":2893,"title":2924,"updated_at":2925,"url":2926,"score":2927},"### Describe the bug\n\nOn https://vitepress.dev/guide/mpa-mode, the documentation says:\n\n> all pages are rendered without any JavaScript included by default\n\nBut that's not the case, this block of code is unconditionally included\n\n```html\n\u003Cscript id=\"check-mac-os\">document.documentElement.classList.toggle(\"mac\",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));\u003C/script>\n```\n\nI don't think there is a way to disable this functionality, outside of doing cursed stuff like\n\n```javascript\nconst head = []\nhead.push = () => {}\n\ndefineConfig({\n ...,\n head,\n})\n```\n\nWhich I imagine isn't exactly supported.\n\n### Reproduction\n\nCreate a website with `mpa: true` and \"Custom Theme\" theme.\n\n### Expected behavior\n\nThere shouldn't be any JavaScript.\n\n### System Info\n\n```Text\nSystem:\n OS: Linux 6.12 cpe:/o:nixos:nixos:25.11 25.11 (Xantusia)\n CPU: (12) x64 AMD Ryzen 5 7640U w/ Radeon 760M Graphics\n Memory: 4.19 GB / 30.66 GB\n Container: Yes\n Shell: 5.2.37 - /nix/store/1q9lw4r2mbap8rsr8cja46nap6wvrw2p-bash-interactive-5.2p37/bin/bash\n Binaries:\n Node: 22.14.0 - /nix/store/c8jxsih8yy2rnncdmx2hyraizf689nvp-nodejs-22.14.0/bin/node\n npm: 10.9.2 - /nix/store/c8jxsih8yy2rnncdmx2hyraizf689nvp-nodejs-22.14.0/bin/npm\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.",[2920],{"name":2921,"color":2922},"bug: pending triage","e99695",4766,"MPA claims to be no-JS-by-default, but isn't, and there is no real way to make it no-JS","2025-05-29T08:35:15Z","https://github.com/vuejs/vitepress/issues/4766",0.7311092,{"description":2929,"labels":2930,"number":2931,"owner":2868,"repository":2869,"state":2893,"title":2932,"updated_at":2933,"url":2934,"score":2935},"### Is your feature request related to a problem? Please describe.\n\nI was going to make a documentation application using VitePress. So, I've made my website and then build it to get final files in the dist folder. Then, I tried to load that page as WebView in Flutter. But only HTML content is being displayed. No CSS is working. And also media files are not displaying. I think JS files are also not being loaded. This is happening when I open website with browser. It is only working with local server/host or web servers. \n\n### Describe the solution you'd like\n\nAdd option for generating final code files like general websites that are openable by browser too.\n\n### Describe alternatives you've considered\n\n1. I've tried to build as MPA(Multi Page Application). But didn't work.\r\n2. I've changed the paths of images and CSS files from ``/file-path/file-name.extension`` to ``./file-path/file-name.extension`` and it worked.\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.",[],2829,"Add option to generate pure HTML/CSS/JS website.","2023-08-30T00:04:15Z","https://github.com/vuejs/vitepress/issues/2829",0.7380005,{"description":2937,"labels":2938,"number":2940,"owner":2868,"repository":2869,"state":2893,"title":2941,"updated_at":2942,"url":2943,"score":2944},"### Describe the bug\n\nIf there is a plaintext file in public directory, and the file extension is unrecognized (i.e. `.txt` files are recognized, but `.ini`, or any random combination of file extensions, are not), the build system is attempting to convert the links to append `.html` to it. This causes the link to 404.\n\n### Reproduction\n\nNOTE: this reproduces a scenario in the testing environment. **docs:build doesn't even run because, as a result of the below generation, the link is being treated as dead.**\r\n\r\nAdd this to `/public/hello.ini`:\r\n```ini\r\n[helloworld]\r\n```\r\n\r\nAnd then have any page link to it like so:\r\n```md\r\n[download hello.ini](/hello.ini)\r\n```\r\n\r\nAnd it will generate:\r\n```html\r\n\u003Ca href=\"/hello.ini.html\">download hello.ini\u003C/a>\r\n```\r\n\n\n### Expected behavior\n\nThe docs seem to suggest that files in the `public` directory will be copied as-is to the output directory; the same logic should apply to links. That is to say, there should be no `.html` suffix in the `href` and either the download or the browser opening the resulting file in plaintext should proceed.\n\n### System Info\n\n```Text\nSystem:\r\n OS: Windows 10 10.0.19045\r\n CPU: (12) x64 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz\r\n Memory: 4.95 GB / 31.92 GB\r\n Binaries:\r\n Node: 20.11.0 - C:\\Program Files\\nodejs\\node.EXE\r\n npm: 10.2.4 - C:\\Program Files\\nodejs\\npm.CMD\r\n Browsers:\r\n Edge: Chromium (127.0.2651.86)\r\n Internet Explorer: 11.0.19041.4355\r\n npmPackages:\r\n vitepress: ^1.3.4 => 1.3.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.",[2939],{"name":2921,"color":2922},4208,"Markdown absolute links to plaintext files in public directory attempts to link as HTML","2024-09-24T04:43:23Z","https://github.com/vuejs/vitepress/issues/4208",0.74612236,{"description":2946,"labels":2947,"number":2952,"owner":2868,"repository":2869,"state":2893,"title":2953,"updated_at":2954,"url":2955,"score":2956},"Currently, we have 404 page but that only gets displayed on client-side navigation. For example when deploying to Netlify, we need to specify the file to redirect when a page is not found. Currently, we don't have it 👀\r\n\r\nSo it would be cool if we generate `404.html` on build time, so that we can setup correct redirect rule on static site hosting services.",[2948,2951],{"name":2949,"color":2950},"build","377ba8",{"name":2879,"color":2880},729,"Generate 404.html on build","2023-01-21T14:34:10Z","https://github.com/vuejs/vitepress/issues/729",0.74664927,{"description":2958,"labels":2959,"number":2961,"owner":2868,"repository":2869,"state":2893,"title":2962,"updated_at":2963,"url":2964,"score":2965},"### Describe the bug\n\n\r\n\r\nhttps://github.com/vuejs/vitepress/blob/9004a801305fa0c21a0064253da95fbad38148fe/src/client/app/utils.ts#L38\r\n\r\nby \r\n\r\nhttps://github.com/vuejs/vitepress/blob/89cc718649b9be547c6ec08d2dc3d10a67f2a3ac/src/client/app/utils.ts#L38-L39\r\n\r\nshould fix this.\r\n\r\n_Originally posted by @brc-dd in https://github.com/vuejs/vitepress/issues/412#issuecomment-1149704365_\r\n \r\n\r\nI still have this problem\r\n\r\nvitepress version:1.0.0-alpha.26 or npm:@brc-dd/vitepress@1.0.0-dev.50d1202\r\n\r\nI try to configure `cleanUrls: 'with-subfolders'` or `cleanUrls:' without-subfolders'` or delete the cleanUrls configuration item makes no difference or is still reporting an error\r\n\r\nI will temporarily open my [repo](https://github.com/you-hengh/myblog_vitepress) to find bugs.\n\n### Reproduction\n\npackage.json\r\n```json\r\n{\r\n \"name\": \"vitepress\",\r\n \"version\": \"1.0.0\",\r\n \"description\": \"\",\r\n \"main\": \"index.js\",\r\n \"scripts\": {\r\n \"dev\": \"vitepress dev docs\",\r\n \"build\": \"vitepress build docs\",\r\n \"serve\": \"vitepress serve docs\"\r\n },\r\n \"keywords\": [],\r\n \"author\": \"\",\r\n \"license\": \"ISC\",\r\n \"devDependencies\": {\r\n \"@algolia/client-search\": \"^4.14.2\",\r\n \"vitepress\": \"npm:@brc-dd/vitepress@1.0.0-dev.50d1202\"\r\n }\r\n}\r\n```\r\n\r\n1. pnpm build\r\n\r\n ```bash\r\n > vitepress build docs\r\n\r\n vitepress v1.0.0-dev.50d1202\r\n ✓ building client + server bundles...\r\n ⠋ rendering pages...[Vue warn]: Component \u003CAnonymous> is missing template or render function.\r\n [Vue warn]: Component \u003CAnonymous> is missing template or render function.\r\n [Vue warn]: Component \u003CAnonymous> is missing template or render function.\r\n [Vue warn]: Component \u003CAnonymous> is missing template or render function.\r\n [Vue warn]: Component \u003CAnonymous> is missing template or render function.\r\n [Vue warn]: Component \u003CAnonymous> is missing template or render function.\r\n [Vue warn]: Component \u003CAnonymous> is missing template or render function.\r\n [Vue warn]: Component \u003CAnonymous> is missing template or render function.\r\n ✓ rendering pages...\r\n build complete in 3.35s.\r\n ```\r\n\r\n2. pnpm serve\r\n\r\n ```bash\r\n > vitepress@1.0.0 serve /Users/bddxg/Documents/网站/vitepress 站点\r\n > vitepress serve docs\r\n\r\n vitepress v1.0.0-dev.50d1202\r\n Built site served at http://localhost:4173/\r\n ```\r\n\r\n\n\n### Expected behavior\n\nfix bug or tell me the solution.\n\n### System Info\n\n```shell\nSystem:\r\n OS: macOS 13.0\r\n CPU: (10) arm64 Apple M1 Max\r\n Memory: 5.11 GB / 32.00 GB\r\n Shell: 5.8.1 - /bin/zsh\r\n Binaries:\r\n Node: 16.17.1 - ~/Library/pnpm/node\r\n npm: 8.15.0 - ~/Library/pnpm/npm\r\n Browsers:\r\n Chrome: 106.0.5249.119\r\n Safari: 16.1\r\n npmPackages:\r\n @brc-dd/vitepress: 1.0.0-dev.50d1202\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.",[2960],{"name":2921,"color":2922},1578,"vitepress serve tries to load an md.undefined.js file","2023-01-21T14:20:50Z","https://github.com/vuejs/vitepress/issues/1578",0.747838,["Reactive",2967],{},["Set"],["ShallowReactive",2970],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fKvfzYwHacwk0ujx1PM6nMQjoQCRjWvbJBro8rosYD3Y":-1},"/vuejs/vitepress/175"]