[{"data":1,"prerenderedAt":3399},["ShallowReactive",2],{"docs-navigation:en":3,"content-page:docs:5j3L82W5tFUr6HwO0Q5cdA0fekkPfwTJ6397xXn2KCs":261,"content-page-surround:docs:5j3L82W5tFUr6HwO0Q5cdA0fekkPfwTJ6397xXn2KCs":3384,"i-logos:vue":3387,"i-lucide:terminal":3392,"i-logos:typescript-icon":3395,"i-lucide:clipboard":3397},[4,18,49,65,148,207,230],{"title":5,"page":6,"canonicalKey":7,"locale":8,"id":9,"draft":6,"icon":10,"sidebar":11,"children":12},"Documentation",false,"1","en","content:docs:1.get-started:.navigation.yml","i-lucide-book-open","section",[13],{"title":14,"id":15,"canonicalKey":16,"locale":8,"draft":6,"path":17},"Quickstart","content:docs:1.get-started:1.quickstart.md","1\u002F1","\u002Fdocs\u002Fget-started\u002Fquickstart",{"title":19,"page":6,"canonicalKey":20,"locale":8,"id":21,"draft":6,"icon":22,"sidebar":23,"children":24},"Build","2","content:docs:2.build:.navigation.yml","i-lucide-hammer","group",[25,31,37,43],{"title":26,"id":27,"canonicalKey":28,"locale":8,"draft":6,"navigation":29,"path":30},"Documentation site","content:docs:2.build:1.documentation-site.md","2\u002F1",{"title":26},"\u002Fdocs\u002Fbuild\u002Fdocumentation-site",{"title":32,"id":33,"canonicalKey":34,"locale":8,"draft":6,"navigation":35,"path":36},"Blog","content:docs:2.build:2.blog.md","2\u002F2",{"title":32},"\u002Fdocs\u002Fbuild\u002Fblog",{"title":38,"id":39,"canonicalKey":40,"locale":8,"draft":6,"navigation":41,"path":42},"Multilingual site","content:docs:2.build:3.multilingual-site.md","2\u002F3",{"title":38},"\u002Fdocs\u002Fbuild\u002Fmultilingual-site",{"title":44,"id":45,"canonicalKey":46,"locale":8,"draft":6,"navigation":47,"path":48},"Search and navigation","content:docs:2.build:4.search-and-navigation.md","2\u002F4",{"title":44},"\u002Fdocs\u002Fbuild\u002Fsearch-and-navigation",{"title":50,"page":6,"canonicalKey":51,"locale":8,"id":52,"draft":6,"icon":53,"sidebar":23,"children":54},"Concepts","3","content:docs:3.concepts:.navigation.yml","i-lucide-lightbulb",[55,60],{"title":56,"id":57,"canonicalKey":58,"locale":8,"draft":6,"path":59},"How Ginko thinks","content:docs:3.concepts:1.how-ginko-thinks.md","3\u002F1","\u002Fdocs\u002Fconcepts\u002Fhow-ginko-thinks",{"title":61,"id":62,"canonicalKey":63,"locale":8,"draft":6,"path":64},"Why Ginko (and when not)","content:docs:3.concepts:2.why-ginko.md","3\u002F2","\u002Fdocs\u002Fconcepts\u002Fwhy-ginko",{"title":66,"page":6,"canonicalKey":67,"locale":8,"id":68,"draft":6,"icon":69,"sidebar":23,"children":70},"Guides","4","content:docs:4.guides:.navigation.yml","i-lucide-compass",[71,77,83,89,95,101,107,113,119,125,131,137,143],{"title":72,"id":73,"canonicalKey":74,"locale":8,"draft":6,"navigation":75,"path":76},"Frontmatter and schemas","content:docs:4.guides:1.frontmatter-and-schemas.md","4\u002F1",{"title":72},"\u002Fdocs\u002Fguides\u002Ffrontmatter-and-schemas",{"title":78,"id":79,"canonicalKey":80,"locale":8,"draft":6,"navigation":81,"path":82},"MDC components","content:docs:4.guides:2.mdc-components.md","4\u002F2",{"title":78},"\u002Fdocs\u002Fguides\u002Fmdc-components",{"title":84,"id":85,"canonicalKey":86,"locale":8,"draft":6,"navigation":87,"path":88},"Data and references","content:docs:4.guides:3.data-collections-and-references.md","4\u002F3",{"title":84},"\u002Fdocs\u002Fguides\u002Fdata-collections-and-references",{"title":90,"id":91,"canonicalKey":92,"locale":8,"draft":6,"navigation":93,"path":94},"Drafts and partials","content:docs:4.guides:4.drafts-and-partials.md","4\u002F4",{"title":90},"\u002Fdocs\u002Fguides\u002Fdrafts-and-partials",{"title":96,"id":97,"canonicalKey":98,"locale":8,"draft":6,"navigation":99,"path":100},"Navigation","content:docs:4.guides:5.navigation.md","4\u002F5",{"title":96},"\u002Fdocs\u002Fguides\u002Fnavigation",{"title":102,"id":103,"canonicalKey":104,"locale":8,"draft":6,"navigation":105,"path":106},"Routes and redirects","content:docs:4.guides:6.routes-links-and-redirects.md","4\u002F6",{"title":102},"\u002Fdocs\u002Fguides\u002Froutes-links-and-redirects",{"title":108,"id":109,"canonicalKey":110,"locale":8,"draft":6,"navigation":111,"path":112},"Translated slugs","content:docs:4.guides:7.translated-slugs.md","4\u002F7",{"title":108},"\u002Fdocs\u002Fguides\u002Ftranslated-slugs",{"title":114,"id":115,"canonicalKey":116,"locale":8,"draft":6,"navigation":117,"path":118},"Search engines","content:docs:4.guides:8.search-engines.md","4\u002F8",{"title":114},"\u002Fdocs\u002Fguides\u002Fsearch-engines",{"title":120,"id":121,"canonicalKey":122,"locale":8,"draft":6,"navigation":123,"path":124},"Sitemap and prerender","content:docs:4.guides:9.sitemap-and-prerender.md","4\u002F9",{"title":120},"\u002Fdocs\u002Fguides\u002Fsitemap-and-prerender",{"title":126,"id":127,"canonicalKey":128,"locale":8,"draft":6,"navigation":129,"path":130},"Providers","content:docs:4.guides:10.providers.md","4\u002F10",{"title":126},"\u002Fdocs\u002Fguides\u002Fproviders",{"title":132,"id":133,"canonicalKey":134,"locale":8,"draft":6,"navigation":135,"path":136},"Provider search and caching","content:docs:4.guides:11.provider-search-and-caching.md","4\u002F11",{"title":132},"\u002Fdocs\u002Fguides\u002Fprovider-search-and-caching",{"title":138,"id":139,"canonicalKey":140,"locale":8,"draft":6,"navigation":141,"path":142},"Agent-readable output","content:docs:4.guides:12.agent-readable-output.md","4\u002F12",{"title":138},"\u002Fdocs\u002Fguides\u002Fagent-readable-output",{"title":144,"id":145,"canonicalKey":146,"locale":8,"draft":6,"path":147},"Data-source adapters","content:docs:4.guides:13.data-source-adapters.md","4\u002F13","\u002Fdocs\u002Fguides\u002Fdata-source-adapters",{"title":149,"id":150,"canonicalKey":151,"locale":8,"draft":6,"navigation":152,"icon":154,"sidebar":11,"path":155,"children":156},"Reference","content:docs:5.reference:.navigation.yml","5",{"title":153},"Overview","i-lucide-braces","\u002Fdocs\u002Freference",[157,162,167,172,177,182,187,192,197,202],{"title":158,"id":159,"canonicalKey":160,"locale":8,"draft":6,"path":161},"content.config.ts","content:docs:5.reference:2.content-config.md","5\u002F2","\u002Fdocs\u002Freference\u002Fcontent-config",{"title":163,"id":164,"canonicalKey":165,"locale":8,"draft":6,"path":166},"Module options","content:docs:5.reference:3.module-options.md","5\u002F3","\u002Fdocs\u002Freference\u002Fmodule-options",{"title":168,"id":169,"canonicalKey":170,"locale":8,"draft":6,"path":171},"Query API","content:docs:5.reference:4.query-api.md","5\u002F4","\u002Fdocs\u002Freference\u002Fquery-api",{"title":173,"id":174,"canonicalKey":175,"locale":8,"draft":6,"path":176},"Composables","content:docs:5.reference:5.composables.md","5\u002F5","\u002Fdocs\u002Freference\u002Fcomposables",{"title":178,"id":179,"canonicalKey":180,"locale":8,"draft":6,"path":181},"Server API","content:docs:5.reference:6.server-api.md","5\u002F6","\u002Fdocs\u002Freference\u002Fserver-api",{"title":183,"id":184,"canonicalKey":185,"locale":8,"draft":6,"path":186},"Components","content:docs:5.reference:7.components.md","5\u002F7","\u002Fdocs\u002Freference\u002Fcomponents",{"title":188,"id":189,"canonicalKey":190,"locale":8,"draft":6,"path":191},"Document envelope","content:docs:5.reference:8.document-envelope.md","5\u002F8","\u002Fdocs\u002Freference\u002Fdocument-envelope",{"title":193,"id":194,"canonicalKey":195,"locale":8,"draft":6,"path":196},"Query operators","content:docs:5.reference:9.query-operators.md","5\u002F9","\u002Fdocs\u002Freference\u002Fquery-operators",{"title":198,"id":199,"canonicalKey":200,"locale":8,"draft":6,"path":201},"Provider contract","content:docs:5.reference:10.provider-contract.md","5\u002F10","\u002Fdocs\u002Freference\u002Fprovider-contract",{"title":203,"id":204,"canonicalKey":205,"locale":8,"draft":6,"path":206},"Package exports","content:docs:5.reference:11.package-exports.md","5\u002F11","\u002Fdocs\u002Freference\u002Fpackage-exports",{"title":208,"id":209,"canonicalKey":210,"locale":8,"draft":6,"navigation":211,"icon":212,"sidebar":23,"path":213,"children":214},"Migration","content:docs:6.migration:.navigation.yml","6",{"title":153},"i-lucide-move-right","\u002Fdocs\u002Fmigration",[215,220,225],{"title":216,"id":217,"canonicalKey":218,"locale":8,"draft":6,"path":219},"From Nuxt Content v2","content:docs:6.migration:2.from-nuxt-content-v2.md","6\u002F2","\u002Fdocs\u002Fmigration\u002Ffrom-nuxt-content-v2",{"title":221,"id":222,"canonicalKey":223,"locale":8,"draft":6,"path":224},"From Nuxt Content v3","content:docs:6.migration:3.from-nuxt-content-v3.md","6\u002F3","\u002Fdocs\u002Fmigration\u002Ffrom-nuxt-content-v3",{"title":226,"id":227,"canonicalKey":228,"locale":8,"draft":6,"path":229},"Ginko version upgrades","content:docs:6.migration:4.ginko-version-upgrades.md","6\u002F4","\u002Fdocs\u002Fmigration\u002Fginko-version-upgrades",{"title":231,"page":6,"canonicalKey":232,"locale":8,"id":233,"draft":6,"icon":234,"sidebar":23,"children":235},"Resources","7","content:docs:7.resources:.navigation.yml","i-lucide-library",[236,241,246,251,256],{"title":237,"id":238,"canonicalKey":239,"locale":8,"draft":6,"path":240},"Examples","content:docs:7.resources:1.examples.md","7\u002F1","\u002Fdocs\u002Fresources\u002Fexamples",{"title":242,"id":243,"canonicalKey":244,"locale":8,"draft":6,"path":245},"Deployment","content:docs:7.resources:2.deployment.md","7\u002F2","\u002Fdocs\u002Fresources\u002Fdeployment",{"title":247,"id":248,"canonicalKey":249,"locale":8,"draft":6,"path":250},"Troubleshooting","content:docs:7.resources:3.troubleshooting.md","7\u002F3","\u002Fdocs\u002Fresources\u002Ftroubleshooting",{"title":252,"id":253,"canonicalKey":254,"locale":8,"draft":6,"path":255},"Design principles","content:docs:7.resources:4.design-principles.md","7\u002F4","\u002Fdocs\u002Fresources\u002Fdesign-principles",{"title":257,"id":258,"canonicalKey":259,"locale":8,"draft":6,"path":260},"Support and stability","content:docs:7.resources:5.support-and-stability.md","7\u002F5","\u002Fdocs\u002Fresources\u002Fsupport-and-stability",{"title":226,"description":262,"body":263,"type":3372,"id":227,"canonicalKey":228,"draft":6,"partial":6,"locale":8,"collection":1534,"navigationFile":6,"file":3373,"route":3379,"resolution":3381},"Apply Ginko's version-specific hard cuts, remove superseded APIs, and verify the exact installed or packed artifact.",{"type":264,"children":265,"toc":3340},"root",[266,274,281,307,340,347,364,516,582,601,607,624,643,649,654,693,698,815,841,847,859,1278,1294,1300,1319,1324,1330,1335,1340,1346,1351,1357,1376,1382,1387,1392,1414,1419,1425,1430,1455,1473,1767,1779,1785,1823,1830,1858,2008,2355,2367,2419,2436,2460,2466,2492,2497,2503,2513,2681,2686,2692,2701,2928,2933,2939,2969,3005,3011,3114,3120,3130,3160,3165,3171,3176,3181,3252,3271,3277,3282,3288,3293,3329],{"type":267,"tag":268,"props":269,"children":270},"element","p",{},[271],{"type":272,"value":273},"text","Ginko may make hard public-contract cutovers before 1.0. Upgrade directly to the documented end state; do not preserve old and new paths in parallel.",{"type":267,"tag":275,"props":276,"children":278},"h2",{"id":277},"from-03-to-04",[279],{"type":272,"value":280},"From 0.3 to 0.4",{"type":267,"tag":268,"props":282,"children":283},{},[284,286,292,294,299,301,305],{"type":272,"value":285},"The ",{"type":267,"tag":287,"props":288,"children":289},"code",{},[290],{"type":272,"value":291},"0.4.0",{"type":272,"value":293}," release candidates use npm's ",{"type":267,"tag":287,"props":295,"children":296},{},[297],{"type":272,"value":298},"next",{"type":272,"value":300}," channel. Certify the\nexact prerelease before adopting it; stable ",{"type":267,"tag":287,"props":302,"children":303},{},[304],{"type":272,"value":291},{"type":272,"value":306}," follows the RC soak.",{"type":267,"tag":308,"props":309,"children":312},"pre",{"language":310,"class":311},"bash","shiki shiki-themes light-plus dark-plus dark:dark-plus",[313],{"type":267,"tag":287,"props":314,"children":316},{"class":315},"language-bash",[317],{"type":267,"tag":318,"props":319,"children":322},"span",{"class":320,"style":321},"line","display: inline",[323,329,335],{"type":267,"tag":318,"props":324,"children":326},{"style":325},"color:#795E26;--shiki-dark:#DCDCAA",[327],{"type":272,"value":328},"pnpm",{"type":267,"tag":318,"props":330,"children":332},{"style":331},"color:#A31515;--shiki-dark:#CE9178",[333],{"type":272,"value":334}," add",{"type":267,"tag":318,"props":336,"children":337},{"style":331},[338],{"type":272,"value":339}," @lupinum\u002Fginko-content@0.4.0-rc.2",{"type":267,"tag":341,"props":342,"children":344},"h3",{"id":343},"from-03-to-04-_1-make-the-markdown-profile-explicit",[345],{"type":272,"value":346},"1. Make the Markdown profile explicit",{"type":267,"tag":268,"props":348,"children":349},{},[350,355,357,362],{"type":267,"tag":287,"props":351,"children":352},{},[353],{"type":272,"value":354},"content.markdown.plugins",{"type":272,"value":356}," now has a literal empty default. Nothing is enabled\nimplicitly, and omitting the option is identical to ",{"type":267,"tag":287,"props":358,"children":359},{},[360],{"type":272,"value":361},"plugins: []",{"type":272,"value":363},". Add only the\nsyntax the application owns:",{"type":267,"tag":308,"props":365,"children":367},{"language":366,"class":311},"ts",[368],{"type":267,"tag":287,"props":369,"children":371},{"class":370},"language-ts",[372,397,399,413,414,426,427,440,441,454,455,467,468,480,481,489,490,498,499,507,508],{"type":267,"tag":318,"props":373,"children":374},{"class":320,"style":321},[375,381,386,391],{"type":267,"tag":318,"props":376,"children":378},{"style":377},"color:#AF00DB;--shiki-dark:#C586C0",[379],{"type":272,"value":380},"export",{"type":267,"tag":318,"props":382,"children":383},{"style":377},[384],{"type":272,"value":385}," default",{"type":267,"tag":318,"props":387,"children":388},{"style":325},[389],{"type":272,"value":390}," defineNuxtConfig",{"type":267,"tag":318,"props":392,"children":394},{"style":393},"color:#000000;--shiki-dark:#D4D4D4",[395],{"type":272,"value":396},"({",{"type":272,"value":398},"\n",{"type":267,"tag":318,"props":400,"children":401},{"class":320,"style":321},[402,408],{"type":267,"tag":318,"props":403,"children":405},{"style":404},"color:#001080;--shiki-dark:#9CDCFE",[406],{"type":272,"value":407},"  content:",{"type":267,"tag":318,"props":409,"children":410},{"style":393},[411],{"type":272,"value":412}," {",{"type":272,"value":398},{"type":267,"tag":318,"props":415,"children":416},{"class":320,"style":321},[417,422],{"type":267,"tag":318,"props":418,"children":419},{"style":404},[420],{"type":272,"value":421},"    markdown:",{"type":267,"tag":318,"props":423,"children":424},{"style":393},[425],{"type":272,"value":412},{"type":272,"value":398},{"type":267,"tag":318,"props":428,"children":429},{"class":320,"style":321},[430,435],{"type":267,"tag":318,"props":431,"children":432},{"style":404},[433],{"type":272,"value":434},"      plugins:",{"type":267,"tag":318,"props":436,"children":437},{"style":393},[438],{"type":272,"value":439}," [",{"type":272,"value":398},{"type":267,"tag":318,"props":442,"children":443},{"class":320,"style":321},[444,449],{"type":267,"tag":318,"props":445,"children":446},{"style":331},[447],{"type":272,"value":448},"        'toc'",{"type":267,"tag":318,"props":450,"children":451},{"style":393},[452],{"type":272,"value":453},",",{"type":272,"value":398},{"type":267,"tag":318,"props":456,"children":457},{"class":320,"style":321},[458,463],{"type":267,"tag":318,"props":459,"children":460},{"style":331},[461],{"type":272,"value":462},"        'shiki'",{"type":267,"tag":318,"props":464,"children":465},{"style":393},[466],{"type":272,"value":453},{"type":272,"value":398},{"type":267,"tag":318,"props":469,"children":470},{"class":320,"style":321},[471,476],{"type":267,"tag":318,"props":472,"children":473},{"style":331},[474],{"type":272,"value":475},"        'summary'",{"type":267,"tag":318,"props":477,"children":478},{"style":393},[479],{"type":272,"value":453},{"type":272,"value":398},{"type":267,"tag":318,"props":482,"children":483},{"class":320,"style":321},[484],{"type":267,"tag":318,"props":485,"children":486},{"style":393},[487],{"type":272,"value":488},"      ],",{"type":272,"value":398},{"type":267,"tag":318,"props":491,"children":492},{"class":320,"style":321},[493],{"type":267,"tag":318,"props":494,"children":495},{"style":393},[496],{"type":272,"value":497},"    },",{"type":272,"value":398},{"type":267,"tag":318,"props":500,"children":501},{"class":320,"style":321},[502],{"type":267,"tag":318,"props":503,"children":504},{"style":393},[505],{"type":272,"value":506},"  },",{"type":272,"value":398},{"type":267,"tag":318,"props":509,"children":510},{"class":320,"style":321},[511],{"type":267,"tag":318,"props":512,"children":513},{"style":393},[514],{"type":272,"value":515},"})",{"type":267,"tag":268,"props":517,"children":518},{},[519,521,526,528,533,535,539,541,545,547,552,554,559,561,566,568,573,575,580],{"type":272,"value":520},"The zero-option ",{"type":267,"tag":287,"props":522,"children":523},{},[524],{"type":272,"value":525},"shiki",{"type":272,"value":527}," entry uses Ginko's bundled light\u002Fdark Material themes.\nReplace the deprecated ",{"type":267,"tag":287,"props":529,"children":530},{},[531],{"type":272,"value":532},"highlight",{"type":272,"value":534}," plugin name with ",{"type":267,"tag":287,"props":536,"children":537},{},[538],{"type":272,"value":525},{"type":272,"value":540},". ",{"type":267,"tag":287,"props":542,"children":543},{},[544],{"type":272,"value":532},{"type":272,"value":546},"\nremains a warning-only alias during ",{"type":267,"tag":287,"props":548,"children":549},{},[550],{"type":272,"value":551},"0.4.x",{"type":272,"value":553},", but configuring both names is an\nerror. Custom registrations use imported Shiki objects under\n",{"type":267,"tag":287,"props":555,"children":556},{},[557],{"type":272,"value":558},"themes: { light, dark }",{"type":272,"value":560}," and ",{"type":267,"tag":287,"props":562,"children":563},{},[564],{"type":272,"value":565},"languages",{"type":272,"value":567},"; replace the invalid singular ",{"type":267,"tag":287,"props":569,"children":570},{},[571],{"type":272,"value":572},"theme",{"type":272,"value":574},"\nand ",{"type":267,"tag":287,"props":576,"children":577},{},[578],{"type":272,"value":579},"langs",{"type":272,"value":581}," spellings, which now fail module setup instead of falling back\nsilently. Add Shiki directly to the application when its config imports custom\nregistration objects.",{"type":267,"tag":268,"props":583,"children":584},{},[585,587,592,594,599],{"type":272,"value":586},"Ginko and ",{"type":267,"tag":287,"props":588,"children":589},{},[590],{"type":272,"value":591},"@comark\u002Fvue",{"type":272,"value":593}," now use the matched Comark ",{"type":267,"tag":287,"props":595,"children":596},{},[597],{"type":272,"value":598},"0.6.2",{"type":272,"value":600}," line. Custom Comark\nplugin modules still run only in the build\u002Fserver filesystem profile, and their\nnormalized AST must satisfy Ginko's closed inert render policy. Parser support\ndoes not authorize Vue directives, bindings, event handlers, arbitrary active\nHTML, or undeclared component props and slots.",{"type":267,"tag":341,"props":602,"children":604},{"id":603},"from-03-to-04-_2-treat-inline-markdown-as-its-own-safe-api",[605],{"type":272,"value":606},"2. Treat inline Markdown as its own safe API",{"type":267,"tag":268,"props":608,"children":609},{},[610,615,617,622],{"type":267,"tag":287,"props":611,"children":612},{},[613],{"type":272,"value":614},"ContentRendererInline",{"type":272,"value":616}," intentionally uses a fixed client-safe profile for SSR,\nhydration, and reactive updates. It supports standard Markdown, tables, task\nlists, and normalized GFM alerts. It discards comments and does not inherit\nbuild-time plugins, Shiki, footnotes, Math, Mermaid, custom MDC components, or\n",{"type":267,"tag":287,"props":618,"children":619},{},[620],{"type":272,"value":621},"markdown.tags",{"type":272,"value":623}," mappings.",{"type":267,"tag":268,"props":625,"children":626},{},[627,629,634,636,641],{"type":272,"value":628},"Use ",{"type":267,"tag":287,"props":630,"children":631},{},[632],{"type":272,"value":633},"ContentRenderer",{"type":272,"value":635}," with an ingested document when output needs configured\nplugins or application components. The inline ",{"type":267,"tag":287,"props":637,"children":638},{},[639],{"type":272,"value":640},"components",{"type":272,"value":642}," prop may replace a\nrenderer for an already authorized tag; it cannot authorize new syntax or\nexpand the safety policy.",{"type":267,"tag":341,"props":644,"children":646},{"id":645},"from-03-to-04-_3-install-optional-render-integrations-deliberately",[647],{"type":272,"value":648},"3. Install optional render integrations deliberately",{"type":267,"tag":268,"props":650,"children":651},{},[652],{"type":272,"value":653},"Math and Mermaid are emitted through build-generated literal imports so they\nwork in production browser chunks and packed consumers. Install only the peer\nfor the enabled plugin:",{"type":267,"tag":308,"props":655,"children":656},{"language":310,"class":311},[657],{"type":267,"tag":287,"props":658,"children":659},{"class":315},[660,676,677],{"type":267,"tag":318,"props":661,"children":662},{"class":320,"style":321},[663,667,671],{"type":267,"tag":318,"props":664,"children":665},{"style":325},[666],{"type":272,"value":328},{"type":267,"tag":318,"props":668,"children":669},{"style":331},[670],{"type":272,"value":334},{"type":267,"tag":318,"props":672,"children":673},{"style":331},[674],{"type":272,"value":675}," katex",{"type":272,"value":398},{"type":267,"tag":318,"props":678,"children":679},{"class":320,"style":321},[680,684,688],{"type":267,"tag":318,"props":681,"children":682},{"style":325},[683],{"type":272,"value":328},{"type":267,"tag":318,"props":685,"children":686},{"style":331},[687],{"type":272,"value":334},{"type":267,"tag":318,"props":689,"children":690},{"style":331},[691],{"type":272,"value":692}," beautiful-mermaid",{"type":267,"tag":268,"props":694,"children":695},{},[696],{"type":272,"value":697},"Math also needs its stylesheet in Nuxt:",{"type":267,"tag":308,"props":699,"children":700},{"language":366,"class":311},[701],{"type":267,"tag":287,"props":702,"children":703},{"class":370},[704,723,724,746,747,758,759,770,771,791,792,799,800,807,808],{"type":267,"tag":318,"props":705,"children":706},{"class":320,"style":321},[707,711,715,719],{"type":267,"tag":318,"props":708,"children":709},{"style":377},[710],{"type":272,"value":380},{"type":267,"tag":318,"props":712,"children":713},{"style":377},[714],{"type":272,"value":385},{"type":267,"tag":318,"props":716,"children":717},{"style":325},[718],{"type":272,"value":390},{"type":267,"tag":318,"props":720,"children":721},{"style":393},[722],{"type":272,"value":396},{"type":272,"value":398},{"type":267,"tag":318,"props":725,"children":726},{"class":320,"style":321},[727,732,736,741],{"type":267,"tag":318,"props":728,"children":729},{"style":404},[730],{"type":272,"value":731},"  css:",{"type":267,"tag":318,"props":733,"children":734},{"style":393},[735],{"type":272,"value":439},{"type":267,"tag":318,"props":737,"children":738},{"style":331},[739],{"type":272,"value":740},"'katex\u002Fdist\u002Fkatex.min.css'",{"type":267,"tag":318,"props":742,"children":743},{"style":393},[744],{"type":272,"value":745},"],",{"type":272,"value":398},{"type":267,"tag":318,"props":748,"children":749},{"class":320,"style":321},[750,754],{"type":267,"tag":318,"props":751,"children":752},{"style":404},[753],{"type":272,"value":407},{"type":267,"tag":318,"props":755,"children":756},{"style":393},[757],{"type":272,"value":412},{"type":272,"value":398},{"type":267,"tag":318,"props":760,"children":761},{"class":320,"style":321},[762,766],{"type":267,"tag":318,"props":763,"children":764},{"style":404},[765],{"type":272,"value":421},{"type":267,"tag":318,"props":767,"children":768},{"style":393},[769],{"type":272,"value":412},{"type":272,"value":398},{"type":267,"tag":318,"props":772,"children":773},{"class":320,"style":321},[774,778,782,787],{"type":267,"tag":318,"props":775,"children":776},{"style":404},[777],{"type":272,"value":434},{"type":267,"tag":318,"props":779,"children":780},{"style":393},[781],{"type":272,"value":439},{"type":267,"tag":318,"props":783,"children":784},{"style":331},[785],{"type":272,"value":786},"'math'",{"type":267,"tag":318,"props":788,"children":789},{"style":393},[790],{"type":272,"value":745},{"type":272,"value":398},{"type":267,"tag":318,"props":793,"children":794},{"class":320,"style":321},[795],{"type":267,"tag":318,"props":796,"children":797},{"style":393},[798],{"type":272,"value":497},{"type":272,"value":398},{"type":267,"tag":318,"props":801,"children":802},{"class":320,"style":321},[803],{"type":267,"tag":318,"props":804,"children":805},{"style":393},[806],{"type":272,"value":506},{"type":272,"value":398},{"type":267,"tag":318,"props":809,"children":810},{"class":320,"style":321},[811],{"type":267,"tag":318,"props":812,"children":813},{"style":393},[814],{"type":272,"value":515},{"type":267,"tag":268,"props":816,"children":817},{},[818,820,825,827,832,834,839],{"type":272,"value":819},"Do not add Comark-specific ",{"type":267,"tag":287,"props":821,"children":822},{},[823],{"type":272,"value":824},"build.transpile",{"type":272,"value":826},", Vite ",{"type":267,"tag":287,"props":828,"children":829},{},[830],{"type":272,"value":831},"ssr.noExternal",{"type":272,"value":833},", or Nitro\n",{"type":267,"tag":287,"props":835,"children":836},{},[837],{"type":272,"value":838},"externals.inline",{"type":272,"value":840}," overrides. Ginko and Comark package their ESM boundaries\nwithout those blanket settings.",{"type":267,"tag":341,"props":842,"children":844},{"id":843},"from-03-to-04-_4-use-the-universal-nuxt-404-recipe",[845],{"type":272,"value":846},"4. Use the universal Nuxt 404 recipe",{"type":267,"tag":268,"props":848,"children":849},{},[850,852,857],{"type":272,"value":851},"Catch-all content pages must handle both direct requests and reused-page client\nnavigation. Key the page by route path and throw after the awaited composable;\ndo not guard the missing-page check with ",{"type":267,"tag":287,"props":853,"children":854},{},[855],{"type":272,"value":856},"import.meta.server",{"type":272,"value":858},":",{"type":267,"tag":308,"props":860,"children":862},{"language":861,"class":311},"vue",[863],{"type":267,"tag":287,"props":864,"children":866},{"class":865},"language-vue",[867,909,910,943,944,947,948,1000,1001,1004,1005,1052,1053,1056,1057,1088,1089,1106,1107,1125,1126,1143,1144,1161,1162,1170,1171,1179,1180,1196,1197,1200,1201,1217,1218,1262,1263],{"type":267,"tag":318,"props":868,"children":869},{"class":320,"style":321},[870,876,882,888,893,898,904],{"type":267,"tag":318,"props":871,"children":873},{"style":872},"color:#800000;--shiki-dark:#808080",[874],{"type":272,"value":875},"\u003C",{"type":267,"tag":318,"props":877,"children":879},{"style":878},"color:#800000;--shiki-dark:#569CD6",[880],{"type":272,"value":881},"script",{"type":267,"tag":318,"props":883,"children":885},{"style":884},"color:#E50000;--shiki-dark:#9CDCFE",[886],{"type":272,"value":887}," setup",{"type":267,"tag":318,"props":889,"children":890},{"style":884},[891],{"type":272,"value":892}," lang",{"type":267,"tag":318,"props":894,"children":895},{"style":393},[896],{"type":272,"value":897},"=",{"type":267,"tag":318,"props":899,"children":901},{"style":900},"color:#0000FF;--shiki-dark:#CE9178",[902],{"type":272,"value":903},"\"ts\"",{"type":267,"tag":318,"props":905,"children":906},{"style":872},[907],{"type":272,"value":908},">",{"type":272,"value":398},{"type":267,"tag":318,"props":911,"children":912},{"class":320,"style":321},[913,918,923,928,933,938],{"type":267,"tag":318,"props":914,"children":915},{"style":377},[916],{"type":272,"value":917},"import",{"type":267,"tag":318,"props":919,"children":920},{"style":393},[921],{"type":272,"value":922}," { ",{"type":267,"tag":318,"props":924,"children":925},{"style":404},[926],{"type":272,"value":927},"pages",{"type":267,"tag":318,"props":929,"children":930},{"style":393},[931],{"type":272,"value":932}," } ",{"type":267,"tag":318,"props":934,"children":935},{"style":377},[936],{"type":272,"value":937},"from",{"type":267,"tag":318,"props":939,"children":940},{"style":331},[941],{"type":272,"value":942}," '~~\u002Fcontent.config'",{"type":272,"value":398},{"type":267,"tag":318,"props":945,"children":946},{"class":320,"style":321},[],{"type":272,"value":398},{"type":267,"tag":318,"props":949,"children":950},{"class":320,"style":321},[951,956,961,966,970,975,981,985,990,995],{"type":267,"tag":318,"props":952,"children":953},{"style":325},[954],{"type":272,"value":955},"definePageMeta",{"type":267,"tag":318,"props":957,"children":958},{"style":393},[959],{"type":272,"value":960},"({ ",{"type":267,"tag":318,"props":962,"children":963},{"style":325},[964],{"type":272,"value":965},"key",{"type":267,"tag":318,"props":967,"children":968},{"style":404},[969],{"type":272,"value":858},{"type":267,"tag":318,"props":971,"children":972},{"style":404},[973],{"type":272,"value":974}," route",{"type":267,"tag":318,"props":976,"children":978},{"style":977},"color:#0000FF;--shiki-dark:#569CD6",[979],{"type":272,"value":980}," =>",{"type":267,"tag":318,"props":982,"children":983},{"style":404},[984],{"type":272,"value":974},{"type":267,"tag":318,"props":986,"children":987},{"style":393},[988],{"type":272,"value":989},".",{"type":267,"tag":318,"props":991,"children":992},{"style":404},[993],{"type":272,"value":994},"path",{"type":267,"tag":318,"props":996,"children":997},{"style":393},[998],{"type":272,"value":999}," })",{"type":272,"value":398},{"type":267,"tag":318,"props":1002,"children":1003},{"class":320,"style":321},[],{"type":272,"value":398},{"type":267,"tag":318,"props":1006,"children":1007},{"class":320,"style":321},[1008,1013,1017,1023,1028,1033,1038,1043,1047],{"type":267,"tag":318,"props":1009,"children":1010},{"style":977},[1011],{"type":272,"value":1012},"const",{"type":267,"tag":318,"props":1014,"children":1015},{"style":393},[1016],{"type":272,"value":922},{"type":267,"tag":318,"props":1018,"children":1020},{"style":1019},"color:#0070C1;--shiki-dark:#4FC1FF",[1021],{"type":272,"value":1022},"page",{"type":267,"tag":318,"props":1024,"children":1025},{"style":393},[1026],{"type":272,"value":1027}," } = ",{"type":267,"tag":318,"props":1029,"children":1030},{"style":377},[1031],{"type":272,"value":1032},"await",{"type":267,"tag":318,"props":1034,"children":1035},{"style":325},[1036],{"type":272,"value":1037}," useContentPage",{"type":267,"tag":318,"props":1039,"children":1040},{"style":393},[1041],{"type":272,"value":1042},"(",{"type":267,"tag":318,"props":1044,"children":1045},{"style":404},[1046],{"type":272,"value":927},{"type":267,"tag":318,"props":1048,"children":1049},{"style":393},[1050],{"type":272,"value":1051},")",{"type":272,"value":398},{"type":267,"tag":318,"props":1054,"children":1055},{"class":320,"style":321},[],{"type":272,"value":398},{"type":267,"tag":318,"props":1058,"children":1059},{"class":320,"style":321},[1060,1065,1070,1074,1078,1083],{"type":267,"tag":318,"props":1061,"children":1062},{"style":377},[1063],{"type":272,"value":1064},"if",{"type":267,"tag":318,"props":1066,"children":1067},{"style":393},[1068],{"type":272,"value":1069}," (!",{"type":267,"tag":318,"props":1071,"children":1072},{"style":404},[1073],{"type":272,"value":1022},{"type":267,"tag":318,"props":1075,"children":1076},{"style":393},[1077],{"type":272,"value":989},{"type":267,"tag":318,"props":1079,"children":1080},{"style":404},[1081],{"type":272,"value":1082},"value",{"type":267,"tag":318,"props":1084,"children":1085},{"style":393},[1086],{"type":272,"value":1087},") {",{"type":272,"value":398},{"type":267,"tag":318,"props":1090,"children":1091},{"class":320,"style":321},[1092,1097,1102],{"type":267,"tag":318,"props":1093,"children":1094},{"style":377},[1095],{"type":272,"value":1096},"  throw",{"type":267,"tag":318,"props":1098,"children":1099},{"style":325},[1100],{"type":272,"value":1101}," createError",{"type":267,"tag":318,"props":1103,"children":1104},{"style":393},[1105],{"type":272,"value":396},{"type":272,"value":398},{"type":267,"tag":318,"props":1108,"children":1109},{"class":320,"style":321},[1110,1115,1121],{"type":267,"tag":318,"props":1111,"children":1112},{"style":404},[1113],{"type":272,"value":1114},"    statusCode:",{"type":267,"tag":318,"props":1116,"children":1118},{"style":1117},"color:#098658;--shiki-dark:#B5CEA8",[1119],{"type":272,"value":1120}," 404",{"type":267,"tag":318,"props":1122,"children":1123},{"style":393},[1124],{"type":272,"value":453},{"type":272,"value":398},{"type":267,"tag":318,"props":1127,"children":1128},{"class":320,"style":321},[1129,1134,1139],{"type":267,"tag":318,"props":1130,"children":1131},{"style":404},[1132],{"type":272,"value":1133},"    statusMessage:",{"type":267,"tag":318,"props":1135,"children":1136},{"style":331},[1137],{"type":272,"value":1138}," 'Page not found'",{"type":267,"tag":318,"props":1140,"children":1141},{"style":393},[1142],{"type":272,"value":453},{"type":272,"value":398},{"type":267,"tag":318,"props":1145,"children":1146},{"class":320,"style":321},[1147,1152,1157],{"type":267,"tag":318,"props":1148,"children":1149},{"style":404},[1150],{"type":272,"value":1151},"    fatal:",{"type":267,"tag":318,"props":1153,"children":1154},{"style":977},[1155],{"type":272,"value":1156}," true",{"type":267,"tag":318,"props":1158,"children":1159},{"style":393},[1160],{"type":272,"value":453},{"type":272,"value":398},{"type":267,"tag":318,"props":1163,"children":1164},{"class":320,"style":321},[1165],{"type":267,"tag":318,"props":1166,"children":1167},{"style":393},[1168],{"type":272,"value":1169},"  })",{"type":272,"value":398},{"type":267,"tag":318,"props":1172,"children":1173},{"class":320,"style":321},[1174],{"type":267,"tag":318,"props":1175,"children":1176},{"style":393},[1177],{"type":272,"value":1178},"}",{"type":272,"value":398},{"type":267,"tag":318,"props":1181,"children":1182},{"class":320,"style":321},[1183,1188,1192],{"type":267,"tag":318,"props":1184,"children":1185},{"style":872},[1186],{"type":272,"value":1187},"\u003C\u002F",{"type":267,"tag":318,"props":1189,"children":1190},{"style":878},[1191],{"type":272,"value":881},{"type":267,"tag":318,"props":1193,"children":1194},{"style":872},[1195],{"type":272,"value":908},{"type":272,"value":398},{"type":267,"tag":318,"props":1198,"children":1199},{"class":320,"style":321},[],{"type":272,"value":398},{"type":267,"tag":318,"props":1202,"children":1203},{"class":320,"style":321},[1204,1208,1213],{"type":267,"tag":318,"props":1205,"children":1206},{"style":872},[1207],{"type":272,"value":875},{"type":267,"tag":318,"props":1209,"children":1210},{"style":878},[1211],{"type":272,"value":1212},"template",{"type":267,"tag":318,"props":1214,"children":1215},{"style":872},[1216],{"type":272,"value":908},{"type":272,"value":398},{"type":267,"tag":318,"props":1219,"children":1220},{"class":320,"style":321},[1221,1226,1230,1235,1239,1244,1249,1253,1257],{"type":267,"tag":318,"props":1222,"children":1223},{"style":872},[1224],{"type":272,"value":1225},"  \u003C",{"type":267,"tag":318,"props":1227,"children":1228},{"style":878},[1229],{"type":272,"value":633},{"type":267,"tag":318,"props":1231,"children":1232},{"style":884},[1233],{"type":272,"value":1234}," v-if",{"type":267,"tag":318,"props":1236,"children":1237},{"style":393},[1238],{"type":272,"value":897},{"type":267,"tag":318,"props":1240,"children":1241},{"style":900},[1242],{"type":272,"value":1243},"\"page\"",{"type":267,"tag":318,"props":1245,"children":1246},{"style":884},[1247],{"type":272,"value":1248}," :value",{"type":267,"tag":318,"props":1250,"children":1251},{"style":393},[1252],{"type":272,"value":897},{"type":267,"tag":318,"props":1254,"children":1255},{"style":900},[1256],{"type":272,"value":1243},{"type":267,"tag":318,"props":1258,"children":1259},{"style":872},[1260],{"type":272,"value":1261}," \u002F>",{"type":272,"value":398},{"type":267,"tag":318,"props":1264,"children":1265},{"class":320,"style":321},[1266,1270,1274],{"type":267,"tag":318,"props":1267,"children":1268},{"style":872},[1269],{"type":272,"value":1187},{"type":267,"tag":318,"props":1271,"children":1272},{"style":878},[1273],{"type":272,"value":1212},{"type":267,"tag":318,"props":1275,"children":1276},{"style":872},[1277],{"type":272,"value":908},{"type":267,"tag":268,"props":1279,"children":1280},{},[1281,1285,1287,1292],{"type":267,"tag":287,"props":1282,"children":1283},{},[1284],{"type":272,"value":633},{"type":272,"value":1286}," now forwards inherited Vue attributes exactly once, including\nits declared ",{"type":267,"tag":287,"props":1288,"children":1289},{},[1290],{"type":272,"value":1291},"class",{"type":272,"value":1293}," prop. Remove wrapper workarounds that existed only because\nthe renderer dropped that class.",{"type":267,"tag":341,"props":1295,"children":1297},{"id":1296},"from-03-to-04-_5-keep-server-configuration-private",[1298],{"type":272,"value":1299},"5. Keep server configuration private",{"type":267,"tag":268,"props":1301,"children":1302},{},[1303,1305,1310,1312,1317],{"type":272,"value":1304},"The public runtime projection now contains only client-owned query, search,\nlocale, render, and integrity facts. Code must not read provider module\nspecifiers, filesystem source\u002Fexclude patterns, CMS settings, agent definitions,\nschema inventories, or other server\u002Fbuild metadata from\n",{"type":267,"tag":287,"props":1306,"children":1307},{},[1308],{"type":272,"value":1309},"runtimeConfig.public.content",{"type":272,"value":1311},". Server integrations read the private\n",{"type":267,"tag":287,"props":1313,"children":1314},{},[1315],{"type":272,"value":1316},"runtimeConfig.content",{"type":272,"value":1318}," boundary or use a documented package API.",{"type":267,"tag":268,"props":1320,"children":1321},{},[1322],{"type":272,"value":1323},"This is a removal of accidental payload exposure, not a new compatibility\nbridge. Do not copy the removed server objects into another public config key.",{"type":267,"tag":341,"props":1325,"children":1327},{"id":1326},"from-03-to-04-_6-rebuild-generated-output",[1328],{"type":272,"value":1329},"6. Rebuild generated output",{"type":267,"tag":268,"props":1331,"children":1332},{},[1333],{"type":272,"value":1334},"Canonical Markdown normalization now closes over Comark task lists, table\nalignment, fenced-code metadata, named component slots, GFM alerts, and comment\ntuples. Comments never enter renderer, search, summary, portable, or agent text.\nTyped YAML values on MDC components now survive portable asset rewrite and\nreparse.",{"type":267,"tag":268,"props":1336,"children":1337},{},[1338],{"type":272,"value":1339},"The content cache format changed. Delete deployment\u002Fbuild caches and rebuild\ncontent snapshots and search indexes after upgrading. Portable document format\nv1 and the CMS wire format are unchanged; no portable-file migration is\nrequired.",{"type":267,"tag":341,"props":1341,"children":1343},{"id":1342},"from-03-to-04-_7-verify-the-exact-candidate",[1344],{"type":272,"value":1345},"7. Verify the exact candidate",{"type":267,"tag":268,"props":1347,"children":1348},{},[1349],{"type":272,"value":1350},"Run application type checks, production build\u002Fstatic generation, and browser\nnavigation tests against the installed prerelease. Exercise every enabled\noptional Markdown plugin in a production browser, not only in Node SSR. Provider,\ndata-source, and portability integrations should run their exported conformance\ncontracts against the same packed tarball.",{"type":267,"tag":275,"props":1352,"children":1354},{"id":1353},"from-02-to-03",[1355],{"type":272,"value":1356},"From 0.2 to 0.3",{"type":267,"tag":268,"props":1358,"children":1359},{},[1360,1362,1367,1369,1374],{"type":272,"value":1361},"Upgrade directly from ",{"type":267,"tag":287,"props":1363,"children":1364},{},[1365],{"type":272,"value":1366},"0.2.1",{"type":272,"value":1368}," to ",{"type":267,"tag":287,"props":1370,"children":1371},{},[1372],{"type":272,"value":1373},"0.3.0",{"type":272,"value":1375},"; there is no intermediate stable\nrelease.",{"type":267,"tag":341,"props":1377,"children":1379},{"id":1378},"from-02-to-03-_1-update-the-runtime",[1380],{"type":272,"value":1381},"1. Update the runtime",{"type":267,"tag":268,"props":1383,"children":1384},{},[1385],{"type":272,"value":1386},"Ginko Content now requires Node.js 22.18–22.x, 24.11–24.x, or 26+. Update\ndevelopment, CI, build, and production runtimes together before changing the\npackage version.",{"type":267,"tag":268,"props":1388,"children":1389},{},[1390],{"type":272,"value":1391},"Install the stable release:",{"type":267,"tag":308,"props":1393,"children":1394},{"language":310,"class":311},[1395],{"type":267,"tag":287,"props":1396,"children":1397},{"class":315},[1398],{"type":267,"tag":318,"props":1399,"children":1400},{"class":320,"style":321},[1401,1405,1409],{"type":267,"tag":318,"props":1402,"children":1403},{"style":325},[1404],{"type":272,"value":328},{"type":267,"tag":318,"props":1406,"children":1407},{"style":331},[1408],{"type":272,"value":334},{"type":267,"tag":318,"props":1410,"children":1411},{"style":331},[1412],{"type":272,"value":1413}," @lupinum\u002Fginko-content@0.3.0",{"type":267,"tag":268,"props":1415,"children":1416},{},[1417],{"type":272,"value":1418},"Pin the exact version when certifying a deployment, provider, or CMS consumer.",{"type":267,"tag":341,"props":1420,"children":1422},{"id":1421},"from-02-to-03-_2-replace-deleted-composables",[1423],{"type":272,"value":1424},"2. Replace deleted composables",{"type":267,"tag":268,"props":1426,"children":1427},{},[1428],{"type":272,"value":1429},"The app-facing composable surface is intentionally small:",{"type":267,"tag":1431,"props":1432,"children":1433},"ul",{},[1434,1445],{"type":267,"tag":1435,"props":1436,"children":1437},"li",{},[1438,1443],{"type":267,"tag":287,"props":1439,"children":1440},{},[1441],{"type":272,"value":1442},"useContentPage",{"type":272,"value":1444}," owns route-page loading and optional surroundings.",{"type":267,"tag":1435,"props":1446,"children":1447},{},[1448,1453],{"type":267,"tag":287,"props":1449,"children":1450},{},[1451],{"type":272,"value":1452},"useContentSearch",{"type":272,"value":1454}," owns headless search state and results.",{"type":267,"tag":268,"props":1456,"children":1457},{},[1458,1460,1465,1467,1472],{"type":272,"value":1459},"Replace the deleted list, navigation, pagination, backlink, surroundings, and\ndirect-read composables with the equivalent one-shot async query function from\n",{"type":267,"tag":287,"props":1461,"children":1462},{},[1463],{"type":272,"value":1464},"@lupinum\u002Fginko-content\u002Fclient",{"type":272,"value":1466},", paired with Nuxt's ",{"type":267,"tag":287,"props":1468,"children":1469},{},[1470],{"type":272,"value":1471},"useAsyncData",{"type":272,"value":858},{"type":267,"tag":308,"props":1474,"children":1475},{"language":366,"class":311},[1476],{"type":267,"tag":287,"props":1477,"children":1478},{"class":370},[1479,1518,1519,1547,1548,1551,1552,1594,1595,1607,1608,1663,1664,1671,1672,1675,1676,1716,1717,1729,1730,1759,1760],{"type":267,"tag":318,"props":1480,"children":1481},{"class":320,"style":321},[1482,1486,1490,1495,1500,1505,1509,1513],{"type":267,"tag":318,"props":1483,"children":1484},{"style":377},[1485],{"type":272,"value":917},{"type":267,"tag":318,"props":1487,"children":1488},{"style":393},[1489],{"type":272,"value":922},{"type":267,"tag":318,"props":1491,"children":1492},{"style":404},[1493],{"type":272,"value":1494},"many",{"type":267,"tag":318,"props":1496,"children":1497},{"style":393},[1498],{"type":272,"value":1499},", ",{"type":267,"tag":318,"props":1501,"children":1502},{"style":404},[1503],{"type":272,"value":1504},"navigation",{"type":267,"tag":318,"props":1506,"children":1507},{"style":393},[1508],{"type":272,"value":932},{"type":267,"tag":318,"props":1510,"children":1511},{"style":377},[1512],{"type":272,"value":937},{"type":267,"tag":318,"props":1514,"children":1515},{"style":331},[1516],{"type":272,"value":1517}," '@lupinum\u002Fginko-content\u002Fclient'",{"type":272,"value":398},{"type":267,"tag":318,"props":1520,"children":1521},{"class":320,"style":321},[1522,1526,1530,1535,1539,1543],{"type":267,"tag":318,"props":1523,"children":1524},{"style":377},[1525],{"type":272,"value":917},{"type":267,"tag":318,"props":1527,"children":1528},{"style":393},[1529],{"type":272,"value":922},{"type":267,"tag":318,"props":1531,"children":1532},{"style":404},[1533],{"type":272,"value":1534},"docs",{"type":267,"tag":318,"props":1536,"children":1537},{"style":393},[1538],{"type":272,"value":932},{"type":267,"tag":318,"props":1540,"children":1541},{"style":377},[1542],{"type":272,"value":937},{"type":267,"tag":318,"props":1544,"children":1545},{"style":331},[1546],{"type":272,"value":942},{"type":272,"value":398},{"type":267,"tag":318,"props":1549,"children":1550},{"class":320,"style":321},[],{"type":272,"value":398},{"type":267,"tag":318,"props":1553,"children":1554},{"class":320,"style":321},[1555,1559,1563,1568,1573,1577,1581,1585,1590],{"type":267,"tag":318,"props":1556,"children":1557},{"style":977},[1558],{"type":272,"value":1012},{"type":267,"tag":318,"props":1560,"children":1561},{"style":393},[1562],{"type":272,"value":922},{"type":267,"tag":318,"props":1564,"children":1565},{"style":404},[1566],{"type":272,"value":1567},"data",{"type":267,"tag":318,"props":1569,"children":1570},{"style":393},[1571],{"type":272,"value":1572},": ",{"type":267,"tag":318,"props":1574,"children":1575},{"style":1019},[1576],{"type":272,"value":927},{"type":267,"tag":318,"props":1578,"children":1579},{"style":393},[1580],{"type":272,"value":1027},{"type":267,"tag":318,"props":1582,"children":1583},{"style":377},[1584],{"type":272,"value":1032},{"type":267,"tag":318,"props":1586,"children":1587},{"style":325},[1588],{"type":272,"value":1589}," useAsyncData",{"type":267,"tag":318,"props":1591,"children":1592},{"style":393},[1593],{"type":272,"value":1042},{"type":272,"value":398},{"type":267,"tag":318,"props":1596,"children":1597},{"class":320,"style":321},[1598,1603],{"type":267,"tag":318,"props":1599,"children":1600},{"style":331},[1601],{"type":272,"value":1602},"  'docs:list'",{"type":267,"tag":318,"props":1604,"children":1605},{"style":393},[1606],{"type":272,"value":453},{"type":272,"value":398},{"type":267,"tag":318,"props":1609,"children":1610},{"class":320,"style":321},[1611,1616,1621,1626,1630,1634,1639,1644,1648,1653,1658],{"type":267,"tag":318,"props":1612,"children":1613},{"style":393},[1614],{"type":272,"value":1615},"  () ",{"type":267,"tag":318,"props":1617,"children":1618},{"style":977},[1619],{"type":272,"value":1620},"=>",{"type":267,"tag":318,"props":1622,"children":1623},{"style":325},[1624],{"type":272,"value":1625}," many",{"type":267,"tag":318,"props":1627,"children":1628},{"style":393},[1629],{"type":272,"value":1042},{"type":267,"tag":318,"props":1631,"children":1632},{"style":404},[1633],{"type":272,"value":1534},{"type":267,"tag":318,"props":1635,"children":1636},{"style":393},[1637],{"type":272,"value":1638},", { ",{"type":267,"tag":318,"props":1640,"children":1641},{"style":404},[1642],{"type":272,"value":1643},"sort:",{"type":267,"tag":318,"props":1645,"children":1646},{"style":393},[1647],{"type":272,"value":922},{"type":267,"tag":318,"props":1649,"children":1650},{"style":404},[1651],{"type":272,"value":1652},"order:",{"type":267,"tag":318,"props":1654,"children":1655},{"style":331},[1656],{"type":272,"value":1657}," 'asc'",{"type":267,"tag":318,"props":1659,"children":1660},{"style":393},[1661],{"type":272,"value":1662}," } }),",{"type":272,"value":398},{"type":267,"tag":318,"props":1665,"children":1666},{"class":320,"style":321},[1667],{"type":267,"tag":318,"props":1668,"children":1669},{"style":393},[1670],{"type":272,"value":1051},{"type":272,"value":398},{"type":267,"tag":318,"props":1673,"children":1674},{"class":320,"style":321},[],{"type":272,"value":398},{"type":267,"tag":318,"props":1677,"children":1678},{"class":320,"style":321},[1679,1683,1687,1691,1695,1700,1704,1708,1712],{"type":267,"tag":318,"props":1680,"children":1681},{"style":977},[1682],{"type":272,"value":1012},{"type":267,"tag":318,"props":1684,"children":1685},{"style":393},[1686],{"type":272,"value":922},{"type":267,"tag":318,"props":1688,"children":1689},{"style":404},[1690],{"type":272,"value":1567},{"type":267,"tag":318,"props":1692,"children":1693},{"style":393},[1694],{"type":272,"value":1572},{"type":267,"tag":318,"props":1696,"children":1697},{"style":1019},[1698],{"type":272,"value":1699},"tree",{"type":267,"tag":318,"props":1701,"children":1702},{"style":393},[1703],{"type":272,"value":1027},{"type":267,"tag":318,"props":1705,"children":1706},{"style":377},[1707],{"type":272,"value":1032},{"type":267,"tag":318,"props":1709,"children":1710},{"style":325},[1711],{"type":272,"value":1589},{"type":267,"tag":318,"props":1713,"children":1714},{"style":393},[1715],{"type":272,"value":1042},{"type":272,"value":398},{"type":267,"tag":318,"props":1718,"children":1719},{"class":320,"style":321},[1720,1725],{"type":267,"tag":318,"props":1721,"children":1722},{"style":331},[1723],{"type":272,"value":1724},"  'docs:navigation'",{"type":267,"tag":318,"props":1726,"children":1727},{"style":393},[1728],{"type":272,"value":453},{"type":272,"value":398},{"type":267,"tag":318,"props":1731,"children":1732},{"class":320,"style":321},[1733,1737,1741,1746,1750,1754],{"type":267,"tag":318,"props":1734,"children":1735},{"style":393},[1736],{"type":272,"value":1615},{"type":267,"tag":318,"props":1738,"children":1739},{"style":977},[1740],{"type":272,"value":1620},{"type":267,"tag":318,"props":1742,"children":1743},{"style":325},[1744],{"type":272,"value":1745}," navigation",{"type":267,"tag":318,"props":1747,"children":1748},{"style":393},[1749],{"type":272,"value":1042},{"type":267,"tag":318,"props":1751,"children":1752},{"style":404},[1753],{"type":272,"value":1534},{"type":267,"tag":318,"props":1755,"children":1756},{"style":393},[1757],{"type":272,"value":1758},"),",{"type":272,"value":398},{"type":267,"tag":318,"props":1761,"children":1762},{"class":320,"style":321},[1763],{"type":267,"tag":318,"props":1764,"children":1765},{"style":393},[1766],{"type":272,"value":1051},{"type":267,"tag":268,"props":1768,"children":1769},{},[1770,1772,1778],{"type":272,"value":1771},"The current helpers and their return types are in the\n",{"type":267,"tag":1773,"props":1774,"children":1775},"a",{"href":176},[1776],{"type":272,"value":1777},"composable API reference",{"type":272,"value":989},{"type":267,"tag":341,"props":1780,"children":1782},{"id":1781},"from-02-to-03-_3-read-canonical-route-facts",[1783],{"type":272,"value":1784},"3. Read canonical route facts",{"type":267,"tag":268,"props":1786,"children":1787},{},[1788,1790,1795,1797,1802,1804,1808,1809,1814,1816,1821],{"type":272,"value":1789},"Documents now expose route and localization facts through ",{"type":267,"tag":287,"props":1791,"children":1792},{},[1793],{"type":272,"value":1794},"route",{"type":272,"value":1796}," and\n",{"type":267,"tag":287,"props":1798,"children":1799},{},[1800],{"type":272,"value":1801},"resolution",{"type":272,"value":1803},". Replace reads of the former top-level ",{"type":267,"tag":287,"props":1805,"children":1806},{},[1807],{"type":272,"value":994},{"type":272,"value":1499},{"type":267,"tag":287,"props":1810,"children":1811},{},[1812],{"type":272,"value":1813},"localePaths",{"type":272,"value":1815},", and\n",{"type":267,"tag":287,"props":1817,"children":1818},{},[1819],{"type":272,"value":1820},"variants",{"type":272,"value":1822}," fields with the corresponding canonical facts. Do not reconstruct\nlocalized public paths in consumer UI or provider adapters.",{"type":267,"tag":1824,"props":1825,"children":1827},"h4",{"id":1826},"from-02-to-03-_3-read-canonical-route-facts-application-query-semantics-in-030",[1828],{"type":272,"value":1829},"Application query semantics in 0.3.0",{"type":267,"tag":268,"props":1831,"children":1832},{},[1833,1837,1839,1843,1845,1850,1851,1856],{"type":267,"tag":287,"props":1834,"children":1835},{},[1836],{"type":272,"value":1373},{"type":272,"value":1838}," makes the ",{"type":267,"tag":287,"props":1840,"children":1841},{},[1842],{"type":272,"value":994},{"type":272,"value":1844}," vocabulary in application queries canonical:\nmount-agnostic and locale-prefix-free. Paths remain locale-scoped when\ntranslated slugs are enabled. Both ",{"type":267,"tag":287,"props":1846,"children":1847},{},[1848],{"type":272,"value":1849},"by: { path }",{"type":272,"value":560},{"type":267,"tag":287,"props":1852,"children":1853},{},[1854],{"type":272,"value":1855},"where: { path }",{"type":272,"value":1857}," now\nexclude the collection's route mount. Remove the mount from every such value:",{"type":267,"tag":308,"props":1859,"children":1860},{"language":366,"class":311},[1861],{"type":267,"tag":287,"props":1862,"children":1863},{"class":370},[1864,1873,1874,1905,1906,1923,1924,1941,1942,1958,1959,2000,2001],{"type":267,"tag":318,"props":1865,"children":1866},{"class":320,"style":321},[1867],{"type":267,"tag":318,"props":1868,"children":1870},{"style":1869},"color:#008000;--shiki-dark:#6A9955",[1871],{"type":272,"value":1872},"\u002F\u002F content.config.ts",{"type":272,"value":398},{"type":267,"tag":318,"props":1875,"children":1876},{"class":320,"style":321},[1877,1881,1886,1891,1896,1901],{"type":267,"tag":318,"props":1878,"children":1879},{"style":377},[1880],{"type":272,"value":380},{"type":267,"tag":318,"props":1882,"children":1883},{"style":977},[1884],{"type":272,"value":1885}," const",{"type":267,"tag":318,"props":1887,"children":1888},{"style":1019},[1889],{"type":272,"value":1890}," docs",{"type":267,"tag":318,"props":1892,"children":1893},{"style":393},[1894],{"type":272,"value":1895}," = ",{"type":267,"tag":318,"props":1897,"children":1898},{"style":325},[1899],{"type":272,"value":1900},"defineCollection",{"type":267,"tag":318,"props":1902,"children":1903},{"style":393},[1904],{"type":272,"value":396},{"type":272,"value":398},{"type":267,"tag":318,"props":1907,"children":1908},{"class":320,"style":321},[1909,1914,1919],{"type":267,"tag":318,"props":1910,"children":1911},{"style":404},[1912],{"type":272,"value":1913},"  type:",{"type":267,"tag":318,"props":1915,"children":1916},{"style":331},[1917],{"type":272,"value":1918}," 'page'",{"type":267,"tag":318,"props":1920,"children":1921},{"style":393},[1922],{"type":272,"value":453},{"type":272,"value":398},{"type":267,"tag":318,"props":1925,"children":1926},{"class":320,"style":321},[1927,1932,1937],{"type":267,"tag":318,"props":1928,"children":1929},{"style":404},[1930],{"type":272,"value":1931},"  source:",{"type":267,"tag":318,"props":1933,"children":1934},{"style":331},[1935],{"type":272,"value":1936}," '*\u002F1.*\u002F**\u002F*.md'",{"type":267,"tag":318,"props":1938,"children":1939},{"style":393},[1940],{"type":272,"value":453},{"type":272,"value":398},{"type":267,"tag":318,"props":1943,"children":1944},{"class":320,"style":321},[1945,1950,1954],{"type":267,"tag":318,"props":1946,"children":1947},{"style":404},[1948],{"type":272,"value":1949},"  i18n:",{"type":267,"tag":318,"props":1951,"children":1952},{"style":977},[1953],{"type":272,"value":1156},{"type":267,"tag":318,"props":1955,"children":1956},{"style":393},[1957],{"type":272,"value":453},{"type":272,"value":398},{"type":267,"tag":318,"props":1960,"children":1961},{"class":320,"style":321},[1962,1967,1971,1976,1981,1985,1990,1995],{"type":267,"tag":318,"props":1963,"children":1964},{"style":404},[1965],{"type":272,"value":1966},"  route:",{"type":267,"tag":318,"props":1968,"children":1969},{"style":393},[1970],{"type":272,"value":922},{"type":267,"tag":318,"props":1972,"children":1973},{"style":404},[1974],{"type":272,"value":1975},"en:",{"type":267,"tag":318,"props":1977,"children":1978},{"style":331},[1979],{"type":272,"value":1980}," '\u002Fguide'",{"type":267,"tag":318,"props":1982,"children":1983},{"style":393},[1984],{"type":272,"value":1499},{"type":267,"tag":318,"props":1986,"children":1987},{"style":404},[1988],{"type":272,"value":1989},"de:",{"type":267,"tag":318,"props":1991,"children":1992},{"style":331},[1993],{"type":272,"value":1994}," '\u002Fleitfaden'",{"type":267,"tag":318,"props":1996,"children":1997},{"style":393},[1998],{"type":272,"value":1999}," },",{"type":272,"value":398},{"type":267,"tag":318,"props":2002,"children":2003},{"class":320,"style":321},[2004],{"type":267,"tag":318,"props":2005,"children":2006},{"style":393},[2007],{"type":272,"value":515},{"type":267,"tag":308,"props":2009,"children":2010},{"language":366,"class":311},[2011],{"type":267,"tag":287,"props":2012,"children":2013},{"class":370},[2014,2022,2023,2071,2072,2131,2132,2187,2188,2191,2192,2200,2201,2245,2246,2302,2303],{"type":267,"tag":318,"props":2015,"children":2016},{"class":320,"style":321},[2017],{"type":267,"tag":318,"props":2018,"children":2019},{"style":1869},[2020],{"type":272,"value":2021},"\u002F\u002F 0.3.0-rc.4",{"type":272,"value":398},{"type":267,"tag":318,"props":2024,"children":2025},{"class":320,"style":321},[2026,2030,2035,2039,2043,2047,2052,2056,2061,2066],{"type":267,"tag":318,"props":2027,"children":2028},{"style":377},[2029],{"type":272,"value":1032},{"type":267,"tag":318,"props":2031,"children":2032},{"style":325},[2033],{"type":272,"value":2034}," one",{"type":267,"tag":318,"props":2036,"children":2037},{"style":393},[2038],{"type":272,"value":1042},{"type":267,"tag":318,"props":2040,"children":2041},{"style":404},[2042],{"type":272,"value":1534},{"type":267,"tag":318,"props":2044,"children":2045},{"style":393},[2046],{"type":272,"value":1638},{"type":267,"tag":318,"props":2048,"children":2049},{"style":404},[2050],{"type":272,"value":2051},"by:",{"type":267,"tag":318,"props":2053,"children":2054},{"style":393},[2055],{"type":272,"value":922},{"type":267,"tag":318,"props":2057,"children":2058},{"style":404},[2059],{"type":272,"value":2060},"path:",{"type":267,"tag":318,"props":2062,"children":2063},{"style":331},[2064],{"type":272,"value":2065}," '\u002Fguide\u002Fgetting-started'",{"type":267,"tag":318,"props":2067,"children":2068},{"style":393},[2069],{"type":272,"value":2070}," } })",{"type":272,"value":398},{"type":267,"tag":318,"props":2073,"children":2074},{"class":320,"style":321},[2075,2079,2083,2087,2091,2095,2099,2103,2107,2112,2117,2122,2127],{"type":267,"tag":318,"props":2076,"children":2077},{"style":377},[2078],{"type":272,"value":1032},{"type":267,"tag":318,"props":2080,"children":2081},{"style":325},[2082],{"type":272,"value":2034},{"type":267,"tag":318,"props":2084,"children":2085},{"style":393},[2086],{"type":272,"value":1042},{"type":267,"tag":318,"props":2088,"children":2089},{"style":404},[2090],{"type":272,"value":1534},{"type":267,"tag":318,"props":2092,"children":2093},{"style":393},[2094],{"type":272,"value":1638},{"type":267,"tag":318,"props":2096,"children":2097},{"style":404},[2098],{"type":272,"value":2051},{"type":267,"tag":318,"props":2100,"children":2101},{"style":393},[2102],{"type":272,"value":922},{"type":267,"tag":318,"props":2104,"children":2105},{"style":404},[2106],{"type":272,"value":2060},{"type":267,"tag":318,"props":2108,"children":2109},{"style":331},[2110],{"type":272,"value":2111}," '\u002Fleitfaden\u002Ferste-schritte'",{"type":267,"tag":318,"props":2113,"children":2114},{"style":393},[2115],{"type":272,"value":2116}," }, ",{"type":267,"tag":318,"props":2118,"children":2119},{"style":404},[2120],{"type":272,"value":2121},"locale:",{"type":267,"tag":318,"props":2123,"children":2124},{"style":331},[2125],{"type":272,"value":2126}," 'de'",{"type":267,"tag":318,"props":2128,"children":2129},{"style":393},[2130],{"type":272,"value":999},{"type":272,"value":398},{"type":267,"tag":318,"props":2133,"children":2134},{"class":320,"style":321},[2135,2139,2143,2147,2151,2155,2160,2164,2168,2172,2177,2182],{"type":267,"tag":318,"props":2136,"children":2137},{"style":377},[2138],{"type":272,"value":1032},{"type":267,"tag":318,"props":2140,"children":2141},{"style":325},[2142],{"type":272,"value":1625},{"type":267,"tag":318,"props":2144,"children":2145},{"style":393},[2146],{"type":272,"value":1042},{"type":267,"tag":318,"props":2148,"children":2149},{"style":404},[2150],{"type":272,"value":1534},{"type":267,"tag":318,"props":2152,"children":2153},{"style":393},[2154],{"type":272,"value":1638},{"type":267,"tag":318,"props":2156,"children":2157},{"style":404},[2158],{"type":272,"value":2159},"where:",{"type":267,"tag":318,"props":2161,"children":2162},{"style":393},[2163],{"type":272,"value":922},{"type":267,"tag":318,"props":2165,"children":2166},{"style":404},[2167],{"type":272,"value":2060},{"type":267,"tag":318,"props":2169,"children":2170},{"style":393},[2171],{"type":272,"value":922},{"type":267,"tag":318,"props":2173,"children":2174},{"style":404},[2175],{"type":272,"value":2176},"$prefix:",{"type":267,"tag":318,"props":2178,"children":2179},{"style":331},[2180],{"type":272,"value":2181}," '\u002Fguide\u002Fdeep'",{"type":267,"tag":318,"props":2183,"children":2184},{"style":393},[2185],{"type":272,"value":2186}," } } })",{"type":272,"value":398},{"type":267,"tag":318,"props":2189,"children":2190},{"class":320,"style":321},[],{"type":272,"value":398},{"type":267,"tag":318,"props":2193,"children":2194},{"class":320,"style":321},[2195],{"type":267,"tag":318,"props":2196,"children":2197},{"style":1869},[2198],{"type":272,"value":2199},"\u002F\u002F 0.3.0",{"type":272,"value":398},{"type":267,"tag":318,"props":2202,"children":2203},{"class":320,"style":321},[2204,2208,2212,2216,2220,2224,2228,2232,2236,2241],{"type":267,"tag":318,"props":2205,"children":2206},{"style":377},[2207],{"type":272,"value":1032},{"type":267,"tag":318,"props":2209,"children":2210},{"style":325},[2211],{"type":272,"value":2034},{"type":267,"tag":318,"props":2213,"children":2214},{"style":393},[2215],{"type":272,"value":1042},{"type":267,"tag":318,"props":2217,"children":2218},{"style":404},[2219],{"type":272,"value":1534},{"type":267,"tag":318,"props":2221,"children":2222},{"style":393},[2223],{"type":272,"value":1638},{"type":267,"tag":318,"props":2225,"children":2226},{"style":404},[2227],{"type":272,"value":2051},{"type":267,"tag":318,"props":2229,"children":2230},{"style":393},[2231],{"type":272,"value":922},{"type":267,"tag":318,"props":2233,"children":2234},{"style":404},[2235],{"type":272,"value":2060},{"type":267,"tag":318,"props":2237,"children":2238},{"style":331},[2239],{"type":272,"value":2240}," '\u002Fgetting-started'",{"type":267,"tag":318,"props":2242,"children":2243},{"style":393},[2244],{"type":272,"value":2070},{"type":272,"value":398},{"type":267,"tag":318,"props":2247,"children":2248},{"class":320,"style":321},[2249,2253,2257,2261,2265,2269,2273,2277,2281,2286,2290,2294,2298],{"type":267,"tag":318,"props":2250,"children":2251},{"style":377},[2252],{"type":272,"value":1032},{"type":267,"tag":318,"props":2254,"children":2255},{"style":325},[2256],{"type":272,"value":2034},{"type":267,"tag":318,"props":2258,"children":2259},{"style":393},[2260],{"type":272,"value":1042},{"type":267,"tag":318,"props":2262,"children":2263},{"style":404},[2264],{"type":272,"value":1534},{"type":267,"tag":318,"props":2266,"children":2267},{"style":393},[2268],{"type":272,"value":1638},{"type":267,"tag":318,"props":2270,"children":2271},{"style":404},[2272],{"type":272,"value":2051},{"type":267,"tag":318,"props":2274,"children":2275},{"style":393},[2276],{"type":272,"value":922},{"type":267,"tag":318,"props":2278,"children":2279},{"style":404},[2280],{"type":272,"value":2060},{"type":267,"tag":318,"props":2282,"children":2283},{"style":331},[2284],{"type":272,"value":2285}," '\u002Ferste-schritte'",{"type":267,"tag":318,"props":2287,"children":2288},{"style":393},[2289],{"type":272,"value":2116},{"type":267,"tag":318,"props":2291,"children":2292},{"style":404},[2293],{"type":272,"value":2121},{"type":267,"tag":318,"props":2295,"children":2296},{"style":331},[2297],{"type":272,"value":2126},{"type":267,"tag":318,"props":2299,"children":2300},{"style":393},[2301],{"type":272,"value":999},{"type":272,"value":398},{"type":267,"tag":318,"props":2304,"children":2305},{"class":320,"style":321},[2306,2310,2314,2318,2322,2326,2330,2334,2338,2342,2346,2351],{"type":267,"tag":318,"props":2307,"children":2308},{"style":377},[2309],{"type":272,"value":1032},{"type":267,"tag":318,"props":2311,"children":2312},{"style":325},[2313],{"type":272,"value":1625},{"type":267,"tag":318,"props":2315,"children":2316},{"style":393},[2317],{"type":272,"value":1042},{"type":267,"tag":318,"props":2319,"children":2320},{"style":404},[2321],{"type":272,"value":1534},{"type":267,"tag":318,"props":2323,"children":2324},{"style":393},[2325],{"type":272,"value":1638},{"type":267,"tag":318,"props":2327,"children":2328},{"style":404},[2329],{"type":272,"value":2159},{"type":267,"tag":318,"props":2331,"children":2332},{"style":393},[2333],{"type":272,"value":922},{"type":267,"tag":318,"props":2335,"children":2336},{"style":404},[2337],{"type":272,"value":2060},{"type":267,"tag":318,"props":2339,"children":2340},{"style":393},[2341],{"type":272,"value":922},{"type":267,"tag":318,"props":2343,"children":2344},{"style":404},[2345],{"type":272,"value":2176},{"type":267,"tag":318,"props":2347,"children":2348},{"style":331},[2349],{"type":272,"value":2350}," '\u002Fdeep'",{"type":267,"tag":318,"props":2352,"children":2353},{"style":393},[2354],{"type":272,"value":2186},{"type":267,"tag":268,"props":2356,"children":2357},{},[2358,2360,2365],{"type":272,"value":2359},"A collection's index document is canonical ",{"type":267,"tag":287,"props":2361,"children":2362},{},[2363],{"type":272,"value":2364},"\u002F",{"type":272,"value":2366}," in every locale, not the\nmounted directory name.",{"type":267,"tag":268,"props":2368,"children":2369},{},[2370,2372,2377,2379,2384,2386,2391,2392,2397,2399,2404,2406,2411,2413,2417],{"type":272,"value":2371},"Stale mounted values do not raise an error. They select no document.\n",{"type":267,"tag":287,"props":2373,"children":2374},{},[2375],{"type":272,"value":2376},"one()",{"type":272,"value":2378}," returns ",{"type":267,"tag":287,"props":2380,"children":2381},{},[2382],{"type":272,"value":2383},"null",{"type":272,"value":2385},", and ",{"type":267,"tag":287,"props":2387,"children":2388},{},[2389],{"type":272,"value":2390},"many()",{"type":272,"value":2378},{"type":267,"tag":287,"props":2393,"children":2394},{},[2395],{"type":272,"value":2396},"[]",{"type":272,"value":2398},". Offset pagination returns\nan empty page with ",{"type":267,"tag":287,"props":2400,"children":2401},{},[2402],{"type":272,"value":2403},"total: 0",{"type":272,"value":2405},". Cursor pagination returns an empty page without\na ",{"type":267,"tag":287,"props":2407,"children":2408},{},[2409],{"type":272,"value":2410},"total",{"type":272,"value":2412}," field. In development and during prerender, a ",{"type":267,"tag":287,"props":2414,"children":2415},{},[2416],{"type":272,"value":1849},{"type":272,"value":2418}," miss on\na value shaped like the collection mount logs an advisory hint naming the\ncanonical form; production is silent.",{"type":267,"tag":268,"props":2420,"children":2421},{},[2422,2427,2429,2434],{"type":267,"tag":287,"props":2423,"children":2424},{},[2425],{"type":272,"value":2426},"by: { route }",{"type":272,"value":2428}," is unchanged. It still takes the public application URL\nincluding the collection mount and the locale prefix, so\n",{"type":267,"tag":287,"props":2430,"children":2431},{},[2432],{"type":272,"value":2433},"by: { route: '\u002Fde\u002Fleitfaden\u002Ferste-schritte' }",{"type":272,"value":2435}," keeps working exactly as\nbefore. Prefer it whenever you already hold a browser URL.",{"type":267,"tag":268,"props":2437,"children":2438},{},[2439,2441,2446,2448,2452,2454,2458],{"type":272,"value":2440},"Filesystem ",{"type":267,"tag":287,"props":2442,"children":2443},{},[2444],{"type":272,"value":2445},"canonicalKey",{"type":272,"value":2447}," values follow the same rule and are generated after\nremoving the configured source mount, so a key such as ",{"type":267,"tag":287,"props":2449,"children":2450},{},[2451],{"type":272,"value":16},{"type":272,"value":2453}," becomes ",{"type":267,"tag":287,"props":2455,"children":2456},{},[2457],{"type":272,"value":7},{"type":272,"value":2459},".\nRebuild stored snapshots and any prerelease fixtures that persisted\nfilesystem-generated keys.",{"type":267,"tag":341,"props":2461,"children":2463},{"id":2462},"from-02-to-03-_4-migrate-providers-and-data-sources",[2464],{"type":272,"value":2465},"4. Migrate providers and data sources",{"type":267,"tag":268,"props":2467,"children":2468},{},[2469,2471,2476,2478,2483,2485,2490],{"type":272,"value":2470},"Existing H3-facing providers remain behind ",{"type":267,"tag":287,"props":2472,"children":2473},{},[2474],{"type":272,"value":2475},"@lupinum\u002Fginko-content\u002Fprovider",{"type":272,"value":2477},".\nBackend-neutral CMS or remote sources can implement the bounded\n",{"type":267,"tag":287,"props":2479,"children":2480},{},[2481],{"type":272,"value":2482},"ContentDataSource",{"type":272,"value":2484}," contract from ",{"type":267,"tag":287,"props":2486,"children":2487},{},[2488],{"type":272,"value":2489},"@lupinum\u002Fginko-content\u002Fdata-source",{"type":272,"value":2491},"; the Ginko\nbinder owns timeouts, bounds, validation, cache hints, and public projection.",{"type":267,"tag":268,"props":2493,"children":2494},{},[2495],{"type":272,"value":2496},"Run the exported provider or data-source conformance contract against the real\nadapter fixtures before release. Capabilities remain runtime truth: advertise\nonly operators and pagination modes the adapter implements.",{"type":267,"tag":1824,"props":2498,"children":2500},{"id":2499},"from-02-to-03-_4-migrate-providers-and-data-sources-provider-wire-v3-in-030-rc4",[2501],{"type":272,"value":2502},"Provider wire v3 in 0.3.0-rc.4",{"type":267,"tag":268,"props":2504,"children":2505},{},[2506,2511],{"type":267,"tag":287,"props":2507,"children":2508},{},[2509],{"type":272,"value":2510},"0.3.0-rc.4",{"type":272,"value":2512}," hard-cuts the prerelease provider query wire to v3. Providers must\nrecompile against the rc.4 types; Ginko does not negotiate or dispatch v2.",{"type":267,"tag":1431,"props":2514,"children":2515},{},[2516,2534,2560,2599,2604,2634,2658,2676],{"type":267,"tag":1435,"props":2517,"children":2518},{},[2519,2521,2526,2528,2533],{"type":272,"value":2520},"Advertise and execute ",{"type":267,"tag":287,"props":2522,"children":2523},{},[2524],{"type":272,"value":2525},"$nin",{"type":272,"value":2527}," directly. It is no longer represented as a\nstructural negation of ",{"type":267,"tag":287,"props":2529,"children":2530},{},[2531],{"type":272,"value":2532},"$in",{"type":272,"value":989},{"type":267,"tag":1435,"props":2535,"children":2536},{},[2537,2539,2544,2546,2551,2553,2558],{"type":272,"value":2538},"Return complete raw ",{"type":267,"tag":287,"props":2540,"children":2541},{},[2542],{"type":272,"value":2543},"ProviderDocumentInput",{"type":272,"value":2545}," identity and route facts even\nwhen the query carries ",{"type":267,"tag":287,"props":2547,"children":2548},{},[2549],{"type":272,"value":2550},"only",{"type":272,"value":2552}," or ",{"type":267,"tag":287,"props":2554,"children":2555},{},[2556],{"type":272,"value":2557},"without",{"type":272,"value":2559},". Core validates the raw document\nbefore applying the public projection.",{"type":267,"tag":1435,"props":2561,"children":2562},{},[2563,2565,2570,2572,2577,2579,2584,2586,2590,2592,2597],{"type":272,"value":2564},"Return ",{"type":267,"tag":287,"props":2566,"children":2567},{},[2568],{"type":272,"value":2569},"{ result: undefined }",{"type":272,"value":2571}," for a missing in-process ",{"type":267,"tag":287,"props":2573,"children":2574},{},[2575],{"type":272,"value":2576},"first",{"type":272,"value":2578}," result.\n",{"type":267,"tag":287,"props":2580,"children":2581},{},[2582],{"type":272,"value":2583},"{ result: null }",{"type":272,"value":2585}," is invalid at the provider seam; the public application\nand HTTP boundary maps a missing single result to ",{"type":267,"tag":287,"props":2587,"children":2588},{},[2589],{"type":272,"value":2583},{"type":272,"value":2591},".\nThe HTTP response is always ",{"type":267,"tag":287,"props":2593,"children":2594},{},[2595],{"type":272,"value":2596},"200 application\u002Fjson",{"type":272,"value":2598}," with the full envelope;\nan empty body is an invalid transport response rather than a missing result.",{"type":267,"tag":1435,"props":2600,"children":2601},{},[2602],{"type":272,"value":2603},"Use the closed, non-generic provider query and site-data envelopes and closed\ncapability declarations.",{"type":267,"tag":1435,"props":2605,"children":2606},{},[2607,2608,2613,2615,2620,2622,2626,2627,2632],{"type":272,"value":2564},{"type":267,"tag":287,"props":2609,"children":2610},{},[2611],{"type":272,"value":2612},"{ data, updatedAt? }",{"type":272,"value":2614}," from provider ",{"type":267,"tag":287,"props":2616,"children":2617},{},[2618],{"type":272,"value":2619},"siteData()",{"type":272,"value":2621}," implementations.\nRemove provider response echoes of ",{"type":267,"tag":287,"props":2623,"children":2624},{},[2625],{"type":272,"value":965},{"type":272,"value":560},{"type":267,"tag":287,"props":2628,"children":2629},{},[2630],{"type":272,"value":2631},"locale",{"type":272,"value":2633},"; Ginko derives them\nfrom the request. Data sources continue to echo both values for binder\nvalidation.",{"type":267,"tag":1435,"props":2635,"children":2636},{},[2637,2639,2644,2645,2650,2652,2657],{"type":272,"value":2638},"Read ordinary slice pagination from top-level ",{"type":267,"tag":287,"props":2640,"children":2641},{},[2642],{"type":272,"value":2643},"plan.skip",{"type":272,"value":560},{"type":267,"tag":287,"props":2646,"children":2647},{},[2648],{"type":272,"value":2649},"plan.limit",{"type":272,"value":2651},".\nExplicit offset\u002Fcursor pagination is carried separately in ",{"type":267,"tag":287,"props":2653,"children":2654},{},[2655],{"type":272,"value":2656},"plan.paging",{"type":272,"value":989},{"type":267,"tag":1435,"props":2659,"children":2660},{},[2661,2663,2668,2670,2675],{"type":272,"value":2662},"Route\u002Freference queries retain raw ",{"type":267,"tag":287,"props":2664,"children":2665},{},[2666],{"type":272,"value":2667},"plan.resolveVariant",{"type":272,"value":2669}," and also carry the\nclosed provider selector in ",{"type":267,"tag":287,"props":2671,"children":2672},{},[2673],{"type":272,"value":2674},"plan.variantSelector",{"type":272,"value":989},{"type":267,"tag":1435,"props":2677,"children":2678},{},[2679],{"type":272,"value":2680},"Preserve provider order when no sort is supplied and reject unsupported or\nnon-JSON query shapes, including unsafe regular-expression flags.",{"type":267,"tag":268,"props":2682,"children":2683},{},[2684],{"type":272,"value":2685},"There is no compatibility adapter. Delete v2-specific provider fixtures and\nupdate conformance probes so each advertised operator matches a nonempty exact\nsubset rather than merely returning successfully.",{"type":267,"tag":1824,"props":2687,"children":2689},{"id":2688},"from-02-to-03-_4-migrate-providers-and-data-sources-provider-wire-v4-in-030",[2690],{"type":272,"value":2691},"Provider wire v4 in 0.3.0",{"type":267,"tag":268,"props":2693,"children":2694},{},[2695,2699],{"type":267,"tag":287,"props":2696,"children":2697},{},[2698],{"type":272,"value":1373},{"type":272,"value":2700}," hard-cuts provider wire v3 to v4. There is no v3 dispatcher or\ncompatibility adapter.",{"type":267,"tag":1431,"props":2702,"children":2703},{},[2704,2722,2752,2784,2802,2818,2830,2841,2853,2865,2889,2905,2917],{"type":267,"tag":1435,"props":2705,"children":2706},{},[2707,2709,2714,2716,2721],{"type":272,"value":2708},"Import ",{"type":267,"tag":287,"props":2710,"children":2711},{},[2712],{"type":272,"value":2713},"ContentProviderQueryPlan",{"type":272,"value":2715}," instead of ",{"type":267,"tag":287,"props":2717,"children":2718},{},[2719],{"type":272,"value":2720},"ContentQueryPlan",{"type":272,"value":989},{"type":267,"tag":1435,"props":2723,"children":2724},{},[2725,2727,2732,2734,2739,2740,2745,2746,2750],{"type":272,"value":2726},"Read all pagination from ",{"type":267,"tag":287,"props":2728,"children":2729},{},[2730],{"type":272,"value":2731},"plan.pagination",{"type":272,"value":2733},"; top-level ",{"type":267,"tag":287,"props":2735,"children":2736},{},[2737],{"type":272,"value":2738},"skip",{"type":272,"value":2364},{"type":267,"tag":287,"props":2741,"children":2742},{},[2743],{"type":272,"value":2744},"limit",{"type":272,"value":1796},{"type":267,"tag":287,"props":2747,"children":2748},{},[2749],{"type":272,"value":2656},{"type":272,"value":2751}," are removed.",{"type":267,"tag":1435,"props":2753,"children":2754},{},[2755,2757,2762,2764,2769,2771,2776,2777,2782],{"type":272,"value":2756},"Pattern-match ",{"type":267,"tag":287,"props":2758,"children":2759},{},[2760],{"type":272,"value":2761},"plan.variant.by",{"type":272,"value":2763},". Path selectors carry ",{"type":267,"tag":287,"props":2765,"children":2766},{},[2767],{"type":272,"value":2768},"by: 'path'",{"type":272,"value":2770},"; route\nselectors carry ordered mounted candidates; reference selectors carry the\nresolved locale chain. Raw ",{"type":267,"tag":287,"props":2772,"children":2773},{},[2774],{"type":272,"value":2775},"resolveVariant",{"type":272,"value":560},{"type":267,"tag":287,"props":2778,"children":2779},{},[2780],{"type":272,"value":2781},"variantSelector",{"type":272,"value":2783}," fields no\nlonger cross the provider boundary.",{"type":267,"tag":1435,"props":2785,"children":2786},{},[2787,2788,2793,2795,2800],{"type":272,"value":628},{"type":267,"tag":287,"props":2789,"children":2790},{},[2791],{"type":272,"value":2792},"toContentProviderQuery()",{"type":272,"value":2794}," only for context-free filters, explicit\nfallback chains, and mounted ",{"type":267,"tag":287,"props":2796,"children":2797},{},[2798],{"type":272,"value":2799},"providerPath",{"type":272,"value":2801}," selectors. Application\npath\u002Froute\u002Freference requests are closed by\nruntime dispatch because the public helper has no collection route policy.",{"type":267,"tag":1435,"props":2803,"children":2804},{},[2805,2806,2810,2812,2817],{"type":272,"value":2564},{"type":267,"tag":287,"props":2807,"children":2808},{},[2809],{"type":272,"value":2445},{"type":272,"value":2811}," on every provider document. Core no longer derives\ncanonical identity from the mounted ",{"type":267,"tag":287,"props":2813,"children":2814},{},[2815],{"type":272,"value":2816},"contentPath",{"type":272,"value":989},{"type":267,"tag":1435,"props":2819,"children":2820},{},[2821,2823,2828],{"type":272,"value":2822},"Read navigation locale and fallback only from ",{"type":267,"tag":287,"props":2824,"children":2825},{},[2826],{"type":272,"value":2827},"query.plan.resolveLocale",{"type":272,"value":2829},";\nthe separate navigation options argument is removed.",{"type":267,"tag":1435,"props":2831,"children":2832},{},[2833,2835,2839],{"type":272,"value":2834},"Treat every provider ",{"type":267,"tag":287,"props":2836,"children":2837},{},[2838],{"type":272,"value":2816},{"type":272,"value":2840}," as collection-mounted and locale-specific,\nbut never application-locale-prefixed.",{"type":267,"tag":1435,"props":2842,"children":2843},{},[2844,2846,2851],{"type":272,"value":2845},"Stop importing ",{"type":267,"tag":287,"props":2847,"children":2848},{},[2849],{"type":272,"value":2850},"longestMountForPath",{"type":272,"value":2852}," from the CMS contract. Route lowering\nvalidates the resolved locale's configured mount and no longer guesses a\nmount from another locale.",{"type":267,"tag":1435,"props":2854,"children":2855},{},[2856,2858,2863],{"type":272,"value":2857},"Localized route objects must contain exactly one entry for every configured\ncollection locale and no unknown keys. Use a route string when every locale\nshares one mount. Unlocalized collections use a string or ",{"type":267,"tag":287,"props":2859,"children":2860},{},[2861],{"type":272,"value":2862},"{ default: ... }",{"type":272,"value":2864},".\nEvery mount must be a leading-slash, site-relative path without traversal,\nquery, fragment, or URL syntax.",{"type":267,"tag":1435,"props":2866,"children":2867},{},[2868,2873,2875,2880,2882,2887],{"type":267,"tag":287,"props":2869,"children":2870},{},[2871],{"type":272,"value":2872},"getCollectionPath()",{"type":272,"value":2874}," remains a pure collection-handle helper and cannot see\nmodule-level locale policy inherited through ",{"type":267,"tag":287,"props":2876,"children":2877},{},[2878],{"type":272,"value":2879},"i18n: true",{"type":272,"value":2881},". Use the explicit\ncollection-local ",{"type":267,"tag":287,"props":2883,"children":2884},{},[2885],{"type":272,"value":2886},"i18n: { locales, defaultLocale }",{"type":272,"value":2888}," form for collections\npassed to this helper.",{"type":267,"tag":1435,"props":2890,"children":2891},{},[2892,2893,2897,2899,2903],{"type":272,"value":2440},{"type":267,"tag":287,"props":2894,"children":2895},{},[2896],{"type":272,"value":2445},{"type":272,"value":2898}," values are now generated after removing the\nconfigured source mount, matching the mount-agnostic internal ",{"type":267,"tag":287,"props":2900,"children":2901},{},[2902],{"type":272,"value":994},{"type":272,"value":2904},". This is\nthe same rule application queries follow; see \"Application query semantics in\n0.3.0\" above.",{"type":267,"tag":1435,"props":2906,"children":2907},{},[2908,2910,2915],{"type":272,"value":2909},"Navigation queries require a named collection. ",{"type":267,"tag":287,"props":2911,"children":2912},{},[2913],{"type":272,"value":2914},".navigation.yml",{"type":272,"value":2916}," files stay\ncollection-neutral during ingestion and are joined to actual collection\npages while building navigation.",{"type":267,"tag":1435,"props":2918,"children":2919},{},[2920,2922,2926],{"type":272,"value":2921},"Provider wire plans and graph-executor plans are separate phases. Providers\ncontinue importing only ",{"type":267,"tag":287,"props":2923,"children":2924},{},[2925],{"type":272,"value":2713},{"type":272,"value":2927},"; no internal canonical\nplan type is public.",{"type":267,"tag":268,"props":2929,"children":2930},{},[2931],{"type":272,"value":2932},"Every v4 query must survive an exact JSON round trip. Recompile providers\nagainst 0.3.0 and update conformance fixtures to construct already-closed\nroute\u002Freference selectors.",{"type":267,"tag":1824,"props":2934,"children":2936},{"id":2935},"from-02-to-03-_4-migrate-providers-and-data-sources-reference-metadata-in-030",[2937],{"type":272,"value":2938},"Reference metadata in 0.3.0",{"type":267,"tag":268,"props":2940,"children":2941},{},[2942,2947,2949,2954,2956,2961,2963,2968],{"type":267,"tag":287,"props":2943,"children":2944},{},[2945],{"type":272,"value":2946},"CONTENT_REFERENCE_PREFIX",{"type":272,"value":2948}," and description-based reference detection are\nremoved. A schema manually authored as\n",{"type":267,"tag":287,"props":2950,"children":2951},{},[2952],{"type":272,"value":2953},".describe(\"__nuxt_content_ref__:authors\")",{"type":272,"value":2955}," is now an ordinary human\ndescription. Replace it with ",{"type":267,"tag":287,"props":2957,"children":2958},{},[2959],{"type":272,"value":2960},"reference('authors')",{"type":272,"value":2962}," or\n",{"type":267,"tag":287,"props":2964,"children":2965},{},[2966],{"type":272,"value":2967},"withContentReferenceMetadata(schema, 'authors')",{"type":272,"value":989},{"type":267,"tag":268,"props":2970,"children":2971},{},[2972,2977,2979,2984,2985,2990,2992,2997,2998,3003],{"type":267,"tag":287,"props":2973,"children":2974},{},[2975],{"type":272,"value":2976},"CONTENT_REFERENCE_METADATA_KEY",{"type":272,"value":2978}," also changes value, from\n",{"type":267,"tag":287,"props":2980,"children":2981},{},[2982],{"type":272,"value":2983},"\"__nuxt_content_ref__:\"",{"type":272,"value":1368},{"type":267,"tag":287,"props":2986,"children":2987},{},[2988],{"type":272,"value":2989},"\"ginko:contentReference\"",{"type":272,"value":2991},". This only affects\nschemas that wrote the metadata key literally; ",{"type":267,"tag":287,"props":2993,"children":2994},{},[2995],{"type":272,"value":2996},"reference()",{"type":272,"value":1796},{"type":267,"tag":287,"props":2999,"children":3000},{},[3001],{"type":272,"value":3002},"withContentReferenceMetadata()",{"type":272,"value":3004}," are unaffected. Descriptions never carry\nreference semantics under either spelling.",{"type":267,"tag":1824,"props":3006,"children":3008},{"id":3007},"from-02-to-03-_4-migrate-providers-and-data-sources-public-query-vocabulary-in-030-rc4",[3009],{"type":272,"value":3010},"Public query vocabulary in 0.3.0-rc.4",{"type":267,"tag":1431,"props":3012,"children":3013},{},[3014,3040,3058,3076],{"type":267,"tag":1435,"props":3015,"children":3016},{},[3017,3019,3024,3026,3031,3033,3038],{"type":272,"value":3018},"Replace a bare locale fallback such as ",{"type":267,"tag":287,"props":3020,"children":3021},{},[3022],{"type":272,"value":3023},"fallback: 'en'",{"type":272,"value":3025}," with\n",{"type":267,"tag":287,"props":3027,"children":3028},{},[3029],{"type":272,"value":3030},"fallback: ['en']",{"type":272,"value":3032},". Keep ",{"type":267,"tag":287,"props":3034,"children":3035},{},[3036],{"type":272,"value":3037},"'default'",{"type":272,"value":3039}," when the collection default is intended.",{"type":267,"tag":1435,"props":3041,"children":3042},{},[3043,3045,3050,3052,3057],{"type":272,"value":3044},"Replace field-level negation such as\n",{"type":267,"tag":287,"props":3046,"children":3047},{},[3048],{"type":272,"value":3049},"{ status: { $not: { $eq: 'draft' } } }",{"type":272,"value":3051}," with logical negation:\n",{"type":267,"tag":287,"props":3053,"children":3054},{},[3055],{"type":272,"value":3056},"{ $not: { status: { $eq: 'draft' } } }",{"type":272,"value":989},{"type":267,"tag":1435,"props":3059,"children":3060},{},[3061,3063,3068,3069,3074],{"type":272,"value":3062},"Replace public numeric sort directions with ",{"type":267,"tag":287,"props":3064,"children":3065},{},[3066],{"type":272,"value":3067},"asc",{"type":272,"value":560},{"type":267,"tag":287,"props":3070,"children":3071},{},[3072],{"type":272,"value":3073},"desc",{"type":272,"value":3075},". Numeric\ndirections remain an internal provider-wire detail.",{"type":267,"tag":1435,"props":3077,"children":3078},{},[3079,3080,3085,3087,3092,3094,3099,3100,3105,3107,3112],{"type":272,"value":2708},{"type":267,"tag":287,"props":3081,"children":3082},{},[3083],{"type":272,"value":3084},"LocalizedContentDocument",{"type":272,"value":3086}," instead of the removed ",{"type":267,"tag":287,"props":3088,"children":3089},{},[3090],{"type":272,"value":3091},"LocalizedDoc",{"type":272,"value":3093},"\nalias. Use ",{"type":267,"tag":287,"props":3095,"children":3096},{},[3097],{"type":272,"value":3098},"ContentCollectionName",{"type":272,"value":2552},{"type":267,"tag":287,"props":3101,"children":3102},{},[3103],{"type":272,"value":3104},"ContentCollectionTarget",{"type":272,"value":3106}," instead of\nthe removed ",{"type":267,"tag":287,"props":3108,"children":3109},{},[3110],{"type":272,"value":3111},"ContentCollectionStringName",{"type":272,"value":3113}," alias.",{"type":267,"tag":341,"props":3115,"children":3117},{"id":3116},"from-02-to-03-_5-replace-the-removed-cms-importer",[3118],{"type":272,"value":3119},"5. Replace the removed CMS importer",{"type":267,"tag":268,"props":3121,"children":3122},{},[3123,3128],{"type":267,"tag":287,"props":3124,"children":3125},{},[3126],{"type":272,"value":3127},"@lupinum\u002Fginko-content\u002Fcms-import",{"type":272,"value":3129}," is removed without a compatibility shim.\nIt duplicated mapping decisions that now belong to the portable contract.",{"type":267,"tag":1431,"props":3131,"children":3132},{},[3133,3144,3155],{"type":267,"tag":1435,"props":3134,"children":3135},{},[3136,3137,3142],{"type":272,"value":628},{"type":267,"tag":287,"props":3138,"children":3139},{},[3140],{"type":272,"value":3141},"@lupinum\u002Fginko-content\u002Fportability",{"type":272,"value":3143}," for portable documents, codecs,\nvalidation, references, assets, manifests, and semantic comparison.",{"type":267,"tag":1435,"props":3145,"children":3146},{},[3147,3148,3153],{"type":272,"value":628},{"type":267,"tag":287,"props":3149,"children":3150},{},[3151],{"type":272,"value":3152},"@lupinum\u002Fginko-content\u002Fportability\u002Fnode",{"type":272,"value":3154}," for bounded directory reads and\nwrites.",{"type":267,"tag":1435,"props":3156,"children":3157},{},[3158],{"type":272,"value":3159},"Keep authorization, workflow, transactions, receipts, and cleanup in Ginko\nCMS or another consumer-owned adapter.",{"type":267,"tag":268,"props":3161,"children":3162},{},[3163],{"type":272,"value":3164},"Certify the CMS integration against the exact candidate tarball and record its\nSHA-256. A source-workspace import does not prove package compatibility.",{"type":267,"tag":341,"props":3166,"children":3168},{"id":3167},"from-02-to-03-_6-rebuild-search-and-enable-validation-deliberately",[3169],{"type":272,"value":3170},"6. Rebuild search and enable validation deliberately",{"type":267,"tag":268,"props":3172,"children":3173},{},[3174],{"type":272,"value":3175},"Rebuild generated search output after upgrading. Pagefind now emits a locale\nmanifest and locale-specific indexes; MiniSearch uses explicit immutable index\nownership. Both return plain-text excerpts so highlighting remains consumer-owned.",{"type":267,"tag":268,"props":3177,"children":3178},{},[3179],{"type":272,"value":3180},"Content validation defaults to report-only:",{"type":267,"tag":308,"props":3182,"children":3183},{"language":366,"class":311},[3184],{"type":267,"tag":287,"props":3185,"children":3186},{"class":370},[3187,3206,3207,3218,3219,3236,3237,3244,3245],{"type":267,"tag":318,"props":3188,"children":3189},{"class":320,"style":321},[3190,3194,3198,3202],{"type":267,"tag":318,"props":3191,"children":3192},{"style":377},[3193],{"type":272,"value":380},{"type":267,"tag":318,"props":3195,"children":3196},{"style":377},[3197],{"type":272,"value":385},{"type":267,"tag":318,"props":3199,"children":3200},{"style":325},[3201],{"type":272,"value":390},{"type":267,"tag":318,"props":3203,"children":3204},{"style":393},[3205],{"type":272,"value":396},{"type":272,"value":398},{"type":267,"tag":318,"props":3208,"children":3209},{"class":320,"style":321},[3210,3214],{"type":267,"tag":318,"props":3211,"children":3212},{"style":404},[3213],{"type":272,"value":407},{"type":267,"tag":318,"props":3215,"children":3216},{"style":393},[3217],{"type":272,"value":412},{"type":272,"value":398},{"type":267,"tag":318,"props":3220,"children":3221},{"class":320,"style":321},[3222,3227,3232],{"type":267,"tag":318,"props":3223,"children":3224},{"style":404},[3225],{"type":272,"value":3226},"    validation:",{"type":267,"tag":318,"props":3228,"children":3229},{"style":331},[3230],{"type":272,"value":3231}," 'report'",{"type":267,"tag":318,"props":3233,"children":3234},{"style":393},[3235],{"type":272,"value":453},{"type":272,"value":398},{"type":267,"tag":318,"props":3238,"children":3239},{"class":320,"style":321},[3240],{"type":267,"tag":318,"props":3241,"children":3242},{"style":393},[3243],{"type":272,"value":506},{"type":272,"value":398},{"type":267,"tag":318,"props":3246,"children":3247},{"class":320,"style":321},[3248],{"type":267,"tag":318,"props":3249,"children":3250},{"style":393},[3251],{"type":272,"value":515},{"type":267,"tag":268,"props":3253,"children":3254},{},[3255,3257,3262,3264,3269],{"type":272,"value":3256},"Inspect the generated report with ",{"type":267,"tag":287,"props":3258,"children":3259},{},[3260],{"type":272,"value":3261},"pnpm exec ginko-content validate",{"type":272,"value":3263},". Switch to\n",{"type":267,"tag":287,"props":3265,"children":3266},{},[3267],{"type":272,"value":3268},"validation: 'error'",{"type":272,"value":3270}," only after missing links, anchors, route references, and\nassets are resolved; strict mode prevents publishing an invalid snapshot.",{"type":267,"tag":341,"props":3272,"children":3274},{"id":3273},"from-02-to-03-_7-build-windows-release-artifacts-outside-windows",[3275],{"type":272,"value":3276},"7. Build Windows release artifacts outside Windows",{"type":267,"tag":268,"props":3278,"children":3279},{},[3280],{"type":272,"value":3281},"With Nuxt 4.4.7–4.4.8, a production build can fail during Nitro prerendering on\nWindows because Nuxt's cache-driver file URL is emitted as a raw drive-letter\nimport. This is a build-host limitation, not a content portability or production\nruntime limitation. Build release artifacts on Linux or macOS until the upstream\nNuxt\u002FNitro path handling is corrected.",{"type":267,"tag":341,"props":3283,"children":3285},{"id":3284},"from-02-to-03-_8-verify-the-exact-package",[3286],{"type":272,"value":3287},"8. Verify the exact package",{"type":267,"tag":268,"props":3289,"children":3290},{},[3291],{"type":272,"value":3292},"Before adopting the stable release:",{"type":267,"tag":3294,"props":3295,"children":3296},"ol",{},[3297,3302,3307,3312,3317],{"type":267,"tag":1435,"props":3298,"children":3299},{},[3300],{"type":272,"value":3301},"run application unit, type, build, static-generation, and browser checks;",{"type":267,"tag":1435,"props":3303,"children":3304},{},[3305],{"type":272,"value":3306},"run provider\u002Fdata-source and portability conformance tests;",{"type":267,"tag":1435,"props":3308,"children":3309},{},[3310],{"type":272,"value":3311},"run Ginko CMS against the exact packed tarball;",{"type":267,"tag":1435,"props":3313,"children":3314},{},[3315],{"type":272,"value":3316},"verify localized routes, selected-locale search, and all-language search;",{"type":267,"tag":1435,"props":3318,"children":3319},{},[3320,3322,3327],{"type":272,"value":3321},"confirm no code imports the removed ",{"type":267,"tag":287,"props":3323,"children":3324},{},[3325],{"type":272,"value":3326},"cms-import",{"type":272,"value":3328}," subpath or deleted\ncomposables.",{"type":267,"tag":268,"props":3330,"children":3331},{},[3332,3334,3338],{"type":272,"value":3333},"Adopt ",{"type":267,"tag":287,"props":3335,"children":3336},{},[3337],{"type":272,"value":1373},{"type":272,"value":3339}," only after the exact tarball passes every required consumer.",{"title":3341,"searchDepth":3342,"depth":3342,"links":3343},"",4,[3344,3355],{"id":277,"depth":3345,"text":280,"children":3346},2,[3347,3349,3350,3351,3352,3353,3354],{"id":343,"depth":3348,"text":346},3,{"id":603,"depth":3348,"text":606},{"id":645,"depth":3348,"text":648},{"id":843,"depth":3348,"text":846},{"id":1296,"depth":3348,"text":1299},{"id":1326,"depth":3348,"text":1329},{"id":1342,"depth":3348,"text":1345},{"id":1353,"depth":3345,"text":1356,"children":3356},[3357,3358,3359,3362,3368,3369,3370,3371],{"id":1378,"depth":3348,"text":1381},{"id":1421,"depth":3348,"text":1424},{"id":1781,"depth":3348,"text":1784,"children":3360},[3361],{"id":1826,"depth":3342,"text":1829},{"id":2462,"depth":3348,"text":2465,"children":3363},[3364,3365,3366,3367],{"id":2499,"depth":3342,"text":2502},{"id":2688,"depth":3342,"text":2691},{"id":2935,"depth":3342,"text":2938},{"id":3007,"depth":3342,"text":3010},{"id":3116,"depth":3348,"text":3119},{"id":3167,"depth":3348,"text":3170},{"id":3273,"depth":3348,"text":3276},{"id":3284,"depth":3348,"text":3287},"markdown",{"source":3374,"path":3375,"stem":3376,"dir":3377,"extension":3378},"content","docs\u002F6.migration\u002F4.ginko-version-upgrades.md","docs\u002F6.migration\u002F4.ginko-version-upgrades","migration","md",{"requestedPath":229,"resolvedPath":229,"alternates":3380},[],{"requested":3382,"resolved":3383,"usedFallback":6},{},{"locale":8},{"previous":3385,"next":3386},{"title":221,"id":222,"canonicalKey":223,"locale":8,"draft":6,"path":224},{"title":237,"id":238,"canonicalKey":239,"locale":8,"draft":6,"path":240},{"left":3388,"top":3388,"width":3389,"height":3390,"rotate":3388,"vFlip":6,"hFlip":6,"body":3391},0,256,221,"\u003Cpath fill=\"#41b883\" d=\"M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0z\"\u002F>\u003Cpath fill=\"#41b883\" d=\"m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0z\"\u002F>\u003Cpath fill=\"#35495e\" d=\"M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0z\"\u002F>",{"left":3388,"top":3388,"width":3393,"height":3393,"rotate":3388,"vFlip":6,"hFlip":6,"body":3394},24,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 19h8M4 17l6-6l-6-6\"\u002F>",{"left":3388,"top":3388,"width":3389,"height":3389,"rotate":3388,"vFlip":6,"hFlip":6,"body":3396},"\u003Cpath fill=\"#3178c6\" d=\"M20 0h216c11.046 0 20 8.954 20 20v216c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20V20C0 8.954 8.954 0 20 0\"\u002F>\u003Cpath fill=\"#fff\" d=\"M150.518 200.475v27.62q6.738 3.453 15.938 5.179T185.849 235q9.934 0 18.874-1.899t15.678-6.257q6.738-4.359 10.669-11.394q3.93-7.033 3.93-17.391q0-7.51-2.246-13.163a30.8 30.8 0 0 0-6.479-10.055q-4.232-4.402-10.149-7.898t-13.347-6.602q-5.442-2.245-9.761-4.359t-7.342-4.316q-3.024-2.2-4.665-4.661t-1.641-5.567q0-2.848 1.468-5.135q1.469-2.288 4.147-3.927t6.565-2.547q3.887-.906 8.638-.906q3.456 0 7.299.518q3.844.517 7.732 1.597a54 54 0 0 1 7.558 2.719a41.7 41.7 0 0 1 6.781 3.797v-25.807q-6.306-2.417-13.778-3.582T198.633 107q-9.847 0-18.658 2.115q-8.811 2.114-15.506 6.602q-6.694 4.49-10.582 11.437Q150 134.102 150 143.769q0 12.342 7.127 21.06t21.638 14.759a292 292 0 0 1 10.625 4.575q4.924 2.244 8.509 4.66t5.658 5.265t2.073 6.474a9.9 9.9 0 0 1-1.296 4.963q-1.295 2.287-3.93 3.97t-6.565 2.632t-9.2.95q-8.983 0-17.794-3.151t-16.327-9.451m-46.036-68.733H140V109H41v22.742h35.345V233h28.137z\"\u002F>",{"left":3388,"top":3388,"width":3393,"height":3393,"rotate":3388,"vFlip":6,"hFlip":6,"body":3398},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"\u002F>\u003Cpath d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\u002F>\u003C\u002Fg>",1786636634026]