\r\n```\r\n\r\nAlternatively, use the `desc` defined in the `container` to write Markdown syntax.\r\n\r\n```md\r\n::: demo src=\"../demo.vue\" title=\"Demo block\"\r\n\r\nThis is a `description` that can be written using Markdown.\r\n\r\n:::\r\n```\r\n\r\n### Describe the solution you'd like\r\n\r\nTo address this, I have created the [markdown-it-vitepress-demo](https://github.com/hairyf/markdown-it-vitepress-demo) plugin. I'm not sure if it can be helpful.\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- https://github.com/vuejs/vitepress/issues/987\r\n- https://github.com/vuejs/vitepress/issues/1349\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.",[2865],{"name":2866,"color":2867},"stale","ededed",2432,"vuejs","vitepress","open","feat(demo): built-in markdown plugin provides support for showcasing demo capabilities.","2024-07-17T14:37:26Z","https://github.com/vuejs/vitepress/issues/2432",0.73315203,{"description":2877,"labels":2878,"number":2880,"owner":2869,"repository":2870,"state":2871,"title":2881,"updated_at":2882,"url":2883,"score":2884},"### Is your feature request related to a problem? Please describe.\n\nDocs will often use terms or abbreviations that may be unfamiliar to someone just discovering the project, and I'd like [VP](## \"Vitepress\") to support showing the definition on hover (as I did on the VP using github's markdown). Ideally with a dashed line and not being an actual link.\r\n\r\nFurthermore, I'd like to be able to write each definition just once, and the term be hoverable across the entire project. Keeps the source DRY.\n\n### Describe the solution you'd like\n\nI'm a fan of Material for MkDocs' [solution](https://squidfunk.github.io/mkdocs-material/reference/tooltips/#adding-a-glossary-includesabbreviationsmd), where you create a glossary file and it appends the correct markdown to each page and the markdown parser then handles generating the tooltips. However, I have not found a markdown-it plugin for tooltips, so I'm not sure it'll necessarily carry over easily.\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.",[2879],{"name":2866,"color":2867},3130,"Automatic definition tooltips","2024-03-07T11:19:36Z","https://github.com/vuejs/vitepress/issues/3130",0.74551255,{"description":2886,"labels":2887,"number":2891,"owner":2869,"repository":2870,"state":2892,"title":2893,"updated_at":2894,"url":2895,"score":2896},"### Is your feature request related to a problem? Please describe.\r\n\r\nVueJS community is moving from JS to TS now. Hence, we have to provide both TS & JS code.\r\n\r\nI already started using VitePress alpha in my OSS project but for another project, I prefer providing TS & JS code via code groups like VuePress.\r\n\r\n### Describe the solution you'd like\r\n\r\nProvide code blocks via markdown (using component is bit ugly for markdown only content). We can inspire from Nuxt content 2 for new syntax\r\n\r\n\u003Cpre>\r\n:::code group\r\n\r\n:::group{ts}\r\n\r\n```ts\r\nconst a: number = 1\r\n```\r\n\r\n:::\r\n\r\n:::group{js}\r\n\r\n```js\r\nconst a = 1\r\n```\r\n\r\n:::\r\n\r\n:::\r\n\u003C/pre>\r\n\r\n### Describe alternatives you've considered\r\n\r\nNone\r\n\r\n### Additional context\r\n\r\nhttps://content.nuxtjs.org/guide/writing/mdc\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.",[2888],{"name":2889,"color":2890},"theme","0754FB",728,"closed","Support code groups and allow adding title to code blocks","2023-01-21T14:17:14Z","https://github.com/vuejs/vitepress/issues/728",0.7230444,{"description":2898,"labels":2899,"number":2903,"owner":2869,"repository":2870,"state":2892,"title":2904,"updated_at":2905,"url":2906,"score":2907},"### Is your feature request related to a problem? Please describe.\n\nNope.\n\n### Describe the solution you'd like\n\nProvide a config option, like `lastUpdated`.\n\n### Describe alternatives you've considered\n\n_No response_\n\n### Additional context\n\nNot very familiar with Node and Vite. I tried to do it on my own, but failed with 'process is not defined'. Any help?\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.",[2900],{"name":2901,"color":2902},"question","5D5FAE",3001,"Support to show page contributors","2023-10-01T00:04:52Z","https://github.com/vuejs/vitepress/issues/3001",0.72631717,{"description":2909,"labels":2910,"number":2911,"owner":2869,"repository":2870,"state":2892,"title":2912,"updated_at":2913,"url":2914,"score":2915},"- Add a new command: `vitepress init`\n - Users can invoke this after installing `vitepress` with `npx vitepress init`\n- Ask a few CLI questions:\n - Root of your markdown files (default: `cwd`)\n - Site title / description\n - Use the default theme / default theme + customization / complete custom theme?\n - Inject npm scripts? (should be based on root)\n- Scaffold the project in desired root\n - `.vitepress/config.js` with title, description, and a comment with link to app config docs\n - `example.md` with examples of built-in markdown features\n - If default theme:\n - `index.md` w/ example home page frontmatter\n - Example nav / sidebar config with links to `example.md` and VitePress docs\n - If default theme + customization: add `.vitepress/theme/index.js` and `.vitepress/theme/style.css` with theme slot and CSS var customization exmaples\n - If custom theme:\n - add `.vitepress/theme/index.s` + `.vitepress/theme/Layout.vue` for a simple custom theme example",[],1252,"Add initialization command","2023-03-10T00:04:39Z","https://github.com/vuejs/vitepress/issues/1252",0.7284431,{"description":2917,"labels":2918,"number":2919,"owner":2869,"repository":2870,"state":2892,"title":2920,"updated_at":2921,"url":2922,"score":2923},"### Is your feature request related to a problem? Please describe.\n\nI am trying to implement a global code group switch on the web page.\r\n\r\nFor instance, if somebody selects \"Python\" or \"PHP\", it changes all the code groups on the whole pages to \"Python\" or \"PHP\".\r\nThis would be the equivalent to https://github.com/padarom/vuepress-plugin-code-switcher for vitepress.\n\n### Describe the solution you'd like\n\nThe API could look like:\r\n\r\n```md\r\n\r\n## First group\r\n\r\n::: code-group:synchronized:group-id\r\n\r\n´´´shell [Shell]\r\nShell test #1\r\n´´´\r\n\r\n´´´python [Python]\r\nPython test #1\r\n´´´\r\n\r\n:::\r\n\r\n## Second group\r\n\r\n::: code-group:synchronized:group-id\r\n\r\n´´´shell [Shell]\r\nShell test #2\r\n´´´\r\n\r\n´´´python [Python]\r\nPython test #2\r\n´´´\r\n\r\n:::\r\n```\r\n\r\n- `::: code-group` standalone would not be synchronized\r\n- `::: code-group:synchronized` would be synchronized with all other groups with a default ID\r\n- `::: code-group:synchronized:group-id` would be synchronized with all other groups that matches the same ID\n\n### Describe alternatives you've considered\n\nA plugin to do this could also work, but it may definitely be part of the core features of vitepress.\n\n### Additional context\n\nThank you for this amazing project :heart: \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.",[],2773,"Feature request: change all group codes at once :tada: ","2023-08-18T00:04:11Z","https://github.com/vuejs/vitepress/issues/2773",0.7288394,{"description":2925,"labels":2926,"number":2933,"owner":2869,"repository":2870,"state":2892,"title":2934,"updated_at":2935,"url":2936,"score":2937},"### Is your feature request related to a problem? Please describe.\n\nvitepress does not generate a sitemap.xml\n\n### Describe the solution you'd like\n\nvitepress should generate a sitemap based on the config.js\n\n### Describe alternatives you've considered\n\nThe user could create a sitemap by hand\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] Read the [Contributing Guidelines](https://github.com/vuejs/vitepress/blob/master/.github/contributing.md).\n- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[2927,2930],{"name":2928,"color":2929},"build","377ba8",{"name":2931,"color":2932},"has-workaround","1B4515",520,"Sitemap generation","2023-08-04T00:04:31Z","https://github.com/vuejs/vitepress/issues/520",0.729199,{"description":2939,"labels":2940,"number":2941,"owner":2869,"repository":2870,"state":2892,"title":2942,"updated_at":2943,"url":2944,"score":2945},"### Is your feature request related to a problem? Please describe.\n\nwhen we write a guide docs.\r\nWe need a goup of code blocks to tell user how to do something.\r\nIf surpport code group I will become quite convenient.\n\n### Describe the solution you'd like\n\nI prefer nuxt's solution like the following\r\n\r\nUI:\r\nhttps://v3.nuxtjs.org/guide/directory-structure/layouts#overriding-a-layout-on-a-per-page-basis\r\n\r\n\r\nGrammar:\r\nhttps://github.com/nuxt/framework/blob/d135608ef0d607259c0ae6f5156c8f46ff78ddc3/docs/content/2.guide/3.directory-structure/7.layouts.md?plain=1#L140-L175\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.",[],1043,"code group surpport","2023-01-21T14:30:14Z","https://github.com/vuejs/vitepress/issues/1043",0.738324,{"description":2947,"labels":2948,"number":2949,"owner":2869,"repository":2870,"state":2892,"title":2950,"updated_at":2951,"url":2952,"score":2953},"### Is your feature request related to a problem? Please describe.\n\ndist中的构建产生的html文件中的```__VP_HASH_MAP__``` 顺序不定,哪怕对md文件不进行任何修改,导致只要重新build一次就会使dist中的大量文件发生改动。\r\n\r\n另外,如果有一个md文件发生改动,就会导致构建生成的所有html中的```__VP_HASH_MAP__``` 中的hash码变化。这会导致几乎所有文件都发生了改动。\r\n\r\n我不清楚 vitepress中 **最后更新时间** 是否是按照文件最后一次改动时间算的,目前的问题是只要改一个文件所有文件的最后更新时间都会更新为最新的这个时间。感觉有很大概率是和上面描述的```__VP_HASH_MAP__``` 有关。\r\n\r\n\r\n我的思路是:\r\n\r\n改了一个md文件并重新构建 -> 所有md文件生成的html中的```__VP_HASH_MAP__``` 发生了变化,导致所有html文件都发生了更改 -> 文件最后更改时间全部更新为此时此刻\n\n### Describe the solution you'd like\n\n有什么办法让每个文件都有自己的最后更新时间吗? 非常感谢!\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.",[],2303,"最后更新时间始终为最后一次提交的时间","2023-05-05T00:04:12Z","https://github.com/vuejs/vitepress/issues/2303",0.7392843,{"description":2955,"labels":2956,"number":2960,"owner":2869,"repository":2870,"state":2892,"title":2961,"updated_at":2962,"url":2963,"score":2964},"### Describe the bug\n\nI added two markdown plugins to my Vitepress, which are [markdown-it-footnote](https://github.com/markdown-it/markdown-it-footnote) and [markdown-it-task-checkbox](https://github.com/linsir/markdown-it-task-checkbox).\r\n\r\nThe imported code is located at `docs/.vitepress/config.ts`.\r\n\r\n```ts\r\nimport { defineConfig } from 'vitepress'\r\nimport nav from '../nav'\r\nimport sidebar from '../sidebar'\r\nconst footnote = require('markdown-it-footnote')\r\nconst taskLists = require('markdown-it-task-checkbox')\r\n```\r\n\r\nHowever, it was working normally in vitepress 1.0.0 beta5, but in vitepress 1.0.0-rc.4, `pnpm dev` is no longer working properly.\r\n\r\nI have checked the documentation for these two plugins, but neither of them has informed me how to use 'import' to import. It seems that importing with 'import' is not supported?\r\n\r\nI don't know how to solve this problem, and I hope to get some help. Thank you very much!\n\n### Reproduction\n\nnull\n\n### Expected behavior\n\nI hope Vitepress can run normally.\n\n### System Info\n\n```sh\nSystem:\r\n OS: macOS 13.5\r\n CPU: (10) arm64 Apple M1 Max\r\n Memory: 7.17 GB / 32.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 18.16.0 - ~/Library/pnpm/node\r\n npm: 9.5.1 - ~/Library/pnpm/npm\r\n pnpm: 8.6.3 - ~/Library/pnpm/pnpm\r\n Browsers:\r\n Chrome: 115.0.5790.170\r\n Safari: 16.6\r\n npmPackages:\r\n vitepress: 1.0.0-rc.4 => 1.0.0-rc.4\n```\n\n\n### Additional context\n\n```bash\r\nmyblog_vitepress on main [!] is 📦 2.0.7 via ⬢ v18.16.0 \r\n➜ pm dev\r\n\r\n> vitepress@2.0.7 dev /Users/bddxg/Documents/coding/web/myblog_vitepress\r\n> vitepress dev docs --open\r\n\r\n✘ [ERROR] \"vitepress\" resolved to an ESM file. ESM file cannot be loaded by `require`. See http://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details. [plugin externalize-deps]\r\n\r\n node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1363:27:\r\n 1363 │ let result = await callback({\r\n ╵ ^\r\n\r\n at file:///Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/vite@4.4.9_@types+node@18.15.11/node_modules/vite/dist/node/chunks/dep-df561101.js:66190:35\r\n at requestCallbacks.on-resolve (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1363:28)\r\n at handleRequest (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:726:19)\r\n at handleIncomingPacket (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:748:7)\r\n at Socket.readFromStdout (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:676:7)\r\n at Socket.emit (node:events:513:28)\r\n at addChunk (node:internal/streams/readable:324:12)\r\n at readableAddChunk (node:internal/streams/readable:297:9)\r\n at Readable.push (node:internal/streams/readable:234:10)\r\n at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)\r\n\r\n This error came from the \"onResolve\" callback registered here:\r\n\r\n node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1282:20:\r\n 1282 │ let promise = setup({\r\n ╵ ^\r\n\r\n at setup (file:///Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/vite@4.4.9_@types+node@18.15.11/node_modules/vite/dist/node/chunks/dep-df561101.js:66158:27)\r\n at handlePlugins (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1282:21)\r\n at buildOrContextImpl (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:971:5)\r\n at Object.buildOrContext (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:779:5)\r\n at /Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:2166:15\r\n at new Promise (\u003Canonymous>)\r\n at Object.build (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:2165:25)\r\n at build (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:2014:51)\r\n at bundleConfigFile (file:///Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/vite@4.4.9_@types+node@18.15.11/node_modules/vite/dist/node/chunks/dep-df561101.js:66109:26)\r\n\r\n The plugin \"externalize-deps\" was triggered by this import\r\n\r\n docs/.vitepress/config.ts:1:395:\r\n 1 │ ...Users/bddxg/Documents/coding/web/myblog_vitepress/docs/.vitepress/config.ts\";import { defineConfig } from 'vitepress'\r\n ╵ ~~~~~~~~~~~\r\n\r\nfailed to load config from /Users/bddxg/Documents/coding/web/myblog_vitepress/docs/.vitepress/config.ts\r\nfailed to start server. error:\r\nError: Build failed with 1 error:\r\nnode_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1363:27: ERROR: [plugin: externalize-deps] \"vitepress\" resolved to an ESM file. ESM file cannot be loaded by `require`. See http://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details.\r\n at failureErrorWithLog (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1639:15)\r\n at /Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1051:25\r\n at runOnEndCallbacks (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1474:45)\r\n at buildResponseToResult (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1049:7)\r\n at /Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:1078:16\r\n at responseCallbacks.\u003Ccomputed> (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:700:9)\r\n at handleIncomingPacket (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:755:9)\r\n at Socket.readFromStdout (/Users/bddxg/Documents/coding/web/myblog_vitepress/node_modules/.pnpm/esbuild@0.18.11/node_modules/esbuild/lib/main.js:676:7)\r\n at Socket.emit (node:events:513:28)\r\n at addChunk (node:internal/streams/readable:324:12)\r\n ELIFECYCLE Command failed with exit code 1.\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.",[2957],{"name":2958,"color":2959},"bug: pending triage","e99695",2805,"md plugin is imported using require and it seems that import cannot be used.","2023-08-27T00:06:20Z","https://github.com/vuejs/vitepress/issues/2805",0.73966134,["Reactive",2966],{},["Set"],["ShallowReactive",2969],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fUBE1BwFZlMLRG3M3uvi-ZvymF2F4PwsHU4bjdHa3OqE":-1},"/vuejs/vitepress/3616"]