[{"data":1,"prerenderedAt":85},["ShallowReactive",2],{"hub:tools-vitepress":3},{"path":4,"key":5,"title":6,"h1":7,"description":8,"crumbs":9,"blocks":17},"\u002Ftools\u002Fvitepress\u002F","tools-vitepress","VitePress Guides for Documentation Sites","VitePress","Guides for running VitePress docs in production: local search, versioning without plugins, migrating from MkDocs, and how it compares with Starlight.",[10,13,16],[11,12],"Home","\u002F",[14,15],"Tools","\u002Ftools\u002F",[7,4],[18,21,23,26,57,59,66,68],{"k":19,"text":20},"p","VitePress is the Vue team's documentation generator: Markdown in, a fast single-page application out, with a default theme most library docs can ship unchanged. The guides below cover what teams need once the site is real — tuning the built-in local search so its index stays small, publishing several major versions side by side without a plugin, and moving an existing MkDocs site across with every URL intact.",{"k":19,"text":22},"Its defining trade-off is client-side navigation. Pages hydrate as a Vue app, which makes moving between pages near-instant and costs more JavaScript than Starlight on the first page. The comparison guide measures both on the same 500 pages, and the rest of the list notes where that model helps and where it gets in the way.",{"k":24,"html":25},"fig","\u003Cfigure>\n\u003Csvg viewBox=\"0 0 760 191\" role=\"img\" aria-labelledby=\"hub-vitepress-hero-title hub-vitepress-hero-desc\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n  \u003Ctitle id=\"hub-vitepress-hero-title\">Areas covered by the VitePress guides\u003C\u002Ftitle>\n  \u003Cdesc id=\"hub-vitepress-hero-desc\">Three panels. Search: tuning local search, excluding generated pages and testing results. Versions: building each major version from its release branch with a shared switcher. Migration and choice: moving from MkDocs and comparing with Starlight.\u003C\u002Fdesc>\n  \u003Crect x=\"0\" y=\"0\" width=\"760\" height=\"191\" fill=\"#ffffff\"\u002F>\n  \u003Cg style=\"font-family:system-ui, sans-serif;font-size:12px\">\n    \u003Crect x=\"20.0\" y=\"58.0\" width=\"226.7\" height=\"117.4\" rx=\"10\" fill=\"#1982c4\" opacity=\"0.14\" stroke=\"#1982c4\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ccircle cx=\"40.0\" cy=\"103.0\" r=\"2.5\" fill=\"#1982c4\" stroke=\"#1982c4\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ccircle cx=\"40.0\" cy=\"125.0\" r=\"2.5\" fill=\"#1982c4\" stroke=\"#1982c4\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ccircle cx=\"40.0\" cy=\"146.9\" r=\"2.5\" fill=\"#1982c4\" stroke=\"#1982c4\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Crect x=\"266.7\" y=\"58.0\" width=\"226.7\" height=\"117.4\" rx=\"10\" fill=\"#6a4c93\" opacity=\"0.14\" stroke=\"#6a4c93\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ccircle cx=\"286.7\" cy=\"103.0\" r=\"2.5\" fill=\"#6a4c93\" stroke=\"#6a4c93\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ccircle cx=\"286.7\" cy=\"125.0\" r=\"2.5\" fill=\"#6a4c93\" stroke=\"#6a4c93\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ccircle cx=\"286.7\" cy=\"146.9\" r=\"2.5\" fill=\"#6a4c93\" stroke=\"#6a4c93\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Crect x=\"513.3\" y=\"58.0\" width=\"226.7\" height=\"117.4\" rx=\"10\" fill=\"#8ac926\" opacity=\"0.2\" stroke=\"#5a8a16\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ccircle cx=\"533.3\" cy=\"103.0\" r=\"2.5\" fill=\"#8ac926\" stroke=\"#5a8a16\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ccircle cx=\"533.3\" cy=\"125.0\" r=\"2.5\" fill=\"#8ac926\" stroke=\"#5a8a16\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ccircle cx=\"533.3\" cy=\"146.9\" r=\"2.5\" fill=\"#8ac926\" stroke=\"#5a8a16\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ctext x=\"380.0\" y=\"30.0\" fill=\"#1f2937\" style=\"font-size:16px;text-anchor:middle;font-weight:700\">What the VitePress guides cover\u003C\u002Ftext>\n    \u003Ctext x=\"34.0\" y=\"83.5\" fill=\"#166a9e\" style=\"font-size:13.5px;text-anchor:start;font-weight:700\">Search\u003C\u002Ftext>\n    \u003Ctext x=\"50.0\" y=\"107.0\" fill=\"#1f2937\" style=\"font-size:11.5px;text-anchor:start\">local search tuning\u003C\u002Ftext>\n    \u003Ctext x=\"50.0\" y=\"129.0\" fill=\"#1f2937\" style=\"font-size:11.5px;text-anchor:start\">index size and ranking\u003C\u002Ftext>\n    \u003Ctext x=\"50.0\" y=\"150.9\" fill=\"#1f2937\" style=\"font-size:11.5px;text-anchor:start\">query tests in CI\u003C\u002Ftext>\n    \u003Ctext x=\"280.7\" y=\"83.5\" fill=\"#6a4c93\" style=\"font-size:13.5px;text-anchor:start;font-weight:700\">Versions\u003C\u002Ftext>\n    \u003Ctext x=\"296.7\" y=\"107.0\" fill=\"#1f2937\" style=\"font-size:11.5px;text-anchor:start\">branch per version\u003C\u002Ftext>\n    \u003Ctext x=\"296.7\" y=\"129.0\" fill=\"#1f2937\" style=\"font-size:11.5px;text-anchor:start\">shared switcher\u003C\u002Ftext>\n    \u003Ctext x=\"296.7\" y=\"150.9\" fill=\"#1f2937\" style=\"font-size:11.5px;text-anchor:start\">canonicals to latest\u003C\u002Ftext>\n    \u003Ctext x=\"527.3\" y=\"83.5\" fill=\"#3f6410\" style=\"font-size:13.5px;text-anchor:start;font-weight:700\">Migrate and choose\u003C\u002Ftext>\n    \u003Ctext x=\"543.3\" y=\"107.0\" fill=\"#1f2937\" style=\"font-size:11.5px;text-anchor:start\">MkDocs to VitePress\u003C\u002Ftext>\n    \u003Ctext x=\"543.3\" y=\"129.0\" fill=\"#1f2937\" style=\"font-size:11.5px;text-anchor:start\">VitePress vs Starlight\u003C\u002Ftext>\n    \u003Ctext x=\"543.3\" y=\"150.9\" fill=\"#1f2937\" style=\"font-size:11.5px;text-anchor:start\">library docs setup\u003C\u002Ftext>\n  \u003C\u002Fg>\n\u003C\u002Fsvg>\n\u003Cfigcaption>Every guide reports numbers from a real site: index size, build time, page weight.\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>",{"k":27,"h":28,"items":29},"group","Choosing the Right Static Site Generator for Production",[30,35,39,44,49,53],{"t":31,"u":32,"d":33,"y":34},"Comparing Docs Framework Build Times","\u002Fchoosing-the-right-static-site-generator-for-production\u002Fdocs-frameworks-docusaurus-starlight-vitepress\u002Fcomparing-docs-framework-build-times\u002F","Benchmark Docusaurus, Starlight and VitePress on the same 2,000-page docs corpus: cold and warm builds, memory, output size and what drives each number.","Comparison",{"t":36,"u":37,"d":38,"y":34},"VitePress vs Starlight for Vue and Astro Teams","\u002Fchoosing-the-right-static-site-generator-for-production\u002Fdocs-frameworks-docusaurus-starlight-vitepress\u002Fvitepress-vs-starlight-for-vue-and-astro-teams\u002F","VitePress and Starlight compared on the same 500-page docs set: build time, page weight, search, i18n, customisation and which team each one suits.",{"t":40,"u":41,"d":42,"y":43},"VitePress for Library Documentation","\u002Fchoosing-the-right-static-site-generator-for-production\u002Fdocs-frameworks-docusaurus-starlight-vitepress\u002Fvitepress-for-library-documentation\u002F","Set up VitePress docs next to a library's source: generated API reference from TypeDoc, live code samples, versioned deploys and sub-20-second builds.","Concept",{"t":45,"u":46,"d":47,"y":48},"Adding Local Search to a VitePress Site","\u002Fchoosing-the-right-static-site-generator-for-production\u002Fdocs-frameworks-docusaurus-starlight-vitepress\u002Fadding-local-search-to-a-vitepress-site\u002F","Turn on VitePress's built-in local search, tune what it indexes and how it ranks, keep the index small on large docs, and measure its cost to the page.","How-to",{"t":50,"u":51,"d":52,"y":48},"Migrating MkDocs Documentation to VitePress","\u002Fchoosing-the-right-static-site-generator-for-production\u002Fdocs-frameworks-docusaurus-starlight-vitepress\u002Fmigrating-mkdocs-documentation-to-vitepress\u002F","Move an MkDocs Material site to VitePress: convert admonitions, tabs and nav, keep every URL working, and compare build time and page weight after.",{"t":54,"u":55,"d":56,"y":48},"Versioning VitePress Documentation Without a Plugin","\u002Fchoosing-the-right-static-site-generator-for-production\u002Fdocs-frameworks-docusaurus-starlight-vitepress\u002Fversioning-vitepress-documentation-without-a-plugin\u002F","Publish several versions of VitePress docs side by side using git branches, a version switcher and one deploy, with canonicals pointing at the latest.",{"k":24,"html":58},"\u003Cfigure>\n\u003Csvg viewBox=\"0 0 760 295\" role=\"img\" aria-labelledby=\"hub-vitepress-kinds-title hub-vitepress-kinds-desc\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n  \u003Ctitle id=\"hub-vitepress-kinds-title\">Number of VitePress guides of each kind\u003C\u002Ftitle>\n  \u003Cdesc id=\"hub-vitepress-kinds-desc\">Vertical bars: How-tos 4, Fixes 0, Comparisons 2 and Concepts 1.\u003C\u002Fdesc>\n  \u003Crect x=\"0\" y=\"0\" width=\"760\" height=\"295\" fill=\"#ffffff\"\u002F>\n  \u003Cg style=\"font-family:system-ui, sans-serif;font-size:12px\">\n    \u003Crect x=\"80.0\" y=\"76.0\" width=\"90.0\" height=\"170.0\" rx=\"3\" fill=\"#1982c4\" opacity=\"0.3\" stroke=\"#1982c4\" style=\"stroke-width:1px\"\u002F>\n    \u003Crect x=\"250.0\" y=\"243.0\" width=\"90.0\" height=\"3.0\" rx=\"3\" fill=\"#ff595e\" opacity=\"0.3\" stroke=\"#d83b41\" style=\"stroke-width:1px\"\u002F>\n    \u003Crect x=\"420.0\" y=\"161.0\" width=\"90.0\" height=\"85.0\" rx=\"3\" fill=\"#ffca3a\" opacity=\"0.45\" stroke=\"#a97b00\" style=\"stroke-width:1px\"\u002F>\n    \u003Crect x=\"590.0\" y=\"203.5\" width=\"90.0\" height=\"42.5\" rx=\"3\" fill=\"#6a4c93\" opacity=\"0.3\" stroke=\"#6a4c93\" style=\"stroke-width:1px\"\u002F>\n    \u003Cpath d=\"M30.0 246.0 L730.0 246.0\" fill=\"none\" stroke=\"#556071\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ctext x=\"380.0\" y=\"30.0\" fill=\"#1f2937\" style=\"font-size:16px;text-anchor:middle;font-weight:700\">VitePress guides by kind\u003C\u002Ftext>\n    \u003Ctext x=\"125.0\" y=\"69.0\" fill=\"#1f2937\" style=\"font-size:12px;text-anchor:middle;font-weight:700\">4\u003C\u002Ftext>\n    \u003Ctext x=\"125.0\" y=\"264.0\" fill=\"#556071\" style=\"font-size:11.5px;text-anchor:middle\">How-tos\u003C\u002Ftext>\n    \u003Ctext x=\"295.0\" y=\"236.0\" fill=\"#b32b30\" style=\"font-size:12px;text-anchor:middle;font-weight:700\">0\u003C\u002Ftext>\n    \u003Ctext x=\"295.0\" y=\"264.0\" fill=\"#556071\" style=\"font-size:11.5px;text-anchor:middle\">Fixes\u003C\u002Ftext>\n    \u003Ctext x=\"465.0\" y=\"154.0\" fill=\"#1f2937\" style=\"font-size:12px;text-anchor:middle;font-weight:700\">2\u003C\u002Ftext>\n    \u003Ctext x=\"465.0\" y=\"264.0\" fill=\"#556071\" style=\"font-size:11.5px;text-anchor:middle\">Comparisons\u003C\u002Ftext>\n    \u003Ctext x=\"635.0\" y=\"196.5\" fill=\"#1f2937\" style=\"font-size:12px;text-anchor:middle;font-weight:700\">1\u003C\u002Ftext>\n    \u003Ctext x=\"635.0\" y=\"264.0\" fill=\"#556071\" style=\"font-size:11.5px;text-anchor:middle\">Concepts\u003C\u002Ftext>\n  \u003C\u002Fg>\n\u003C\u002Fsvg>\n\u003Cfigcaption>7 guides use VitePress in depth; each is listed below under the section it belongs to.\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>",{"k":27,"h":60,"items":61},"Core Web Vitals Optimization for SSGs",[62],{"t":63,"u":64,"d":65,"y":48},"Code Splitting and Module Preload in Vite-Based SSGs","\u002Fperformance-optimization-core-web-vitals-for-ssgs\u002Fcss-and-javascript-asset-optimization\u002Fcode-splitting-and-module-preload-in-vite-based-ssgs\u002F","Find JavaScript that loads on every page of an Astro or VitePress site, split it with dynamic imports and manualChunks, and keep modulepreload hints honest.",{"k":24,"html":67},"\u003Cfigure>\n\u003Csvg viewBox=\"0 0 760 142\" role=\"img\" aria-labelledby=\"hub-vitepress-topics-title hub-vitepress-topics-desc\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n  \u003Ctitle id=\"hub-vitepress-topics-title\">Topics with the most VitePress guides\u003C\u002Ftitle>\n  \u003Cdesc id=\"hub-vitepress-topics-desc\">Horizontal bars, largest first: Docs Frameworks: Docusaurus, Starlight and VitePress 6 and CSS and JavaScript Asset Optimization 1.\u003C\u002Fdesc>\n  \u003Crect x=\"0\" y=\"0\" width=\"760\" height=\"142\" fill=\"#ffffff\"\u002F>\n  \u003Cg style=\"font-family:system-ui, sans-serif;font-size:12px\">\n    \u003Crect x=\"350.0\" y=\"65.0\" width=\"365.6\" height=\"20.0\" rx=\"3\" fill=\"#6a4c93\" opacity=\"0.3\" stroke=\"#6a4c93\" style=\"stroke-width:1px\"\u002F>\n    \u003Crect x=\"350.0\" y=\"99.0\" width=\"60.9\" height=\"20.0\" rx=\"3\" fill=\"#6a4c93\" opacity=\"0.3\" stroke=\"#6a4c93\" style=\"stroke-width:1px\"\u002F>\n    \u003Cpath d=\"M350.0 60.0 L350.0 124.0\" fill=\"none\" stroke=\"#556071\" style=\"stroke-width:1.5px\"\u002F>\n    \u003Ctext x=\"380.0\" y=\"30.0\" fill=\"#1f2937\" style=\"font-size:16px;text-anchor:middle;font-weight:700\">Where VitePress comes up\u003C\u002Ftext>\n    \u003Ctext x=\"20.0\" y=\"79.2\" fill=\"#1f2937\" style=\"font-size:12px;text-anchor:start\">Docs Frameworks: Docusaurus, Starlight…\u003C\u002Ftext>\n    \u003Ctext x=\"723.6\" y=\"79.5\" fill=\"#1f2937\" style=\"font-size:12px;text-anchor:start;font-weight:700\">6\u003C\u002Ftext>\n    \u003Ctext x=\"20.0\" y=\"113.2\" fill=\"#1f2937\" style=\"font-size:12px;text-anchor:start\">CSS and JavaScript Asset Optimization\u003C\u002Ftext>\n    \u003Ctext x=\"418.9\" y=\"113.5\" fill=\"#1f2937\" style=\"font-size:12px;text-anchor:start;font-weight:700\">1\u003C\u002Ftext>\n  \u003C\u002Fg>\n\u003C\u002Fsvg>\n\u003Cfigcaption>Topic pages give the wider context for each group; the numbers count only guides that use this tool in depth.\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>",{"k":27,"h":69,"items":70},"Often used with VitePress",[71,76,80],{"t":72,"u":73,"d":74,"y":75},"Astro","\u002Ftools\u002Fastro\u002F","Islands, content collections, astro:assets and deployment.","2 shared guides",{"t":77,"u":78,"d":79,"y":75},"Starlight","\u002Ftools\u002Fstarlight\u002F","Astro-based docs: overrides, translation and migration in.",{"t":81,"u":82,"d":83,"y":84},"Docusaurus","\u002Ftools\u002Fdocusaurus\u002F","Versioned docs, faster builds and migration out.","1 shared guides",1790943190467]