[{"data":1,"prerenderedAt":1421},["ShallowReactive",2],{"docs-navigation:en":3,"content-page:docs:-7zvKfCM4GFFDPV2ZsRT4Kf6kyt5IFwFMZFIQPny7ew":261,"content-page-surround:docs:-7zvKfCM4GFFDPV2ZsRT4Kf6kyt5IFwFMZFIQPny7ew":1407,"i-logos:typescript-icon":1411,"i-logos:vue":1415,"i-lucide:clipboard":1418},[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":56,"description":262,"body":263,"type":1394,"id":57,"canonicalKey":58,"draft":6,"partial":6,"locale":8,"collection":1395,"navigationFile":6,"file":1396,"route":1402,"resolution":1404},"Ginko normalizes files or provider records into one document model for typed queries and derived site output.",{"type":264,"children":265,"toc":1384},"root",[266,274,394,401,406,777,792,798,803,809,814,855,865,871,883,1157,1203,1368,1373,1379],{"type":267,"tag":268,"props":269,"children":270},"element","p",{},[271],{"type":272,"value":273},"text","Ginko has one content flow: files or provider records become normalized documents, and every feature reads from that model.",{"type":267,"tag":275,"props":276,"children":279},"pre",{"language":277,"class":278},"txt","shiki shiki-themes light-plus dark-plus dark:dark-plus",[280],{"type":267,"tag":281,"props":282,"children":284},"code",{"class":283},"language-txt",[285,296,298,306,307,315,316,324,325,332,333,341,342,349,350,358,359,367,368,376,377,385,386],{"type":267,"tag":286,"props":287,"children":290},"span",{"class":288,"style":289},"line","display: inline",[291],{"type":267,"tag":286,"props":292,"children":293},{},[294],{"type":272,"value":295},"content files or provider",{"type":272,"value":297},"\n",{"type":267,"tag":286,"props":299,"children":300},{"class":288,"style":289},[301],{"type":267,"tag":286,"props":302,"children":303},{},[304],{"type":272,"value":305},"          │",{"type":272,"value":297},{"type":267,"tag":286,"props":308,"children":309},{"class":288,"style":289},[310],{"type":267,"tag":286,"props":311,"children":312},{},[313],{"type":272,"value":314},"          ▼",{"type":272,"value":297},{"type":267,"tag":286,"props":317,"children":318},{"class":288,"style":289},[319],{"type":267,"tag":286,"props":320,"children":321},{},[322],{"type":272,"value":323},"      collection",{"type":272,"value":297},{"type":267,"tag":286,"props":326,"children":327},{"class":288,"style":289},[328],{"type":267,"tag":286,"props":329,"children":330},{},[331],{"type":272,"value":305},{"type":272,"value":297},{"type":267,"tag":286,"props":334,"children":335},{"class":288,"style":289},[336],{"type":267,"tag":286,"props":337,"children":338},{},[339],{"type":272,"value":340},"   parse → validate → normalize",{"type":272,"value":297},{"type":267,"tag":286,"props":343,"children":344},{"class":288,"style":289},[345],{"type":267,"tag":286,"props":346,"children":347},{},[348],{"type":272,"value":305},{"type":272,"value":297},{"type":267,"tag":286,"props":351,"children":352},{"class":288,"style":289},[353],{"type":267,"tag":286,"props":354,"children":355},{},[356],{"type":272,"value":357},"          ├── resolve page routes and translations",{"type":272,"value":297},{"type":267,"tag":286,"props":360,"children":361},{"class":288,"style":289},[362],{"type":267,"tag":286,"props":363,"children":364},{},[365],{"type":272,"value":366},"          ├── run typed queries",{"type":272,"value":297},{"type":267,"tag":286,"props":369,"children":370},{"class":288,"style":289},[371],{"type":267,"tag":286,"props":372,"children":373},{},[374],{"type":272,"value":375},"          ├── build navigation and surroundings",{"type":272,"value":297},{"type":267,"tag":286,"props":378,"children":379},{"class":288,"style":289},[380],{"type":267,"tag":286,"props":381,"children":382},{},[383],{"type":272,"value":384},"          ├── produce search records",{"type":272,"value":297},{"type":267,"tag":286,"props":387,"children":388},{"class":288,"style":289},[389],{"type":267,"tag":286,"props":390,"children":391},{},[392],{"type":272,"value":393},"          └── produce sitemap and prerender routes",{"type":267,"tag":395,"props":396,"children":398},"h2",{"id":397},"collections-define-document-sets",[399],{"type":272,"value":400},"Collections define document sets",{"type":267,"tag":268,"props":402,"children":403},{},[404],{"type":272,"value":405},"A collection defines which documents belong together, their type, source, and schema. A page collection can also mount those documents at a public route. A data collection remains queryable but does not create public Nuxt pages.",{"type":267,"tag":275,"props":407,"children":409},{"language":408,"filename":158,"class":278},"ts",[410],{"type":267,"tag":281,"props":411,"children":413},{"class":412},"language-ts",[414,461,462,491,492,495,496,531,532,550,551,568,569,586,587,614,615,641,642,676,677,702,703,711,712,720,721,724,725,746,747,769,770],{"type":267,"tag":286,"props":415,"children":416},{"class":288,"style":289},[417,423,429,435,440,445,450,455],{"type":267,"tag":286,"props":418,"children":420},{"style":419},"color:#AF00DB;--shiki-dark:#C586C0",[421],{"type":272,"value":422},"import",{"type":267,"tag":286,"props":424,"children":426},{"style":425},"color:#000000;--shiki-dark:#D4D4D4",[427],{"type":272,"value":428}," { ",{"type":267,"tag":286,"props":430,"children":432},{"style":431},"color:#001080;--shiki-dark:#9CDCFE",[433],{"type":272,"value":434},"defineCollection",{"type":267,"tag":286,"props":436,"children":437},{"style":425},[438],{"type":272,"value":439},", ",{"type":267,"tag":286,"props":441,"children":442},{"style":431},[443],{"type":272,"value":444},"defineContentConfig",{"type":267,"tag":286,"props":446,"children":447},{"style":425},[448],{"type":272,"value":449}," } ",{"type":267,"tag":286,"props":451,"children":452},{"style":419},[453],{"type":272,"value":454},"from",{"type":267,"tag":286,"props":456,"children":458},{"style":457},"color:#A31515;--shiki-dark:#CE9178",[459],{"type":272,"value":460}," '@lupinum\u002Fginko-content\u002Fconfig'",{"type":272,"value":297},{"type":267,"tag":286,"props":463,"children":464},{"class":288,"style":289},[465,469,473,478,482,486],{"type":267,"tag":286,"props":466,"children":467},{"style":419},[468],{"type":272,"value":422},{"type":267,"tag":286,"props":470,"children":471},{"style":425},[472],{"type":272,"value":428},{"type":267,"tag":286,"props":474,"children":475},{"style":431},[476],{"type":272,"value":477},"z",{"type":267,"tag":286,"props":479,"children":480},{"style":425},[481],{"type":272,"value":449},{"type":267,"tag":286,"props":483,"children":484},{"style":419},[485],{"type":272,"value":454},{"type":267,"tag":286,"props":487,"children":488},{"style":457},[489],{"type":272,"value":490}," 'zod'",{"type":272,"value":297},{"type":267,"tag":286,"props":493,"children":494},{"class":288,"style":289},[],{"type":272,"value":297},{"type":267,"tag":286,"props":497,"children":498},{"class":288,"style":289},[499,504,510,516,521,526],{"type":267,"tag":286,"props":500,"children":501},{"style":419},[502],{"type":272,"value":503},"export",{"type":267,"tag":286,"props":505,"children":507},{"style":506},"color:#0000FF;--shiki-dark:#569CD6",[508],{"type":272,"value":509}," const",{"type":267,"tag":286,"props":511,"children":513},{"style":512},"color:#0070C1;--shiki-dark:#4FC1FF",[514],{"type":272,"value":515}," blog",{"type":267,"tag":286,"props":517,"children":518},{"style":425},[519],{"type":272,"value":520}," = ",{"type":267,"tag":286,"props":522,"children":524},{"style":523},"color:#795E26;--shiki-dark:#DCDCAA",[525],{"type":272,"value":434},{"type":267,"tag":286,"props":527,"children":528},{"style":425},[529],{"type":272,"value":530},"({",{"type":272,"value":297},{"type":267,"tag":286,"props":533,"children":534},{"class":288,"style":289},[535,540,545],{"type":267,"tag":286,"props":536,"children":537},{"style":431},[538],{"type":272,"value":539},"  type:",{"type":267,"tag":286,"props":541,"children":542},{"style":457},[543],{"type":272,"value":544}," 'page'",{"type":267,"tag":286,"props":546,"children":547},{"style":425},[548],{"type":272,"value":549},",",{"type":272,"value":297},{"type":267,"tag":286,"props":552,"children":553},{"class":288,"style":289},[554,559,564],{"type":267,"tag":286,"props":555,"children":556},{"style":431},[557],{"type":272,"value":558},"  source:",{"type":267,"tag":286,"props":560,"children":561},{"style":457},[562],{"type":272,"value":563}," 'blog\u002F**\u002F*.md'",{"type":267,"tag":286,"props":565,"children":566},{"style":425},[567],{"type":272,"value":549},{"type":272,"value":297},{"type":267,"tag":286,"props":570,"children":571},{"class":288,"style":289},[572,577,582],{"type":267,"tag":286,"props":573,"children":574},{"style":431},[575],{"type":272,"value":576},"  route:",{"type":267,"tag":286,"props":578,"children":579},{"style":457},[580],{"type":272,"value":581}," '\u002Fblog'",{"type":267,"tag":286,"props":583,"children":584},{"style":425},[585],{"type":272,"value":549},{"type":272,"value":297},{"type":267,"tag":286,"props":588,"children":589},{"class":288,"style":289},[590,595,600,605,610],{"type":267,"tag":286,"props":591,"children":592},{"style":431},[593],{"type":272,"value":594},"  schema:",{"type":267,"tag":286,"props":596,"children":597},{"style":431},[598],{"type":272,"value":599}," z",{"type":267,"tag":286,"props":601,"children":602},{"style":425},[603],{"type":272,"value":604},".",{"type":267,"tag":286,"props":606,"children":607},{"style":523},[608],{"type":272,"value":609},"object",{"type":267,"tag":286,"props":611,"children":612},{"style":425},[613],{"type":272,"value":530},{"type":272,"value":297},{"type":267,"tag":286,"props":616,"children":617},{"class":288,"style":289},[618,623,627,631,636],{"type":267,"tag":286,"props":619,"children":620},{"style":431},[621],{"type":272,"value":622},"    title:",{"type":267,"tag":286,"props":624,"children":625},{"style":431},[626],{"type":272,"value":599},{"type":267,"tag":286,"props":628,"children":629},{"style":425},[630],{"type":272,"value":604},{"type":267,"tag":286,"props":632,"children":633},{"style":523},[634],{"type":272,"value":635},"string",{"type":267,"tag":286,"props":637,"children":638},{"style":425},[639],{"type":272,"value":640},"(),",{"type":272,"value":297},{"type":267,"tag":286,"props":643,"children":644},{"class":288,"style":289},[645,650,654,658,662,667,672],{"type":267,"tag":286,"props":646,"children":647},{"style":431},[648],{"type":272,"value":649},"    description:",{"type":267,"tag":286,"props":651,"children":652},{"style":431},[653],{"type":272,"value":599},{"type":267,"tag":286,"props":655,"children":656},{"style":425},[657],{"type":272,"value":604},{"type":267,"tag":286,"props":659,"children":660},{"style":523},[661],{"type":272,"value":635},{"type":267,"tag":286,"props":663,"children":664},{"style":425},[665],{"type":272,"value":666},"().",{"type":267,"tag":286,"props":668,"children":669},{"style":523},[670],{"type":272,"value":671},"optional",{"type":267,"tag":286,"props":673,"children":674},{"style":425},[675],{"type":272,"value":640},{"type":272,"value":297},{"type":267,"tag":286,"props":678,"children":679},{"class":288,"style":289},[680,685,689,693,697],{"type":267,"tag":286,"props":681,"children":682},{"style":431},[683],{"type":272,"value":684},"    date:",{"type":267,"tag":286,"props":686,"children":687},{"style":431},[688],{"type":272,"value":599},{"type":267,"tag":286,"props":690,"children":691},{"style":425},[692],{"type":272,"value":604},{"type":267,"tag":286,"props":694,"children":695},{"style":523},[696],{"type":272,"value":635},{"type":267,"tag":286,"props":698,"children":699},{"style":425},[700],{"type":272,"value":701},"()",{"type":272,"value":297},{"type":267,"tag":286,"props":704,"children":705},{"class":288,"style":289},[706],{"type":267,"tag":286,"props":707,"children":708},{"style":425},[709],{"type":272,"value":710},"  })",{"type":272,"value":297},{"type":267,"tag":286,"props":713,"children":714},{"class":288,"style":289},[715],{"type":267,"tag":286,"props":716,"children":717},{"style":425},[718],{"type":272,"value":719},"})",{"type":272,"value":297},{"type":267,"tag":286,"props":722,"children":723},{"class":288,"style":289},[],{"type":272,"value":297},{"type":267,"tag":286,"props":726,"children":727},{"class":288,"style":289},[728,732,737,742],{"type":267,"tag":286,"props":729,"children":730},{"style":419},[731],{"type":272,"value":503},{"type":267,"tag":286,"props":733,"children":734},{"style":419},[735],{"type":272,"value":736}," default",{"type":267,"tag":286,"props":738,"children":739},{"style":523},[740],{"type":272,"value":741}," defineContentConfig",{"type":267,"tag":286,"props":743,"children":744},{"style":425},[745],{"type":272,"value":530},{"type":272,"value":297},{"type":267,"tag":286,"props":748,"children":749},{"class":288,"style":289},[750,755,759,764],{"type":267,"tag":286,"props":751,"children":752},{"style":431},[753],{"type":272,"value":754},"  collections:",{"type":267,"tag":286,"props":756,"children":757},{"style":425},[758],{"type":272,"value":428},{"type":267,"tag":286,"props":760,"children":761},{"style":431},[762],{"type":272,"value":763},"blog",{"type":267,"tag":286,"props":765,"children":766},{"style":425},[767],{"type":272,"value":768}," }",{"type":272,"value":297},{"type":267,"tag":286,"props":771,"children":772},{"class":288,"style":289},[773],{"type":267,"tag":286,"props":774,"children":775},{"style":425},[776],{"type":272,"value":719},{"type":267,"tag":268,"props":778,"children":779},{},[780,784,786,790],{"type":267,"tag":281,"props":781,"children":782},{},[783],{"type":272,"value":434},{"type":272,"value":785}," returns a typed handle—here it is ",{"type":267,"tag":281,"props":787,"children":788},{},[789],{"type":272,"value":763},{"type":272,"value":791},". Import it and pass it to queries so their results stay typed against the collection schema.",{"type":267,"tag":395,"props":793,"children":795},{"id":794},"one-document-shape",[796],{"type":272,"value":797},"One document shape",{"type":267,"tag":268,"props":799,"children":800},{},[801],{"type":272,"value":802},"Every query returns the same document envelope, whether the source is Markdown, structured data, or an external provider. Page documents expose their public route and locale resolution inside that envelope. Data documents use the same query vocabulary, but they do not register public pages.",{"type":267,"tag":395,"props":804,"children":806},{"id":805},"routes-and-locales-for-page-documents",[807],{"type":272,"value":808},"Routes and locales for page documents",{"type":267,"tag":268,"props":810,"children":811},{},[812],{"type":272,"value":813},"Three fields answer the common routing questions for a page document:",{"type":267,"tag":815,"props":816,"children":817},"ul",{},[818,831,843],{"type":267,"tag":819,"props":820,"children":821},"li",{},[822,824,829],{"type":272,"value":823},"What URL do I link to? ",{"type":267,"tag":281,"props":825,"children":826},{},[827],{"type":272,"value":828},"route.resolvedPath",{"type":272,"value":830},". Never the file path.",{"type":267,"tag":819,"props":832,"children":833},{},[834,836,841],{"type":272,"value":835},"Where is this page in other languages? ",{"type":267,"tag":281,"props":837,"children":838},{},[839],{"type":272,"value":840},"route.alternates",{"type":272,"value":842},". A language switcher is a loop over it.",{"type":267,"tag":819,"props":844,"children":845},{},[846,848,853],{"type":272,"value":847},"Did the reader get a fallback? ",{"type":267,"tag":281,"props":849,"children":850},{},[851],{"type":272,"value":852},"resolution.usedFallback",{"type":272,"value":854},". A fallback is content shown from another language when the requested one has no translation.",{"type":267,"tag":268,"props":856,"children":857},{},[858,863],{"type":267,"tag":281,"props":859,"children":860},{},[861],{"type":272,"value":862},"canonicalKey",{"type":272,"value":864}," is the opaque shared ID that ties a page to its translations. Use it as a list key, never as a URL.",{"type":267,"tag":395,"props":866,"children":868},{"id":867},"one-query-vocabulary",[869],{"type":272,"value":870},"One query vocabulary",{"type":267,"tag":268,"props":872,"children":873},{},[874,876,881],{"type":272,"value":875},"For route-backed page collections, ",{"type":267,"tag":281,"props":877,"children":878},{},[879],{"type":272,"value":880},"useContentPage(handle)",{"type":272,"value":882}," resolves the current route into a page document:",{"type":267,"tag":275,"props":884,"children":886},{"language":408,"filename":885,"class":278},"app\u002Fpages\u002Fblog\u002F[...slug].vue",[887],{"type":267,"tag":281,"props":888,"children":889},{"class":412},[890,941,942,945,946,1010,1011,1043,1044,1051,1052,1055,1056,1087,1088,1148,1149],{"type":267,"tag":286,"props":891,"children":892},{"class":288,"style":289},[893,898,903,908,913,918,923,927,931,936],{"type":267,"tag":286,"props":894,"children":895},{"style":523},[896],{"type":272,"value":897},"definePageMeta",{"type":267,"tag":286,"props":899,"children":900},{"style":425},[901],{"type":272,"value":902},"({ ",{"type":267,"tag":286,"props":904,"children":905},{"style":523},[906],{"type":272,"value":907},"key",{"type":267,"tag":286,"props":909,"children":910},{"style":431},[911],{"type":272,"value":912},":",{"type":267,"tag":286,"props":914,"children":915},{"style":431},[916],{"type":272,"value":917}," route",{"type":267,"tag":286,"props":919,"children":920},{"style":506},[921],{"type":272,"value":922}," =>",{"type":267,"tag":286,"props":924,"children":925},{"style":431},[926],{"type":272,"value":917},{"type":267,"tag":286,"props":928,"children":929},{"style":425},[930],{"type":272,"value":604},{"type":267,"tag":286,"props":932,"children":933},{"style":431},[934],{"type":272,"value":935},"path",{"type":267,"tag":286,"props":937,"children":938},{"style":425},[939],{"type":272,"value":940}," })",{"type":272,"value":297},{"type":267,"tag":286,"props":943,"children":944},{"class":288,"style":289},[],{"type":272,"value":297},{"type":267,"tag":286,"props":947,"children":948},{"class":288,"style":289},[949,954,958,963,967,972,976,981,986,991,996,1001,1005],{"type":267,"tag":286,"props":950,"children":951},{"style":506},[952],{"type":272,"value":953},"const",{"type":267,"tag":286,"props":955,"children":956},{"style":425},[957],{"type":272,"value":428},{"type":267,"tag":286,"props":959,"children":960},{"style":512},[961],{"type":272,"value":962},"page",{"type":267,"tag":286,"props":964,"children":965},{"style":425},[966],{"type":272,"value":439},{"type":267,"tag":286,"props":968,"children":969},{"style":512},[970],{"type":272,"value":971},"previous",{"type":267,"tag":286,"props":973,"children":974},{"style":425},[975],{"type":272,"value":439},{"type":267,"tag":286,"props":977,"children":978},{"style":512},[979],{"type":272,"value":980},"next",{"type":267,"tag":286,"props":982,"children":983},{"style":425},[984],{"type":272,"value":985}," } = ",{"type":267,"tag":286,"props":987,"children":988},{"style":419},[989],{"type":272,"value":990},"await",{"type":267,"tag":286,"props":992,"children":993},{"style":523},[994],{"type":272,"value":995}," useContentPage",{"type":267,"tag":286,"props":997,"children":998},{"style":425},[999],{"type":272,"value":1000},"(",{"type":267,"tag":286,"props":1002,"children":1003},{"style":431},[1004],{"type":272,"value":763},{"type":267,"tag":286,"props":1006,"children":1007},{"style":425},[1008],{"type":272,"value":1009},", {",{"type":272,"value":297},{"type":267,"tag":286,"props":1012,"children":1013},{"class":288,"style":289},[1014,1019,1023,1028,1033,1038],{"type":267,"tag":286,"props":1015,"children":1016},{"style":431},[1017],{"type":272,"value":1018},"  surround:",{"type":267,"tag":286,"props":1020,"children":1021},{"style":425},[1022],{"type":272,"value":428},{"type":267,"tag":286,"props":1024,"children":1025},{"style":431},[1026],{"type":272,"value":1027},"select:",{"type":267,"tag":286,"props":1029,"children":1030},{"style":425},[1031],{"type":272,"value":1032}," [",{"type":267,"tag":286,"props":1034,"children":1035},{"style":457},[1036],{"type":272,"value":1037},"'description'",{"type":267,"tag":286,"props":1039,"children":1040},{"style":425},[1041],{"type":272,"value":1042},"] }",{"type":272,"value":297},{"type":267,"tag":286,"props":1045,"children":1046},{"class":288,"style":289},[1047],{"type":267,"tag":286,"props":1048,"children":1049},{"style":425},[1050],{"type":272,"value":719},{"type":272,"value":297},{"type":267,"tag":286,"props":1053,"children":1054},{"class":288,"style":289},[],{"type":272,"value":297},{"type":267,"tag":286,"props":1057,"children":1058},{"class":288,"style":289},[1059,1064,1069,1073,1077,1082],{"type":267,"tag":286,"props":1060,"children":1061},{"style":419},[1062],{"type":272,"value":1063},"if",{"type":267,"tag":286,"props":1065,"children":1066},{"style":425},[1067],{"type":272,"value":1068}," (!",{"type":267,"tag":286,"props":1070,"children":1071},{"style":431},[1072],{"type":272,"value":962},{"type":267,"tag":286,"props":1074,"children":1075},{"style":425},[1076],{"type":272,"value":604},{"type":267,"tag":286,"props":1078,"children":1079},{"style":431},[1080],{"type":272,"value":1081},"value",{"type":267,"tag":286,"props":1083,"children":1084},{"style":425},[1085],{"type":272,"value":1086},") {",{"type":272,"value":297},{"type":267,"tag":286,"props":1089,"children":1090},{"class":288,"style":289},[1091,1096,1101,1105,1110,1116,1120,1125,1130,1134,1139,1144],{"type":267,"tag":286,"props":1092,"children":1093},{"style":419},[1094],{"type":272,"value":1095},"  throw",{"type":267,"tag":286,"props":1097,"children":1098},{"style":523},[1099],{"type":272,"value":1100}," createError",{"type":267,"tag":286,"props":1102,"children":1103},{"style":425},[1104],{"type":272,"value":902},{"type":267,"tag":286,"props":1106,"children":1107},{"style":431},[1108],{"type":272,"value":1109},"statusCode:",{"type":267,"tag":286,"props":1111,"children":1113},{"style":1112},"color:#098658;--shiki-dark:#B5CEA8",[1114],{"type":272,"value":1115}," 404",{"type":267,"tag":286,"props":1117,"children":1118},{"style":425},[1119],{"type":272,"value":439},{"type":267,"tag":286,"props":1121,"children":1122},{"style":431},[1123],{"type":272,"value":1124},"statusMessage:",{"type":267,"tag":286,"props":1126,"children":1127},{"style":457},[1128],{"type":272,"value":1129}," 'Post not found'",{"type":267,"tag":286,"props":1131,"children":1132},{"style":425},[1133],{"type":272,"value":439},{"type":267,"tag":286,"props":1135,"children":1136},{"style":431},[1137],{"type":272,"value":1138},"fatal:",{"type":267,"tag":286,"props":1140,"children":1141},{"style":506},[1142],{"type":272,"value":1143}," true",{"type":267,"tag":286,"props":1145,"children":1146},{"style":425},[1147],{"type":272,"value":940},{"type":272,"value":297},{"type":267,"tag":286,"props":1150,"children":1151},{"class":288,"style":289},[1152],{"type":267,"tag":286,"props":1153,"children":1154},{"style":425},[1155],{"type":272,"value":1156},"}",{"type":267,"tag":268,"props":1158,"children":1159},{},[1160,1162,1167,1168,1173,1175,1180,1182,1187,1189,1194,1196,1201],{"type":272,"value":1161},"Use ",{"type":267,"tag":281,"props":1163,"children":1164},{},[1165],{"type":272,"value":1166},"one",{"type":272,"value":439},{"type":267,"tag":281,"props":1169,"children":1170},{},[1171],{"type":272,"value":1172},"many",{"type":272,"value":1174},", and ",{"type":267,"tag":281,"props":1176,"children":1177},{},[1178],{"type":272,"value":1179},"paginate",{"type":272,"value":1181}," for record queries. Page collections also support ",{"type":267,"tag":281,"props":1183,"children":1184},{},[1185],{"type":272,"value":1186},"navigation",{"type":272,"value":1188}," and ",{"type":267,"tag":281,"props":1190,"children":1191},{},[1192],{"type":272,"value":1193},"surround",{"type":272,"value":1195},". Wrap these functions in ",{"type":267,"tag":281,"props":1197,"children":1198},{},[1199],{"type":272,"value":1200},"useAsyncData",{"type":272,"value":1202}," when a component needs them:",{"type":267,"tag":275,"props":1204,"children":1206},{"language":408,"filename":1205,"class":278},"app\u002Fpages\u002Fblog\u002Findex.vue",[1207],{"type":267,"tag":281,"props":1208,"children":1209},{"class":412},[1210,1268,1269,1289,1290,1325,1326,1351,1352,1359,1360],{"type":267,"tag":286,"props":1211,"children":1212},{"class":288,"style":289},[1213,1217,1221,1226,1231,1236,1240,1244,1249,1253,1258,1263],{"type":267,"tag":286,"props":1214,"children":1215},{"style":506},[1216],{"type":272,"value":953},{"type":267,"tag":286,"props":1218,"children":1219},{"style":425},[1220],{"type":272,"value":428},{"type":267,"tag":286,"props":1222,"children":1223},{"style":431},[1224],{"type":272,"value":1225},"data",{"type":267,"tag":286,"props":1227,"children":1228},{"style":425},[1229],{"type":272,"value":1230},": ",{"type":267,"tag":286,"props":1232,"children":1233},{"style":512},[1234],{"type":272,"value":1235},"posts",{"type":267,"tag":286,"props":1237,"children":1238},{"style":425},[1239],{"type":272,"value":985},{"type":267,"tag":286,"props":1241,"children":1242},{"style":419},[1243],{"type":272,"value":990},{"type":267,"tag":286,"props":1245,"children":1246},{"style":523},[1247],{"type":272,"value":1248}," useAsyncData",{"type":267,"tag":286,"props":1250,"children":1251},{"style":425},[1252],{"type":272,"value":1000},{"type":267,"tag":286,"props":1254,"children":1255},{"style":457},[1256],{"type":272,"value":1257},"'blog:published'",{"type":267,"tag":286,"props":1259,"children":1260},{"style":425},[1261],{"type":272,"value":1262},", () ",{"type":267,"tag":286,"props":1264,"children":1265},{"style":506},[1266],{"type":272,"value":1267},"=>",{"type":272,"value":297},{"type":267,"tag":286,"props":1270,"children":1271},{"class":288,"style":289},[1272,1277,1281,1285],{"type":267,"tag":286,"props":1273,"children":1274},{"style":523},[1275],{"type":272,"value":1276},"  many",{"type":267,"tag":286,"props":1278,"children":1279},{"style":425},[1280],{"type":272,"value":1000},{"type":267,"tag":286,"props":1282,"children":1283},{"style":431},[1284],{"type":272,"value":763},{"type":267,"tag":286,"props":1286,"children":1287},{"style":425},[1288],{"type":272,"value":1009},{"type":272,"value":297},{"type":267,"tag":286,"props":1291,"children":1292},{"class":288,"style":289},[1293,1298,1302,1307,1311,1316,1320],{"type":267,"tag":286,"props":1294,"children":1295},{"style":431},[1296],{"type":272,"value":1297},"    where:",{"type":267,"tag":286,"props":1299,"children":1300},{"style":425},[1301],{"type":272,"value":428},{"type":267,"tag":286,"props":1303,"children":1304},{"style":431},[1305],{"type":272,"value":1306},"publishedAt:",{"type":267,"tag":286,"props":1308,"children":1309},{"style":425},[1310],{"type":272,"value":428},{"type":267,"tag":286,"props":1312,"children":1313},{"style":431},[1314],{"type":272,"value":1315},"$exists:",{"type":267,"tag":286,"props":1317,"children":1318},{"style":506},[1319],{"type":272,"value":1143},{"type":267,"tag":286,"props":1321,"children":1322},{"style":425},[1323],{"type":272,"value":1324}," } },",{"type":272,"value":297},{"type":267,"tag":286,"props":1327,"children":1328},{"class":288,"style":289},[1329,1334,1338,1342,1347],{"type":267,"tag":286,"props":1330,"children":1331},{"style":431},[1332],{"type":272,"value":1333},"    sort:",{"type":267,"tag":286,"props":1335,"children":1336},{"style":425},[1337],{"type":272,"value":428},{"type":267,"tag":286,"props":1339,"children":1340},{"style":431},[1341],{"type":272,"value":1306},{"type":267,"tag":286,"props":1343,"children":1344},{"style":457},[1345],{"type":272,"value":1346}," 'desc'",{"type":267,"tag":286,"props":1348,"children":1349},{"style":425},[1350],{"type":272,"value":768},{"type":272,"value":297},{"type":267,"tag":286,"props":1353,"children":1354},{"class":288,"style":289},[1355],{"type":267,"tag":286,"props":1356,"children":1357},{"style":425},[1358],{"type":272,"value":710},{"type":272,"value":297},{"type":267,"tag":286,"props":1361,"children":1362},{"class":288,"style":289},[1363],{"type":267,"tag":286,"props":1364,"children":1365},{"style":425},[1366],{"type":272,"value":1367},")",{"type":267,"tag":268,"props":1369,"children":1370},{},[1371],{"type":272,"value":1372},"The same verbs run on the server. Pass the request event as the first argument so provider and locale context stay explicit.",{"type":267,"tag":395,"props":1374,"children":1376},{"id":1375},"site-output-is-derived",[1377],{"type":272,"value":1378},"Site output is derived",{"type":267,"tag":268,"props":1380,"children":1381},{},[1382],{"type":272,"value":1383},"For route-backed page collections, navigation, public search records, sitemap entries, and prerender routes derive from the normalized documents. Ginko can rebuild these outputs from the canonical filesystem or provider instead of asking you to maintain a second copy.",{"title":1385,"searchDepth":1386,"depth":1386,"links":1387},"",4,[1388,1390,1391,1392,1393],{"id":397,"depth":1389,"text":400},2,{"id":794,"depth":1389,"text":797},{"id":805,"depth":1389,"text":808},{"id":867,"depth":1389,"text":870},{"id":1375,"depth":1389,"text":1378},"markdown","docs",{"source":1397,"path":1398,"stem":1399,"dir":1400,"extension":1401},"content","docs\u002F3.concepts\u002F1.how-ginko-thinks.md","docs\u002F3.concepts\u002F1.how-ginko-thinks","concepts","md",{"requestedPath":59,"resolvedPath":59,"alternates":1403},[],{"requested":1405,"resolved":1406,"usedFallback":6},{},{"locale":8},{"previous":1408,"next":1410},{"title":44,"id":45,"canonicalKey":46,"locale":8,"draft":6,"navigation":1409,"path":48},{"title":44},{"title":61,"id":62,"canonicalKey":63,"locale":8,"draft":6,"path":64},{"left":1412,"top":1412,"width":1413,"height":1413,"rotate":1412,"vFlip":6,"hFlip":6,"body":1414},0,256,"\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":1412,"top":1412,"width":1413,"height":1416,"rotate":1412,"vFlip":6,"hFlip":6,"body":1417},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":1412,"top":1412,"width":1419,"height":1419,"rotate":1412,"vFlip":6,"hFlip":6,"body":1420},24,"\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>",1786636623883]