\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.66168386,{"description":2865,"labels":2866,"number":2870,"owner":2857,"repository":2858,"state":2859,"title":2871,"updated_at":2872,"url":2873,"score":2874},"### Describe the bug\n\nWhen the Badge component is used in a table, if there is too much text content, the Badge will wrap, destroying the overall style layout of the table. \n\n\u003Cimg width=\"707\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/338571df-b823-4b85-810e-1fbfdee3f8b4\" />\n\n### Reproduction\n\nnone\n\n### Expected behavior\n\nThe text inside the Badge component should not wrap and should remain on the same line to avoid disrupting the table layout.\n\n### System Info\n\n```Text\nnone\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.",[2867],{"name":2868,"color":2869},"bug: pending triage","e99695",4764,"Badge component unexpectedly breaks line in tables with long text","2025-05-27T08:28:39Z","https://github.com/vuejs/vitepress/issues/4764",0.70294166,{"description":2876,"labels":2877,"number":2881,"owner":2857,"repository":2858,"state":2859,"title":2882,"updated_at":2883,"url":2884,"score":2885},"### 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.",[2878],{"name":2879,"color":2880},"stale","ededed",3270,"Feature request: Vue component source code demo","2024-01-18T18:48:08Z","https://github.com/vuejs/vitepress/issues/3270",0.744583,{"description":2887,"labels":2888,"number":2890,"owner":2857,"repository":2858,"state":2891,"title":2892,"updated_at":2893,"url":2894,"score":2895},"### Describe the bug\n\n```\r\n[Vue warn]: Failed to resolve component: Badge\r\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. \r\n```\n\n### Reproduction\n\nNA\n\n### Expected behavior\n\nNA\n\n### System Info\n\n```shell\nNA\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.",[2889],{"name":2868,"color":2869},1576,"closed","Badge component does not work","2023-01-21T14:20:53Z","https://github.com/vuejs/vitepress/issues/1576",0.70255286,{"description":2897,"labels":2898,"number":2902,"owner":2857,"repository":2858,"state":2891,"title":2903,"updated_at":2904,"url":2905,"score":2906},"### Is your feature request related to a problem? Please describe.\n\nhttps://v2.vuepress.vuejs.org/reference/default-theme/components.html\r\n\r\nthis component comes handy when presenting something with a distinct label, say, a version. Please please have it in vitepress.\r\n\u003Cimg width=\"291\" alt=\"Screenshot 2022-08-11 at 3 35 48 PM\" src=\"https://user-images.githubusercontent.com/1858427/184085656-67b87e05-ec0f-4b9b-ade3-0395a0f9e275.png\">\r\n\r\n\n\n### Describe the solution you'd like\n\nto have a built-in badge feature\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.",[2899],{"name":2900,"color":2901},"theme","0754FB",1156,"Badge feature ","2023-01-21T14:22:48Z","https://github.com/vuejs/vitepress/issues/1156",0.71147954,{"description":2908,"labels":2909,"number":2911,"owner":2857,"repository":2858,"state":2891,"title":2912,"updated_at":2913,"url":2914,"score":2915},"### Describe the bug\r\n\r\nThe `\u003CContent />` component wraps the code with a \"position: relative\" styled div. \r\n\r\n\u003Cimg width=\"656\" alt=\"Screenshot 2023-07-30 at 9 43 37 PM\" src=\"https://github.com/vuejs/vitepress/assets/90354202/a7f83520-edc3-415d-b851-2487693e1ba9\">\r\n\r\n\r\n### Reproduction\r\n\r\nThe \u003CContent /> component wraps the code with a \"position: relative\" styled div. \r\n\r\n### Expected behavior\r\n\r\nThere is no documentation on how to disable that from happening and it shouldn't do that in the first place anyway. \r\n\r\n### System Info\r\n\r\n```sh\r\nv1.0.0-beta.7\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] Check if you're on the [latest VitePress version](https://github.com/vuejs/vitepress/releases/latest).\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.",[2910],{"name":2868,"color":2869},2712,"The \u003CContent /> component wraps the code with a \"position: relative\" styled div.","2023-08-11T00:04:38Z","https://github.com/vuejs/vitepress/issues/2712",0.7245525,{"description":2917,"labels":2918,"number":2922,"owner":2857,"repository":2858,"state":2891,"title":2923,"updated_at":2924,"url":2925,"score":2926},"### Describe the bug\n\nI'm writing documentation for a component library. Some components have slots.\r\n- When it's a default slot, I fill it by simply placing content in `\u003CComponent> \u003C/Component>`, it works perfectly, and the slotted content renders in the markdown page.\r\n- When it's a named slot, I have to wrap it in `\u003Ctemplate #nameoftheslot> \u003C/template>` as per [Vue slot system](https://vuejs.org/guide/components/slots.html#named-slots), and my content is not rendered. When reading Vitepress documentation, I read that `\u003Ctemplate>` is not to be used in the Markdown page, and though I understand the redundance with Vue SFC templates, we need to be able to used named slots to make these kind of component work...\r\n\r\nDid I miss something or am I trying to do this the wrong way ?\r\nIf not, it would be greatly appreciated to implement named slots in the Markdown pages.\r\n\r\n\n\n### Reproduction\n\n- Use a Vue component in your Markdown page\r\n- This component should have a named slot (eg: `\u003Cslot name=\"header\"> \u003C/slot>`)\r\n- Try to pass content to that slot (eg: `\u003Ctemplate #header> i'm slotted \u003C/template>`)\r\n\r\n=> \"i\"m slotted\" won't be rendered\n\n### Expected behavior\n\nNamed slots should be parsed and rendered correctly, we should see slotted content passed in a named slot\n\n### System Info\n\n```Text\nSystem:\r\n OS: macOS 15.0\r\n CPU: (8) arm64 Apple M2\r\n Memory: 357.16 MB / 24.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 20.10.0 - /usr/local/bin/node\r\n Yarn: 1.22.19 - /opt/homebrew/bin/yarn\r\n npm: 10.2.5 - /usr/local/bin/npm\r\n pnpm: 8.9.2 - /opt/homebrew/bin/pnpm\r\n Browsers:\r\n Safari: 18.0\r\n npmPackages:\r\n vitepress: ^1.3.4 => 1.3.4\n```\n\n\n### Additional context\n\n\u003Cimg width=\"683\" alt=\"Screenshot 2024-09-23 at 11 46 25\" src=\"https://github.com/user-attachments/assets/8989014b-486d-4361-b739-b7bd4b628c55\">\r\n\u003Cimg width=\"604\" alt=\"Screenshot 2024-09-23 at 11 47 34\" src=\"https://github.com/user-attachments/assets/3e32a1c7-02b4-413c-99e4-c9516e6d6409\">\r\n\r\n\r\n\r\nMy carousel has no slide rendered\r\n\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.",[2919],{"name":2920,"color":2921},"need more info","bdbefc",4223,"Vue named slots don't work in Markdown","2024-10-01T04:45:57Z","https://github.com/vuejs/vitepress/issues/4223",0.7318294,{"description":2928,"labels":2929,"number":2931,"owner":2857,"repository":2858,"state":2891,"title":2932,"updated_at":2933,"url":2934,"score":2935},"### Describe the bug\n\nIts not an bug its help required, I am using default theme how do I read siteData or page data ie chapter, topic custom variables inside vue script\r\nfile : Test.vue\r\n```\r\n\u003Ctemplate>\r\n \u003Cdiv>Hi from Test\u003C/div>\r\n\u003C/template>\r\n\u003Cscript>\r\nimport { defineComponent } from \"vue\";\r\nimport useSiteData from \"vitepress\";\r\nexport default defineComponent({\r\n setup() {\r\n const siteData = useSiteData();\r\n console.log(\"context\", siteData);\r\n },\r\n});\r\n\u003C/script>\r\n```\r\nConsole Error : \r\n The requested module '/@fs/home/prashant/www/vitepress/node_modules/vitepress/dist/client/index.js' does not provide an export named 'default'\r\nrouter.js:83 GET http://localhost:3000/hashmap.json 404 (Not Found)\r\n\r\nTest.md\r\n```\r\n---\r\nchapter : 1\r\ntopic : 1\r\n---\r\n# Test\r\n\u003CTest />\r\n\u003Cscript setup>\r\nimport Test from './Test.vue';\r\n\u003C/script>\r\n```\r\n\n\n### Reproduction\n\ngo to chrome developer tool and console tab to view error details\n\n### Expected behavior\n\nI should able read the custom variable chapter & topic variable \n\n### System Info\n\n```shell\nSystem:\r\n OS: Linux 5.13 Ubuntu 21.10 21.10 (Impish Indri)\r\n CPU: (4) x64 Intel(R) Core(TM) i3-5005U CPU @ 2.00GHz\r\n Memory: 558.27 MB / 5.71 GB\r\n Container: Yes\r\n Shell: 5.8 - /usr/bin/zsh\r\n Binaries:\r\n Node: 14.19.0 - /usr/bin/node\r\n Yarn: 1.22.17 - /usr/local/bin/yarn\r\n npm: 7.17.0 - /usr/local/bin/npm\r\n Browsers:\r\n Brave Browser: 98.1.35.101\r\n Firefox: 97.0.1\r\n \"devDependencies\": {\r\n \"postcss\": \"^8.4.6\",\r\n \"sass\": \"^1.49.8\",\r\n \"stylus\": \"^0.56.0\",\r\n \"vitepress\": \"^0.22.2\",\r\n \"tailwindcss\": \"^3.0.23\"\r\n },\r\n \"dependencies\": {\r\n \"autoprefixer\": \"^10.4.2\"\r\n },\r\n \"postcss\": {\r\n \"plugins\": {\r\n \"tailwindcss\": {},\r\n \"autoprefixer\": {}\r\n }\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.",[2930],{"name":2868,"color":2869},550,"How to read sitedata and pagedata inside vue component with default theme","2023-01-21T16:20:05Z","https://github.com/vuejs/vitepress/issues/550",0.73236215,{"description":2937,"labels":2938,"number":2940,"owner":2857,"repository":2858,"state":2891,"title":2941,"updated_at":2942,"url":2943,"score":2944},"### 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.",[2939],{"name":2900,"color":2901},785,"Show dynamic headers in aside outline","2023-01-21T14:26:39Z","https://github.com/vuejs/vitepress/issues/785",0.7334146,{"description":2946,"labels":2947,"number":2949,"owner":2857,"repository":2858,"state":2891,"title":2950,"updated_at":2951,"url":2952,"score":2953},"### Describe the bug\n\nI registered a global component named `user`, and used it as `layout`, \r\nbut I didn't contain a `\u003CContent />` component because I don't intend to render markdown.\r\n\r\nthen, I write a markdown `user.md`, like this:\r\n```\r\n---\r\nlayout: user\r\n---\r\n```\r\n\r\nbut, when I navigate from another page(layout: doc) to `user.md`, the aside content isn't updated. \r\nsee:\r\nfind\n\n### Reproduction\n\nsee: [https://stackblitz.com/edit/vite-omxrm4](https://stackblitz.com/edit/vite-omxrm4?file=docs%2Findex.md)\n\n### Expected behavior\n\nWhen Navigating to another layout, the aside content can be updated in the `\u003CNav>` component, even if it doesn't contain the `\u003CContent>` component\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.",[2948],{"name":2868,"color":2869},3251,"In the default theme, `\u003CNav>` component doesn't update the aside content very well","2023-12-03T00:04:49Z","https://github.com/vuejs/vitepress/issues/3251",0.737495,["Reactive",2955],{},["Set"],["ShallowReactive",2958],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fpR0ddKJxT5XjElaXPh8CQibq_pORqGRbgewrqTHccsI":-1},"/vuejs/vitepress/4761"]