\r\n\r\n::: zh-CN\r\n中文\r\n:::\r\n\r\n::: en\r\nEnglish\r\n:::\r\n```\r\n\r\nThis reduces maintenance costs.\r\n\r\nI came up with a very low cost implementation - [CSS-I18N](https://github.com/valaxyjs/css-i18n)\r\nAnd I implemented it in my own project [valaxy](https://github.com/YunYouJun/valaxy).\r\n\r\nIt works well. You can preview it [here](https://valaxy.site/guide/i18n).\r\nAnd this is my implementation: [How to realize CSS i18n?](https://valaxy.site/posts/i18n#css-i18n-another-solution)\r\n\r\n---\r\n\r\nIt is very cost-effective and I hope to integrate it with vitepress.\r\nIf you agree with my proposal, please let me know and I can create a PR for vitepress.\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.",[2905],{"name":2871,"color":2872},3047,"CSS i18n in one page","2025-03-02T18:10:37Z","https://github.com/vuejs/vitepress/issues/3047",0.7637188,{"description":2912,"labels":2913,"number":2915,"owner":2874,"repository":2875,"state":2876,"title":2916,"updated_at":2917,"url":2918,"score":2919},"### Is your feature request related to a problem? Please describe.\n\nWhen viewing a certain part of content, if you want to view the corresponding translated chapter content and click the translation link to jump, if you bring the hash value, you can locate the content you want to view more quickly. I think this would be very convenient.\n\n### Describe the solution you'd like\n\nPerhaps we can monitor changes in hash values and dynamically update translation links, or we can also provide a configuration for users to configure themselves.\r\n\r\nI don’t seem to see the relevant configuration on the official website. If there is any relevant configuration, I haven’t found it. I hope I can get your tips. Thank you.\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.",[2914],{"name":2871,"color":2872},2958,"Can the hash value be included when the translation link jumps?","2025-03-02T18:10:51Z","https://github.com/vuejs/vitepress/issues/2958",0.76928526,{"description":2921,"labels":2922,"number":2926,"owner":2874,"repository":2875,"state":2927,"title":2928,"updated_at":2929,"url":2930,"score":2931},"### Describe the bug\n\nI created a monorepo containing 2 packages:\n1. the package i'm building (flyonui-vue)\n2. the docs about it\n\nthe docs use the published version of the package.\n\nwhen i build the docs in my local environment everything works fine. but then when i build them through the github action i get\n\n```\nRun yarn build:docs\n\n vitepress v1.5.0\n\n- building client + server bundles...\nx Build failed in [6](https://github.com/michaelcozzolino/flyonui-vue/actions/runs/12852703212/job/35835005640#step:7:7)[7](https://github.com/michaelcozzolino/flyonui-vue/actions/runs/12852703212/job/35835005640#step:7:8)7ms\n✖ building client + server bundles...\nbuild error:\n[commonjs--resolver] Failed to resolve entry for package \"flyonui-vue\". The package may have incorrect main/module/exports specified in its package.json.\n[commonjs--resolver] Failed to resolve entry for package \"flyonui-vue\". The package may have incorrect main/module/exports specified in its package.json.\n at packageEntryFailure (file:///home/runner/work/flyonui-vue/flyonui-vue/node_modules/vitepress/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:46637:15)\n at resolvePackageEntry (file:///home/runner/work/flyonui-vue/flyonui-vue/node_modules/vitepress/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:46634:3)\n at tryNodeResolve (file:///home/runner/work/flyonui-vue/flyonui-vue/node_modules/vitepress/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:46450:16)\n at Object.resolveId (file:///home/runner/work/flyonui-vue/flyonui-vue/node_modules/vitepress/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:46200:19)\n at file:///home/runner/work/flyonui-vue/flyonui-vue/node_modules/rollup/dist/es/shared/node-entry.js:20936:40\n at async PluginDriver.hookFirstAndGetPlugin (file:///home/runner/work/flyonui-vue/flyonui-vue/node_modules/rollup/dist/es/shared/node-entry.js:20[8](https://github.com/michaelcozzolino/flyonui-vue/actions/runs/12852703212/job/35835005640#step:7:9)36:28)\n at async resolveId (file:///home/runner/work/flyonui-vue/flyonui-vue/node_modules/rollup/dist/es/shared/node-entry.js:1[9](https://github.com/michaelcozzolino/flyonui-vue/actions/runs/12852703212/job/35835005640#step:7:10)440:26)\n at async ModuleLoader.resolveId (file:///home/runner/work/flyonui-vue/flyonui-vue/node_modules/rollup/dist/es/shared/node-entry.js:19869:15)\n at async Object.resolveId (file:///home/runner/work/flyonui-vue/flyonui-vue/node_modules/vitepress/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:12833:[10](https://github.com/michaelcozzolino/flyonui-vue/actions/runs/12852703212/job/35835005640#step:7:11))\n at async PluginDriver.hookFirstAndGetPlugin (file:///home/runner/work/flyonui-vue/flyonui-vue/node_modules/rollup/dist/es/shared/node-entry.js:20836:28)\nError: Process completed with exit code 1.\n\n```\n\neven though the package.json seems to be completely right.\n\nthe workflow outcome can be seen here\nhttps://github.com/michaelcozzolino/flyonui-vue/actions/runs/12852703212/job/35835005640\n\n\n\n### Reproduction\n\nonly through the github action (deploy.yml workflow) as it's for github pages.\n\nto deploy the docs on local:\n```\ngit clone https://github.com/michaelcozzolino/flyonui-vue.git\n\nin the root of the project run:\nyarn install\nyarn build\n```\n`yarn build` will automatically build the package and the docs, alternatively if you want to build only the docs you can run `yarn build:docs` as the github workflow does.\n\n### Expected behavior\n\nthe action should be successful as it is on local.\n\n### System Info\n\n```Text\nSystem:\n OS: Linux 6.8 Ubuntu 24.04.1 LTS 24.04.1 LTS (Noble Numbat)\n CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz\n Memory: 16.29 GB / 30.23 GB\n Container: Yes\n Shell: 5.2.21 - /bin/bash\n Binaries:\n Node: 20.10.0 - ~/.nvm/versions/node/v20.10.0/bin/node\n Yarn: 4.6.0 - ~/.yarn/bin/yarn\n npm: 10.2.3 - ~/.nvm/versions/node/v20.10.0/bin/npm\n Browsers:\n Brave Browser: 132.1.74.48\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.",[2923],{"name":2924,"color":2925},"bug: pending triage","e99695",4497,"closed","[commonjs--resolver] Failed to resolve entry for package during vitepress build on github pages","2025-01-27T04:43:01Z","https://github.com/vuejs/vitepress/issues/4497",0.7298823,{"description":2933,"labels":2934,"number":2936,"owner":2874,"repository":2875,"state":2927,"title":2937,"updated_at":2938,"url":2939,"score":2940},"### Describe the bug\r\n\r\nI am trying to convert X.org documentation to a _VitePress_ site.\r\n\r\nThe volume of content is _**very large**_ and I ended up generating a huge `sidar` object, that is about `12,430` lines when formatted. The serialized `sidebar` object is available here: [sidebar.json](https://github.com/vuejs/vitepress/files/13722347/sidebar.json)\r\n\r\nThe vitepress dev server can handle it pretty well. But when I try to bundle it, the build command will stuck at \"rendering pages\", and then crash after a few minutes. I've attached the full crash log in \"additional context\".\r\n\r\n### Cause of the problem\r\n\r\nI have verified the problem is introduced by the `sidebar` object because as soon as I exclude the sidebar object from the config object exported by `config.mjs`, the problem went away.\r\n\r\n### My thoughts\r\n\r\nAlthough the sidebar object is huge, I do not think it is large enough to crash Node.js. I am assuming the sidebar component of the default theme ran into circular reference when parsing the sidebar.\r\n\r\nIn addition, I have ruled out the possibility of a circular reference in my exported `sidebar` object by using `JSON.parse(JSON.stringify(sidebar))`.\r\n\r\n### Reproduction\r\n\r\n> This problem cannot be reproduced without generating actual \".md\" sources.\r\n\r\n#### 1. Clone and initialize the project\r\n\r\n```sh\r\ngit clone https://github.com/zhangyx-lab/x-doc.git -b bug-reproduce --depth 1\r\ncd x-doc && npm install\r\n```\r\n\r\n> #### Optional: Download cached resources so the next command do not need to fetch from [x.org](www.x.org)\r\n>\r\n> Run following commands under `x-doc/`:\r\n>\r\n> ```sh\r\n> wget https://github.com/zhangyx-lab/x-doc/releases/download/v1.0-beta.0/caches.tar.gz && \\\r\n> tar -xzf caches.tar.gz\r\n> ```\r\n\r\n#### 2. Run \"setup\" to generate markdown source tree\r\n\r\n> [!WARNING]\r\n> This command takes a few minutes and will occupy all your CPUs\r\n\r\n```sh\r\nnode setup\r\n```\r\n\r\n#### 3. Now you can verify the project under dev server (should work fine):\r\n\r\n```sh\r\nnpm run dev # You can look around and the sidebar should be rendered correctly\r\n```\r\n\r\n#### 4. And reproduce the problem by building for distribution:\r\n\r\n```sh\r\nnpm run build # Will crash\r\n```\r\n\r\n### Expected behavior\r\n\r\nShould build just fine, since dev server worked fine.\r\n\r\n### System Info\r\n\r\n```Text\r\nSystem:\r\n OS: macOS 14.0\r\n CPU: (10) arm64 Apple M1 Max\r\n Memory: 65.84 MB / 32.00 GB\r\n Shell: 5.9 - /bin/zsh\r\nBinaries:\r\n Node: 20.8.0 - /opt/homebrew/bin/node\r\n npm: 10.1.0 - /opt/homebrew/bin/npm\r\n pnpm: 8.10.3 - ~/Library/pnpm/pnpm\r\nBrowsers:\r\n Chrome: 120.0.6099.109\r\n Safari: 17.0\r\nnpmPackages:\r\n vitepress: ^1.0.0-rc.32 => 1.0.0-rc.32\r\n```\r\n\r\n\r\n### Additional context\r\n\r\n### Crash scene (command: `npm run build`)\r\n\r\n```plaintext\r\n> prebuild\r\n> mkdir -p var\r\n\r\n\r\n> build\r\n> vitepress build docs\r\n\r\n\r\n vitepress v1.0.0-rc.32\r\n\r\n- building client + server bundles...\r\n\r\n(!) Some chunks are larger than 500 kB after minification. Consider:\r\n- Using dynamic import() to code-split the application\r\n- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks\r\n- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.\r\n✓ building client + server bundles...\r\n- rendering pages...\r\n\r\n\u003C--- Last few GCs --->\r\n\r\n[87992:0x130008000] 147271 ms: Scavenge 4000.3 (4126.8) -> 3995.5 (4126.8) MB, 17.46 / 0.00 ms (average mu = 0.344, current mu = 0.336) allocation failure; \r\n[87992:0x130008000] 147290 ms: Scavenge 4006.3 (4126.8) -> 4001.8 (4127.0) MB, 9.62 / 0.00 ms (average mu = 0.344, current mu = 0.336) allocation failure; \r\n[87992:0x130008000] 147371 ms: Scavenge 4012.7 (4127.5) -> 4008.2 (4133.0) MB, 68.54 / 0.00 ms (average mu = 0.344, current mu = 0.336) allocation failure; \r\n\r\n\r\n\u003C--- JS stacktrace --->\r\n\r\nFATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory\r\n 1: 0x102fa3a04 node::Abort() [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 2: 0x102fa4d58 node::ModifyCodeGenerationFromStrings(v8::Local\u003Cv8::Context>, v8::Local\u003Cv8::Value>, bool) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 3: 0x103111898 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 4: 0x103111848 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 5: 0x1032a4134 v8::internal::Heap::CallGCPrologueCallbacks(v8::GCType, v8::GCCallbackFlags, v8::internal::GCTracer::Scope::ScopeId) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 6: 0x1032a6b78 v8::internal::Heap::ComputeMutatorUtilization(char const*, double, double) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 7: 0x1032a4dd8 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 8: 0x1032a2c64 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 9: 0x10329ac24 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n10: 0x10329b390 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n11: 0x10328428c v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n12: 0x10358fcc0 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n13: 0x102de0c44 Builtins_CEntry_Return1_ArgvOnStack_NoBuiltinExit [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n14: 0x10ad70438 \r\n15: 0x10b7ea7e8 \r\n16: 0x10b8f2430 \r\n17: 0x10b3a89c8 \r\n18: 0x10ad70150 \r\n19: 0x10b7ea7e8 \r\n20: 0x10b790a18 \r\n21: 0x10acda120 \r\n22: 0x10b6e589c \r\n23: 0x10b562ad4 \r\n24: 0x10b7eb38c \r\n25: 0x10b70be14 \r\n26: 0x10b7eb150 \r\n27: 0x10b70be14 \r\n28: 0x10b562b68 \r\n29: 0x10b790a5c \r\n30: 0x10acda120 \r\n31: 0x10b09f100 \r\n32: 0x10b971b80 \r\n33: 0x10b528d18 \r\n34: 0x10b738c3c \r\n35: 0x10acda120 \r\n36: 0x10b09f100 \r\n37: 0x10b749ea8 \r\n38: 0x10acda120 \r\n39: 0x10b6e589c \r\n40: 0x10b562ad4 \r\n41: 0x10acda5c0 \r\n42: 0x10b6e589c \r\n43: 0x10b562ad4 \r\n44: 0x10acda3d8 \r\n45: 0x10b6e589c \r\n46: 0x10b6e0fb0 \r\n47: 0x10b7555e0 \r\n48: 0x102d8f210 Builtins_AsyncFunctionAwaitResolveClosure [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n49: 0x102e3cfb8 Builtins_PromiseFulfillReactionJob [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n50: 0x102d7eb94 Builtins_RunMicrotasks [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n51: 0x102d563f4 Builtins_JSRunMicrotasksEntry [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n52: 0x1032308e4 v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n53: 0x103230d74 v8::internal::(anonymous namespace)::InvokeWithTryCatch(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n54: 0x103251d80 v8::internal::MicrotaskQueue::RunMicrotasks(v8::internal::Isolate*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n55: 0x103251bb4 v8::internal::MicrotaskQueue::PerformCheckpointInternal(v8::Isolate*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n56: 0x102ed0bd4 node::InternalCallbackScope::Close() [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n57: 0x102fab36c node::fs::FileHandle::CloseReq::Resolve() [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n58: 0x102fabe14 node::fs::FileHandle::ClosePromise()::$_0::__invoke(uv_fs_s*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n59: 0x102f9ce64 node::MakeLibuvRequestCallback\u003Cuv_fs_s, void (*)(uv_fs_s*)>::Wrapper(uv_fs_s*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n60: 0x105f8b360 uv__work_done [/opt/homebrew/Cellar/libuv/1.46.0/lib/libuv.1.dylib]\r\n61: 0x105f8e994 uv__async_io [/opt/homebrew/Cellar/libuv/1.46.0/lib/libuv.1.dylib]\r\n62: 0x105f9e294 uv__io_poll [/opt/homebrew/Cellar/libuv/1.46.0/lib/libuv.1.dylib]\r\n63: 0x105f8ee28 uv_run [/opt/homebrew/Cellar/libuv/1.46.0/lib/libuv.1.dylib]\r\n64: 0x102ed1a40 node::SpinEventLoopInternal(node::Environment*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n65: 0x102feadfc node::NodeMainInstance::Run(node::ExitCode*, node::Environment*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n66: 0x102feab54 node::NodeMainInstance::Run() [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n67: 0x102f6c888 node::Start(int, char**) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n68: 0x181cc5058 start [/usr/lib/dyld]\r\n```\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.",[2935],{"name":2924,"color":2925},3362,"Node crashes when building default theme - \"JavaScript heap out of memory\"","2024-01-03T00:04:40Z","https://github.com/vuejs/vitepress/issues/3362",0.7385995,{"description":2942,"labels":2943,"number":2944,"owner":2874,"repository":2875,"state":2927,"title":2945,"updated_at":2946,"url":2947,"score":2948},"### Describe the bug\r\n\r\nThanks for building vitepress!\r\n\r\nI have a vitepress website and I found that a custom vue component with [multiple root nodes](https://v3-migration.vuejs.org/new/fragments.html) will fail to render in production mode.\r\n\r\n### Reproduction\r\n\r\nhttps://github.com/ast-grep/ast-grep.github.io/tree/repro-vite\r\n\r\n```\r\ngit clone --branch repro-vite git@github.com:ast-grep/ast-grep.github.io.git\r\npnpm install\r\npnpm build\r\npnpm serve\r\n```\r\n\r\nThen visit localhost:4173\r\n\r\n### Expected behavior\r\n\r\nThe `Supported Languages` section, of which the [code is here](https://github.com/ast-grep/ast-grep.github.io/blob/repro-vite/website/src/homepage/Languages.vue), should render.\r\n\r\n\u003Cimg width=\"1115\" alt=\"image\" src=\"https://github.com/vuejs/vitepress/assets/2883231/2faa0688-df54-47a6-9e47-cc3e5f8f85ac\">\r\n\r\n\r\n### System Info\r\n\r\n```Text\r\nSystem:\r\n OS: macOS 12.6\r\n CPU: (8) arm64 Apple M1\r\n Memory: 81.77 MB / 16.00 GB\r\n Shell: 5.8.1 - /bin/zsh\r\n Binaries:\r\n Node: 16.20.1 - ~/Library/Caches/fnm_multishells/62761_1699555887568/bin/node\r\n Yarn: 1.22.19 - ~/Library/pnpm/yarn\r\n npm: 8.19.4 - ~/Library/Caches/fnm_multishells/62761_1699555887568/bin/npm\r\n pnpm: 8.6.3 - ~/Library/pnpm/pnpm\r\n Browsers:\r\n Chrome: 119.0.6045.123\r\n Safari: 15.6.1\r\n```\r\n\r\n\r\n### Additional context\r\n\r\nThe languages.vue has two root elements in the template.\r\n\r\nSource\r\n\u003Cimg width=\"405\" alt=\"image\" src=\"https://github.com/vuejs/vitepress/assets/2883231/e92eb6f2-1d61-4b3a-b65d-fa71502a675c\">\r\n\r\n\r\nActual rendering include zero language images: \r\n\u003Cimg width=\"753\" alt=\"image\" src=\"https://github.com/vuejs/vitepress/assets/2883231/8f7b4a16-06da-4587-83aa-5ded94ad0ab6\">\r\nWith HTML:\r\n\u003Cimg width=\"424\" alt=\"image\" src=\"https://github.com/vuejs/vitepress/assets/2883231/7a4fe317-db1b-429e-a1d1-4be2fa63f6bf\">\r\n\r\n----\r\n\r\nHowever, it looks like the static HTML built on server side is correct.\r\n\r\nRendering if JS is disabled\r\n\u003Cimg width=\"876\" alt=\"image\" src=\"https://github.com/vuejs/vitepress/assets/2883231/ab2ffe30-d9bd-4e0d-b2bb-d82e36540297\">\r\nActual HTML without JS\r\n\u003Cimg width=\"391\" alt=\"image\" src=\"https://github.com/vuejs/vitepress/assets/2883231/1af71121-dbae-4115-882e-ef348b931ca9\">\r\n\r\n---\r\nAlso, if I [avoid the multiple root nodes](https://github.com/ast-grep/ast-grep.github.io/blob/main/website/src/homepage/Languages.vue#L2), the [page looks like fine](https://ast-grep.github.io/).\r\n\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.",[],3199,"Multiple root nodes custom Vue element will fail to render in vitepress","2023-11-19T00:04:54Z","https://github.com/vuejs/vitepress/issues/3199",0.7415982,{"description":2950,"labels":2951,"number":2952,"owner":2874,"repository":2875,"state":2927,"title":2953,"updated_at":2954,"url":2955,"score":2956},"when use some new language blocks in `md`, such as `wgsl`, it shows `No language registration for wgsl`\r\n\r\nThe shiki support add custom languages: https://github.com/shikijs/shiki/blob/main/docs/languages.md#supporting-your-own-languages-with-shiki\r\n\r\nThen, how to use it in VitePress to add custom languages?",[],1331,"How to add register language/grammar for shiki?","2023-01-21T14:25:07Z","https://github.com/vuejs/vitepress/issues/1331",0.7537731,{"description":2958,"labels":2959,"number":2963,"owner":2874,"repository":2875,"state":2927,"title":2964,"updated_at":2965,"url":2966,"score":2967},"### Is your feature request related to a problem? Please describe.\r\n\r\nSocial networks available are hard coded, so we can not include new one (such as dribble, gitlab, envato, ...) \r\n\r\n```ts\r\ntype SocialLinkIcon =\r\n | 'discord'\r\n | 'facebook'\r\n | 'github'\r\n | 'instagram'\r\n | 'linkedin'\r\n | 'slack'\r\n | 'twitter'\r\n | 'youtube'\r\n```\r\n\r\n\r\n### Describe the solution you'd like\r\n\r\nThat would be great if we can add link with icons from https://icones.js.org/ or from custom component\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.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.",[2960],{"name":2961,"color":2962},"theme","0754FB",738,"Add option to extends social links","2023-01-21T14:30:17Z","https://github.com/vuejs/vitepress/issues/738",0.758114,["Reactive",2969],{},["Set"],["ShallowReactive",2972],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$ffGnh6Goyj2ZihvlPic2sS_ZdjgXmWReRg7xsSKg3av4":-1},"/vuejs/vitepress/4155"]