\r\n title: Feature A\r\n details: Lorem ipsum dolor sit amet, consectetur adipiscing elit\r\n```\r\n\r\nCheck the feature icon type\r\n```ts\r\ntype FeatureIcon =\r\n | string\r\n | { src: string; alt?: string; width?: string; height: string }\r\n | {\r\n light: string\r\n dark: string\r\n alt?: string\r\n width?: string\r\n height: string\r\n }\r\n```\r\n\r\nI refer to the render logic, use `v-html` render the icon.\r\nDisplay well in `dev` environment, but shows errors in `prod` environment.\r\n\r\n| dev | build |\r\n| ----------- | ----------- |\r\n|  |  |\r\n\r\n\r\n\r\n\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/github/zyyv/vitepress-unocss-issue\r\n\r\n- Display right run `pnpm dev`\r\n- Display error run `pnpm build && pnpm preview`\r\n\r\n### Expected behavior\r\n\r\nDev and build behave the same\r\n\r\n### System Info\r\n\r\n```Text\r\nlatest\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.",[3031,3034,3037],{"name":3032,"color":3033},"build","377ba8",{"name":3035,"color":3036},"has-workaround","1B4515",{"name":3038,"color":3039},"stale","ededed",4045,"SSR in dev for more consistent output in dev and prod","2025-03-02T18:08:58Z","https://github.com/vuejs/vitepress/issues/4045",0.73486423,{"description":3046,"labels":3047,"number":3051,"owner":3021,"repository":3022,"state":3052,"title":3053,"updated_at":3054,"url":3055,"score":3056},"### Describe the bug\n\n`\u003CVPSponsorsGrid>` is flagged as \"Image elements have [alt] attributes that are redundant text.\" by lighthouse.\n\n> **Image elements have [alt] attributes that are redundant text.**\n> Informative elements should aim for short, descriptive alternative text. Alternative text that is exactly the same as the text adjacent to the link or image is potentially confusing for screen reader users, because the text will be read twice. [Learn more about the alt attribute](https://dequeuniversity.com/rules/axe/4.10/image-redundant-alt).\n\nI think any of the following should be done:\n\n- remove `\u003Ch4 class=\"visually-hidden\">{{ sponsor.name }}\u003C/h4>`\n- add `aria-hidden=true` to `\u003Ch4 class=\"visually-hidden\">{{ sponsor.name }}\u003C/h4>`\n- change `alt` of `\u003Cimg class=\"vp-sponsor-grid-image\" ...>` to empty\n\n### Reproduction\n\nhttps://vite.dev/ (Top page sponsor section)\n\nhttps://github.com/vuejs/vitepress/blob/52f0eaa0849344aa45efbf7258a6287597e55a9a/src/client/theme-default/components/VPSponsorsGrid.vue#L38-L43\n\n\n### Expected behavior\n\nIt is not flagged by lighthouse.\n\n### System Info\n\n```Text\nSystem:\n OS: Linux 6.6 Ubuntu 24.04.2 LTS 24.04.2 LTS (Noble Numbat)\n CPU: (32) x64 AMD Ryzen 9 9950X 16-Core Processor\n Memory: 15.74 GB / 23.46 GB\n Container: Yes\n Shell: 5.2.21 - /bin/bash\n Binaries:\n Node: 22.16.0 - ~/.local/share/asdf/data/installs/nodejs/22.16.0/bin/node\n npm: 10.9.2 - ~/.local/share/asdf/data/plugins/nodejs/shims/npm\n pnpm: 10.13.1 - ~/.local/share/asdf/data/installs/nodejs/22.16.0/bin/pnpm\n bun: 1.2.17 - ~/.local/share/asdf/data/shims/bun\n npmPackages:\n vitepress: ^2.0.0-alpha.8 => 2.0.0-alpha.8\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.",[3048],{"name":3049,"color":3050},"bug: pending triage","e99695",4854,"closed","`\u003CVPSponsorsGrid>` is flagged as \"Image elements have [alt] attributes that are redundant text.\" by lighthouse","2025-07-25T05:26:02Z","https://github.com/vuejs/vitepress/issues/4854",0.7037464,{"description":3058,"labels":3059,"number":3060,"owner":3021,"repository":3022,"state":3052,"title":3061,"updated_at":3062,"url":3063,"score":3064},"> vitepress v2.0.0-alpha.6\n\n我参考文档 和 config.ts 配置 markdown 。。\n\n添加 `[.vitepress/config.js]`,但是没有官网文档一样的展示效果 \n\n```\n> ```js [.vitepress/config.js]\n> export default {\n> // site-level options\n> title: 'VitePress',\n> description: 'Just playing around.',\n> \n> themeConfig: {\n> // theme-level options\n> }\n> }\n> ```\n> \n```",[],4806,"Markdown code file 配置问题","2025-06-22T04:07:34Z","https://github.com/vuejs/vitepress/issues/4806",0.7244933,{"description":3066,"labels":3067,"number":3068,"owner":3021,"repository":3022,"state":3052,"title":3069,"updated_at":3070,"url":3071,"score":3072},"### Describe the bug\n\ndoesn’t work\r\n\r\nmy website link\r\nhttps://lark-base-team.github.io/js-sdk-docs/zh/start\r\nhere is my config\r\n```\r\nexport default defineConfig({\r\n lastUpdated: true,\r\n cleanUrls: true,\r\n base: '/js-sdk-docs/',\r\n themeConfig: {\r\n logo: '/logo.svg',\r\n search: {\r\n provider: 'local'\r\n },\r\n nav: [\r\n { text: 'API', link: '/zh/api/guide', activeMatch: 'zh/api' },\r\n ],\r\n },\r\n head: [\r\n ['link', { rel: 'icon', href: '/logo.svg' }],\r\n ],\r\n title: 'Base JS SDK',\r\n description: 'Base JS SDK Docs',\r\n // sitemap: {\r\n // hostname: 'https://basejsapi.com',\r\n // },\r\n lang: 'zh',\r\n locales: {\r\n zh: {\r\n label: '中文',\r\n lang: 'zh',\r\n dir: '/zh',\r\n title: 'Base JS SDK',\r\n description: 'Base JS SDK Docs',\r\n themeConfig: {\r\n logo: '/logo.svg',\r\n search: {\r\n provider: 'local'\r\n },\r\n nav: [\r\n { text: 'API', link: '/zh/api/guide', activeMatch: 'zh/api' },\r\n ],\r\n head: [\r\n ['link', { rel: 'icon', href: '/logo.svg' }],\r\n ],\r\n sidebar: getZhSideBar(),\r\n },\r\n },\r\n en: {\r\n label: 'English',\r\n lang: 'en',\r\n dir: '/en',\r\n title: 'Base JS SDK',\r\n description: 'Base JS SDK Docs',\r\n themeConfig: {\r\n logo: '/logo.svg',\r\n search: {\r\n provider: 'local'\r\n },\r\n head: [\r\n ['link', { rel: 'icon', href: '/logo.svg' }],\r\n ],\r\n nav: [\r\n { text: 'API', link: '/en/api/guide.md' },\r\n ],\r\n sidebar: getEnSideBar(),\r\n },\r\n }\r\n },\r\n})\r\n\r\n```\n\n### Reproduction\n\n vitepress: 1.0.0-rc.10 \n\n### Expected behavior\n\nshould dispaly the icon in tab\n\n### System Info\n\n```Text\nSystem:\r\n OS: macOS 13.6\r\n CPU: (10) arm64 Apple M1 Pro\r\n Memory: 53.27 MB / 32.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 18.14.2 - ~/.nvm/versions/node/v18.14.2/bin/node\r\n Yarn: 1.22.19 - /opt/homebrew/bin/yarn\r\n npm: 9.5.0 - ~/.nvm/versions/node/v18.14.2/bin/npm\r\n pnpm: 8.7.4 - ~/.nvm/versions/node/v18.14.2/bin/pnpm\r\n Browsers:\r\n Chrome: 117.0.5938.149\r\n Safari: 16.6\r\n npmPackages:\r\n vitepress: 1.0.0-rc.10 => 1.0.0-rc.10\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.",[],3075,"After doing internationalization configuration, the tab icon on the browser page does not take effect.","2023-10-21T00:05:55Z","https://github.com/vuejs/vitepress/issues/3075",0.72796714,{"description":3074,"labels":3075,"number":3077,"owner":3021,"repository":3022,"state":3052,"title":3078,"updated_at":3079,"url":3080,"score":3081},"\u003C!--\r\nNOTE:\r\nVitePress is still WIP, and it is not compatible with VuePress.\r\nPlease do not open issue about default theme missing features or something doesn't work like VuePress.\r\n-->\r\n\r\n**Describe the bug**\r\nCan't use `img` tag in `v0.7.1` (works in `v0.7.0`).\r\n\r\n**To Reproduce**\r\n\r\n1.\r\n```sh\r\nnpm init\r\nyarn add vitepress\r\nwget -O vue.png https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Vue.js_Logo_2.svg/220px-Vue.js_Logo_2.svg.png\r\necho '' > index.md\r\n```\r\n\r\n2. `npx vitepress` – image will work in development\r\n\r\n\r\n3. `npx vitepress build`\r\n* build will fail due to https://github.com/vitejs/vite/pull/992\r\n* but even with that fix, the build will strip out `src` attribute of `img` and no image will be loaded\r\n\r\n**Expected behavior**\r\nImages should be preserved in build.\r\n\r\n**System Info**\r\n- vitepress version: 0.7.1\r\n- vite version: 1.0.0-rc.8\r\n- Node version: 15.0.1\r\n- OS version: macOS 10.16.7\r\n\r\n**Additional context**\r\n\r\nUsing an absolute URL works as expected in dev and build.\r\n",[3076],{"name":3049,"color":3050},113,"Local images stripped out in build","2023-01-21T16:24:20Z","https://github.com/vuejs/vitepress/issues/113",0.72848135,{"description":3083,"labels":3084,"number":3086,"owner":3021,"repository":3022,"state":3052,"title":3087,"updated_at":3088,"url":3089,"score":3090},"### Describe the bug\r\n\r\nhttps://github.com/vuejs/vitepress/blob/75ca9e4302c65e3bcc9518f7df928318380f6cf6/src/node/markdown/plugins/highlightLines.ts#L30\r\n\r\n`highlightLinePlugin` is used before `attrs`, and `token.info` is rewritten.\r\n\r\nvia https://github.com/vuejs/vitepress/pull/664#discussion_r902203459\r\n\r\n### Reproduction\r\n\r\n\u003Cimg width=\"177\" alt=\"image\" src=\"https://user-images.githubusercontent.com/8336744/174726207-1c068f94-f597-4d5e-9101-4709a08a60c3.png\">\r\n\r\n\u003Cimg width=\"299\" alt=\"image\" src=\"https://user-images.githubusercontent.com/8336744/174726233-83967c42-db47-4c12-8dbd-0c83a817c448.png\">\r\n\r\n\r\n### Expected behavior\r\n\r\nRender `data=\"asdf\"`\r\n\r\n### System Info\r\n\r\n```shell\r\nSystem:\r\n OS: macOS 13.0\r\n CPU: (10) arm64 Apple M1 Max\r\n Memory: 13.84 GB / 64.00 GB\r\n Shell: 5.8.1 - /bin/zsh\r\n Binaries:\r\n Node: 16.15.1 - ~/Library/Caches/fnm_multishells/95455_1655742557079/bin/node\r\n Yarn: 1.22.19 - ~/Library/Caches/fnm_multishells/95455_1655742557079/bin/yarn\r\n npm: 8.12.1 - ~/Library/Caches/fnm_multishells/95455_1655742557079/bin/npm\r\n Browsers:\r\n Chrome: 102.0.5005.115\r\n Firefox: 101.0.1\r\n Safari: 16.0\r\n npmPackages:\r\n vitepress: ^1.0.0-alpha.2 => 1.0.0-alpha.2\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.",[3085],{"name":3038,"color":3039},826,"support adding attributes to code blocks","2023-08-11T00:04:28Z","https://github.com/vuejs/vitepress/issues/826",0.7295251,{"description":3092,"labels":3093,"number":3094,"owner":3021,"repository":3022,"state":3052,"title":3095,"updated_at":3096,"url":3097,"score":3098},"### Describe the bug\n\nThe typical behaviour on GitHub or in vuepress is:\r\n\r\n\r\n\r\nThe behaviour in vitepress is different:\r\n\r\n\r\n\r\n\r\n\n\n### Reproduction\n\nThe source markdown:\r\n\r\n```\r\nПроизводство энергии на начальном этапе игры заключаются в строительстве достаточного количества бойлеров ** `Boiler`, паровых двигателей ** `Steam engine` и снабжение их углём ** `Coal`, не забывая при этом про насосы ** `Offshore pump` подающие воду ** `Water` в бойлеры из ближайших луж. По мере возможностей и без особого спеха производим солнечные панели ** `Solar panel` и устанавливаем их в пустых участках разрастающейся базы. На аккумуляторы  `Accumulator` можно забить до поры до времени, когда ресурсов будет хватать на большее.\r\n```\n\n### Expected behavior\n\nsomethere, vitepress marked all images with css style like\r\n\r\n```\r\ndisplay: block;\r\n```\n\n### System Info\n\n```Text\nSystem:\r\n OS: Windows 10 10.0.19045\r\n CPU: (6) x64 Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz\r\n Memory: 8.34 GB / 15.92 GB\r\n Binaries:\r\n Node: 18.16.0 - C:\\Program Files\\nodejs\\node.EXE\r\n Yarn: 1.22.19 - ~\\AppData\\Roaming\\npm\\yarn.CMD\r\n npm: 9.5.1 - C:\\Program Files\\nodejs\\npm.CMD\r\n Browsers:\r\n Edge: Chromium (120.0.2210.91)\r\n Internet Explorer: 11.0.19041.3636\r\n npmPackages:\r\n vitepress: ^1.0.0-rc.32 => 1.0.0-rc.34\n```\n\n\n### Additional context\n\nAlso, I found out that vitepress does not integrate small images as `\u003Cimg src=\"data:image/png;base64,...`\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.",[],3397,"small images are not integrated into the text ","2024-01-09T00:05:13Z","https://github.com/vuejs/vitepress/issues/3397",0.73202175,{"description":3100,"labels":3101,"number":3105,"owner":3021,"repository":3022,"state":3052,"title":3106,"updated_at":3107,"url":3108,"score":3109},"### Describe the bug\n\nWhen the default theme is used, when the sidebar configuration is greater than or equal to four layers, the navigation menu title style of the content md file parsing is missing\r\n\r\n\n\n### Reproduction\n\n\r\n![Uploading image.png…]()\r\n\n\n### Expected behavior\n\nRegardless of whether the parsed style of several layers of content is correct, or the level is configurable\n\n### System Info\n\n```shell\nvitepress:0.19.2\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://vuejs.org/coc)\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.",[3102],{"name":3103,"color":3104},"theme","0754FB",409,"When the sidebar configuration exceeds four levels, the title style generated by parsing the content is missing","2023-01-21T16:04:06Z","https://github.com/vuejs/vitepress/issues/409",0.7330318,{"description":3111,"labels":3112,"number":3114,"owner":3021,"repository":3022,"state":3052,"title":3115,"updated_at":3116,"url":3117,"score":3118},"### Is your feature request related to a problem? Please describe.\r\n\r\nThere is no easy way to have captions for images.\r\n\r\n### Describe the solution you'd like\r\n\r\nAny image I'm adding as `{.image}` should have the caption be generated as \"Text here\" in the `\u003Cfigcaption>` element below the image. The entire thing should be in a `\u003Cfigure>` element and either the `\u003Cimg>` or `\u003Cfigure>` should have `class=\"image\"`.\r\n\r\nSo basically,\r\n```markdown\r\n{.image}\r\n```\r\nshould generate\r\n```html\r\n\u003Cfigure>\r\n \u003Cimg class=\"image\" src=\"/path/to/image/\" alt=\"Alt text here\">\r\n \u003Cfigcaption>Text here\u003C/figcaption>\r\n\u003C/figure>\r\n```\r\nThis would allow to link to licenses and provide attribution to image sources. \r\n\r\n\r\n### Describe alternatives you've considered\r\n\r\nI've tried using [`markdown-it-image-caption`](https://www.npmjs.com/package/markdown-it-image-caption), [`markdown-it-figure-caption`](https://www.npmjs.com/package/markdown-it-figure-caption) and [`mdfigcaption`](https://www.npmjs.com/package/mdfigcaption), but none were suitable for me.\r\n\r\nThe issue I'm having with all of these is that they're not letting me add my own classes to the `\u003Cfigure>` element, so I can't theme each image individually. This is an issue since the images I'm using need to be of different sizes depending on where they are in the text, which classes allow me to do.\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.",[3113],{"name":3032,"color":3033},892,"Image captions","2023-01-21T14:32:51Z","https://github.com/vuejs/vitepress/issues/892",0.7334487,["Reactive",3120],{},["Set"],["ShallowReactive",3123],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$ftncqsE0q7faVqSQOeGE7JD6eA1CJtYuKaHGveqhBclQ":-1},"/vuejs/vitepress/1309"]