[{"data":1,"prerenderedAt":1013},["ShallowReactive",2],{"docs-navigation:en":3,"content-page:docs:cO3EHwL4W4PKLrbVZY4hA0fuOlx-A_iphjTM8SMbi6w":266,"content-page-surround:docs:cO3EHwL4W4PKLrbVZY4hA0fuOlx-A_iphjTM8SMbi6w":1001,"i-lucide:terminal":1004,"i-logos:typescript-icon":1008,"i-lucide:clipboard":1011},[4,18,49,65,148,207,235],{"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,230],{"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,"id":232,"canonicalKey":233,"locale":8,"draft":6,"path":234},"Move filesystem content to a CMS","content:docs:6.migration:5.filesystem-to-cms.md","6\u002F5","\u002Fdocs\u002Fmigration\u002Ffilesystem-to-cms",{"title":236,"page":6,"canonicalKey":237,"locale":8,"id":238,"draft":6,"icon":239,"sidebar":23,"children":240},"Resources","7","content:docs:7.resources:.navigation.yml","i-lucide-library",[241,246,251,256,261],{"title":242,"id":243,"canonicalKey":244,"locale":8,"draft":6,"path":245},"Examples","content:docs:7.resources:1.examples.md","7\u002F1","\u002Fdocs\u002Fresources\u002Fexamples",{"title":247,"id":248,"canonicalKey":249,"locale":8,"draft":6,"path":250},"Deployment","content:docs:7.resources:2.deployment.md","7\u002F2","\u002Fdocs\u002Fresources\u002Fdeployment",{"title":252,"id":253,"canonicalKey":254,"locale":8,"draft":6,"path":255},"Troubleshooting","content:docs:7.resources:3.troubleshooting.md","7\u002F3","\u002Fdocs\u002Fresources\u002Ftroubleshooting",{"title":257,"id":258,"canonicalKey":259,"locale":8,"draft":6,"path":260},"Design principles","content:docs:7.resources:4.design-principles.md","7\u002F4","\u002Fdocs\u002Fresources\u002Fdesign-principles",{"title":262,"id":263,"canonicalKey":264,"locale":8,"draft":6,"path":265},"Support and stability","content:docs:7.resources:5.support-and-stability.md","7\u002F5","\u002Fdocs\u002Fresources\u002Fsupport-and-stability",{"title":231,"description":267,"body":268,"type":988,"id":232,"canonicalKey":233,"draft":6,"partial":6,"locale":8,"collection":989,"navigationFile":6,"file":990,"route":996,"resolution":998},"Assess and export a filesystem-backed application as a verified portable V1 directory.",{"type":269,"children":270,"toc":980},"root",[271,279,286,312,317,497,502,538,543,561,567,572,607,612,617,911,921,927,939,951,970,975],{"type":272,"tag":273,"props":274,"children":275},"element","p",{},[276],{"type":277,"value":278},"text","The portable export keeps the collection contract as the source of truth. It\ndoes not change the provider, contact a CMS, or edit source files.",{"type":272,"tag":280,"props":281,"children":283},"h2",{"id":282},"prepare-the-application",[284],{"type":277,"value":285},"Prepare the application",{"type":272,"tag":273,"props":287,"children":288},{},[289,291,296,298,303,305,310],{"type":277,"value":290},"Keep the application on the filesystem provider. Make sure that\n",{"type":272,"tag":292,"props":293,"children":294},"code",{},[295],{"type":277,"value":158},{"type":277,"value":297},", ",{"type":272,"tag":292,"props":299,"children":300},{},[301],{"type":277,"value":302},"nuxt.config.ts",{"type":277,"value":304},", and ",{"type":272,"tag":292,"props":306,"children":307},{},[308],{"type":277,"value":309},".ginko\u002Fcontent-contract.json",{"type":277,"value":311}," are\ncurrent.",{"type":272,"tag":273,"props":313,"children":314},{},[315],{"type":277,"value":316},"Declare CMS details that cannot be inferred safely. For example, declare a\nnested collection as a tree:",{"type":272,"tag":318,"props":319,"children":322},"pre",{"language":320,"class":321},"ts","shiki shiki-themes light-plus dark-plus dark:dark-plus",[323],{"type":272,"tag":292,"props":324,"children":326},{"class":325},"language-ts",[327,339,341,379,380,400,401,418,419,432,433,450,451,479,480,488,489],{"type":272,"tag":328,"props":329,"children":332},"span",{"class":330,"style":331},"line","display: inline",[333],{"type":272,"tag":328,"props":334,"children":336},{"style":335},"color:#008000;--shiki-dark:#6A9955",[337],{"type":277,"value":338},"\u002F\u002F content.config.ts",{"type":277,"value":340},"\n",{"type":272,"tag":328,"props":342,"children":343},{"class":330,"style":331},[344,350,356,362,368,374],{"type":272,"tag":328,"props":345,"children":347},{"style":346},"color:#AF00DB;--shiki-dark:#C586C0",[348],{"type":277,"value":349},"export",{"type":272,"tag":328,"props":351,"children":353},{"style":352},"color:#0000FF;--shiki-dark:#569CD6",[354],{"type":277,"value":355}," const",{"type":272,"tag":328,"props":357,"children":359},{"style":358},"color:#0070C1;--shiki-dark:#4FC1FF",[360],{"type":277,"value":361}," docs",{"type":272,"tag":328,"props":363,"children":365},{"style":364},"color:#000000;--shiki-dark:#D4D4D4",[366],{"type":277,"value":367}," = ",{"type":272,"tag":328,"props":369,"children":371},{"style":370},"color:#795E26;--shiki-dark:#DCDCAA",[372],{"type":277,"value":373},"defineCollection",{"type":272,"tag":328,"props":375,"children":376},{"style":364},[377],{"type":277,"value":378},"({",{"type":277,"value":340},{"type":272,"tag":328,"props":381,"children":382},{"class":330,"style":331},[383,389,395],{"type":272,"tag":328,"props":384,"children":386},{"style":385},"color:#001080;--shiki-dark:#9CDCFE",[387],{"type":277,"value":388},"  type:",{"type":272,"tag":328,"props":390,"children":392},{"style":391},"color:#A31515;--shiki-dark:#CE9178",[393],{"type":277,"value":394}," 'page'",{"type":272,"tag":328,"props":396,"children":397},{"style":364},[398],{"type":277,"value":399},",",{"type":277,"value":340},{"type":272,"tag":328,"props":402,"children":403},{"class":330,"style":331},[404,409,414],{"type":272,"tag":328,"props":405,"children":406},{"style":385},[407],{"type":277,"value":408},"  source:",{"type":272,"tag":328,"props":410,"children":411},{"style":391},[412],{"type":277,"value":413}," 'docs\u002F**\u002F*.md'",{"type":272,"tag":328,"props":415,"children":416},{"style":364},[417],{"type":277,"value":399},{"type":277,"value":340},{"type":272,"tag":328,"props":420,"children":421},{"class":330,"style":331},[422,427],{"type":272,"tag":328,"props":423,"children":424},{"style":385},[425],{"type":277,"value":426},"  cms:",{"type":272,"tag":328,"props":428,"children":429},{"style":364},[430],{"type":277,"value":431}," {",{"type":277,"value":340},{"type":272,"tag":328,"props":434,"children":435},{"class":330,"style":331},[436,441,446],{"type":272,"tag":328,"props":437,"children":438},{"style":385},[439],{"type":277,"value":440},"    type:",{"type":272,"tag":328,"props":442,"children":443},{"style":391},[444],{"type":277,"value":445}," 'tree'",{"type":272,"tag":328,"props":447,"children":448},{"style":364},[449],{"type":277,"value":399},{"type":277,"value":340},{"type":272,"tag":328,"props":452,"children":453},{"class":330,"style":331},[454,459,464,469,474],{"type":272,"tag":328,"props":455,"children":456},{"style":385},[457],{"type":277,"value":458},"    route:",{"type":272,"tag":328,"props":460,"children":461},{"style":364},[462],{"type":277,"value":463}," { ",{"type":272,"tag":328,"props":465,"children":466},{"style":385},[467],{"type":277,"value":468},"allowMultipleRoots:",{"type":272,"tag":328,"props":470,"children":471},{"style":352},[472],{"type":277,"value":473}," true",{"type":272,"tag":328,"props":475,"children":476},{"style":364},[477],{"type":277,"value":478}," },",{"type":277,"value":340},{"type":272,"tag":328,"props":481,"children":482},{"class":330,"style":331},[483],{"type":272,"tag":328,"props":484,"children":485},{"style":364},[486],{"type":277,"value":487},"  },",{"type":277,"value":340},{"type":272,"tag":328,"props":490,"children":491},{"class":330,"style":331},[492],{"type":272,"tag":328,"props":493,"children":494},{"style":364},[495],{"type":277,"value":496},"})",{"type":272,"tag":273,"props":498,"children":499},{},[500],{"type":277,"value":501},"Run the local assessment:",{"type":272,"tag":318,"props":503,"children":505},{"language":504,"class":321},"bash",[506],{"type":272,"tag":292,"props":507,"children":509},{"class":508},"language-bash",[510],{"type":272,"tag":328,"props":511,"children":512},{"class":330,"style":331},[513,518,523,528,533],{"type":272,"tag":328,"props":514,"children":515},{"style":370},[516],{"type":277,"value":517},"pnpm",{"type":272,"tag":328,"props":519,"children":520},{"style":391},[521],{"type":277,"value":522}," exec",{"type":272,"tag":328,"props":524,"children":525},{"style":391},[526],{"type":277,"value":527}," ginko-content",{"type":272,"tag":328,"props":529,"children":530},{"style":391},[531],{"type":277,"value":532}," portable",{"type":272,"tag":328,"props":534,"children":535},{"style":391},[536],{"type":277,"value":537}," assess",{"type":272,"tag":273,"props":539,"children":540},{},[541],{"type":277,"value":542},"The command reads the source files and both configuration files. It rebuilds\nthe resolved contract and compares its hash with the generated contract. It\nuses the Ginko parser, schema validation, content graph, navigation builder,\nand portable V1 validators.",{"type":272,"tag":273,"props":544,"children":545},{},[546,548,553,555,559],{"type":277,"value":547},"The assessment reports all detected source problems. Each diagnostic includes\na code, file, field when available, and corrective action. Exit code ",{"type":272,"tag":292,"props":549,"children":550},{},[551],{"type":277,"value":552},"0",{"type":277,"value":554}," means\nthat export can continue. Exit code ",{"type":272,"tag":292,"props":556,"children":557},{},[558],{"type":277,"value":20},{"type":277,"value":560}," means that the source or contract is\nnot portable.",{"type":272,"tag":280,"props":562,"children":564},{"id":563},"export-the-portable-directory",[565],{"type":277,"value":566},"Export the portable directory",{"type":272,"tag":273,"props":568,"children":569},{},[570],{"type":277,"value":571},"Select a destination that does not exist:",{"type":272,"tag":318,"props":573,"children":574},{"language":504,"class":321},[575],{"type":272,"tag":292,"props":576,"children":577},{"class":508},[578],{"type":272,"tag":328,"props":579,"children":580},{"class":330,"style":331},[581,585,589,593,597,602],{"type":272,"tag":328,"props":582,"children":583},{"style":370},[584],{"type":277,"value":517},{"type":272,"tag":328,"props":586,"children":587},{"style":391},[588],{"type":277,"value":522},{"type":272,"tag":328,"props":590,"children":591},{"style":391},[592],{"type":277,"value":527},{"type":272,"tag":328,"props":594,"children":595},{"style":391},[596],{"type":277,"value":532},{"type":272,"tag":328,"props":598,"children":599},{"style":391},[600],{"type":277,"value":601}," export",{"type":272,"tag":328,"props":603,"children":604},{"style":391},[605],{"type":277,"value":606}," .ginko\u002Fcms-import",{"type":272,"tag":273,"props":608,"children":609},{},[610],{"type":277,"value":611},"The command repeats the assessment. It writes the directory atomically only\nwhen the assessment passes. The result uses the existing portable V1 manifest,\nchecksums, document codecs, and bounded directory verifier.",{"type":272,"tag":273,"props":613,"children":614},{},[615],{"type":277,"value":616},"Applications that need programmatic control can use the Node API:",{"type":272,"tag":318,"props":618,"children":619},{"language":320,"class":321},[620],{"type":272,"tag":292,"props":621,"children":622},{"class":325},[623,635,636,648,649,661,662,680,681,684,685,742,743,746,747,797,798,815,816,841,842,859,860,893,894,902,903],{"type":272,"tag":328,"props":624,"children":625},{"class":330,"style":331},[626,631],{"type":272,"tag":328,"props":627,"children":628},{"style":346},[629],{"type":277,"value":630},"import",{"type":272,"tag":328,"props":632,"children":633},{"style":364},[634],{"type":277,"value":431},{"type":277,"value":340},{"type":272,"tag":328,"props":637,"children":638},{"class":330,"style":331},[639,644],{"type":272,"tag":328,"props":640,"children":641},{"style":385},[642],{"type":277,"value":643},"  assessFilesystemPortability",{"type":272,"tag":328,"props":645,"children":646},{"style":364},[647],{"type":277,"value":399},{"type":277,"value":340},{"type":272,"tag":328,"props":650,"children":651},{"class":330,"style":331},[652,657],{"type":272,"tag":328,"props":653,"children":654},{"style":385},[655],{"type":277,"value":656},"  exportFilesystemToPortableDirectory",{"type":272,"tag":328,"props":658,"children":659},{"style":364},[660],{"type":277,"value":399},{"type":277,"value":340},{"type":272,"tag":328,"props":663,"children":664},{"class":330,"style":331},[665,670,675],{"type":272,"tag":328,"props":666,"children":667},{"style":364},[668],{"type":277,"value":669},"} ",{"type":272,"tag":328,"props":671,"children":672},{"style":346},[673],{"type":277,"value":674},"from",{"type":272,"tag":328,"props":676,"children":677},{"style":391},[678],{"type":277,"value":679}," '@lupinum\u002Fginko-content\u002Fportability\u002Fnode'",{"type":277,"value":340},{"type":272,"tag":328,"props":682,"children":683},{"class":330,"style":331},[],{"type":277,"value":340},{"type":272,"tag":328,"props":686,"children":687},{"class":330,"style":331},[688,693,698,702,707,712,717,722,727,732,737],{"type":272,"tag":328,"props":689,"children":690},{"style":352},[691],{"type":277,"value":692},"const",{"type":272,"tag":328,"props":694,"children":695},{"style":358},[696],{"type":277,"value":697}," assessment",{"type":272,"tag":328,"props":699,"children":700},{"style":364},[701],{"type":277,"value":367},{"type":272,"tag":328,"props":703,"children":704},{"style":346},[705],{"type":277,"value":706},"await",{"type":272,"tag":328,"props":708,"children":709},{"style":370},[710],{"type":277,"value":711}," assessFilesystemPortability",{"type":272,"tag":328,"props":713,"children":714},{"style":364},[715],{"type":277,"value":716},"({ ",{"type":272,"tag":328,"props":718,"children":719},{"style":385},[720],{"type":277,"value":721},"rootDir:",{"type":272,"tag":328,"props":723,"children":724},{"style":385},[725],{"type":277,"value":726}," process",{"type":272,"tag":328,"props":728,"children":729},{"style":364},[730],{"type":277,"value":731},".",{"type":272,"tag":328,"props":733,"children":734},{"style":370},[735],{"type":277,"value":736},"cwd",{"type":272,"tag":328,"props":738,"children":739},{"style":364},[740],{"type":277,"value":741},"() })",{"type":277,"value":340},{"type":272,"tag":328,"props":744,"children":745},{"class":330,"style":331},[],{"type":277,"value":340},{"type":272,"tag":328,"props":748,"children":749},{"class":330,"style":331},[750,755,760,765,769,774,779,783,787,792],{"type":272,"tag":328,"props":751,"children":752},{"style":346},[753],{"type":277,"value":754},"if",{"type":272,"tag":328,"props":756,"children":757},{"style":364},[758],{"type":277,"value":759}," (",{"type":272,"tag":328,"props":761,"children":762},{"style":385},[763],{"type":277,"value":764},"assessment",{"type":272,"tag":328,"props":766,"children":767},{"style":364},[768],{"type":277,"value":731},{"type":272,"tag":328,"props":770,"children":771},{"style":385},[772],{"type":277,"value":773},"ok",{"type":272,"tag":328,"props":775,"children":776},{"style":364},[777],{"type":277,"value":778}," && ",{"type":272,"tag":328,"props":780,"children":781},{"style":385},[782],{"type":277,"value":764},{"type":272,"tag":328,"props":784,"children":785},{"style":364},[786],{"type":277,"value":731},{"type":272,"tag":328,"props":788,"children":789},{"style":385},[790],{"type":277,"value":791},"evidence",{"type":272,"tag":328,"props":793,"children":794},{"style":364},[795],{"type":277,"value":796},") {",{"type":277,"value":340},{"type":272,"tag":328,"props":799,"children":800},{"class":330,"style":331},[801,806,811],{"type":272,"tag":328,"props":802,"children":803},{"style":346},[804],{"type":277,"value":805},"  await",{"type":272,"tag":328,"props":807,"children":808},{"style":370},[809],{"type":277,"value":810}," exportFilesystemToPortableDirectory",{"type":272,"tag":328,"props":812,"children":813},{"style":364},[814],{"type":277,"value":378},{"type":277,"value":340},{"type":272,"tag":328,"props":817,"children":818},{"class":330,"style":331},[819,824,828,832,836],{"type":272,"tag":328,"props":820,"children":821},{"style":385},[822],{"type":277,"value":823},"    rootDir:",{"type":272,"tag":328,"props":825,"children":826},{"style":385},[827],{"type":277,"value":726},{"type":272,"tag":328,"props":829,"children":830},{"style":364},[831],{"type":277,"value":731},{"type":272,"tag":328,"props":833,"children":834},{"style":370},[835],{"type":277,"value":736},{"type":272,"tag":328,"props":837,"children":838},{"style":364},[839],{"type":277,"value":840},"(),",{"type":277,"value":340},{"type":272,"tag":328,"props":843,"children":844},{"class":330,"style":331},[845,850,855],{"type":272,"tag":328,"props":846,"children":847},{"style":385},[848],{"type":277,"value":849},"    destination:",{"type":272,"tag":328,"props":851,"children":852},{"style":391},[853],{"type":277,"value":854}," '.ginko\u002Fcms-import'",{"type":272,"tag":328,"props":856,"children":857},{"style":364},[858],{"type":277,"value":399},{"type":277,"value":340},{"type":272,"tag":328,"props":861,"children":862},{"class":330,"style":331},[863,868,872,876,880,884,889],{"type":272,"tag":328,"props":864,"children":865},{"style":385},[866],{"type":277,"value":867},"    expectedInputHash:",{"type":272,"tag":328,"props":869,"children":870},{"style":385},[871],{"type":277,"value":697},{"type":272,"tag":328,"props":873,"children":874},{"style":364},[875],{"type":277,"value":731},{"type":272,"tag":328,"props":877,"children":878},{"style":385},[879],{"type":277,"value":791},{"type":272,"tag":328,"props":881,"children":882},{"style":364},[883],{"type":277,"value":731},{"type":272,"tag":328,"props":885,"children":886},{"style":385},[887],{"type":277,"value":888},"inputHash",{"type":272,"tag":328,"props":890,"children":891},{"style":364},[892],{"type":277,"value":399},{"type":277,"value":340},{"type":272,"tag":328,"props":895,"children":896},{"class":330,"style":331},[897],{"type":272,"tag":328,"props":898,"children":899},{"style":364},[900],{"type":277,"value":901},"  })",{"type":277,"value":340},{"type":272,"tag":328,"props":904,"children":905},{"class":330,"style":331},[906],{"type":272,"tag":328,"props":907,"children":908},{"style":364},[909],{"type":277,"value":910},"}",{"type":272,"tag":273,"props":912,"children":913},{},[914,919],{"type":272,"tag":292,"props":915,"children":916},{},[917],{"type":277,"value":918},"expectedInputHash",{"type":277,"value":920}," prevents export when a source or configuration input\nchanged after assessment. The export result includes the contract hash,\nmanifest hash, input hash, counts, collections, and locales.",{"type":272,"tag":280,"props":922,"children":924},{"id":923},"resolve-unsupported-source-behavior",[925],{"type":277,"value":926},"Resolve unsupported source behavior",{"type":272,"tag":273,"props":928,"children":929},{},[930,932,937],{"type":277,"value":931},"Portable V1 does not represent source draft state or standalone partial\ndocuments. The assessment refuses these documents instead of changing their\nmeaning. ",{"type":272,"tag":292,"props":933,"children":934},{},[935],{"type":277,"value":936},".navigation.yml",{"type":277,"value":938}," control files are not standalone documents. Their\nsupported metadata is merged into the matching tree entry.",{"type":272,"tag":273,"props":940,"children":941},{},[942,944,949],{"type":277,"value":943},"Stable ",{"type":272,"tag":292,"props":945,"children":946},{},[947],{"type":277,"value":948},"$...",{"type":277,"value":950}," Content references remain in MDC. The provider-independent\nrender boundary resolves them from the content graph or the application's\nconfigured quick links. Literal code examples remain unchanged.",{"type":272,"tag":273,"props":952,"children":953},{},[954,956,961,963,968],{"type":277,"value":955},"Site-owned public asset paths and external URLs remain authored MDC values\nwhen no field or component media policy marks them as managed assets. The\nexport does not fetch, convert, or upload those values. A schema image field\nmust use a supported external reference or a verified managed-asset identity.\nReferenced ",{"type":272,"tag":292,"props":957,"children":958},{},[959],{"type":277,"value":960},"\u002Fginko-assets\u002F\u003Csha256>.\u003Cext>",{"type":277,"value":962}," images are read from ",{"type":272,"tag":292,"props":964,"children":965},{},[966],{"type":277,"value":967},"public\u002F",{"type":277,"value":969},", checked\nfor type, size, and SHA-256 integrity, and copied into the portable directory.",{"type":272,"tag":273,"props":971,"children":972},{},[973],{"type":277,"value":974},"Custom filesystem transformers and custom search filter queries require an\nexplicit portable representation. The assessment refuses these cases. It does\nnot claim that application-specific queries or CMS-backed rendering were\ntested.",{"type":272,"tag":273,"props":976,"children":977},{},[978],{"type":277,"value":979},"Pass the verified directory to the CMS import planner. Keep authentication,\ntarget capability checks, draft application, publication, receipts, and\nprovider cutover in the CMS workflow.",{"title":981,"searchDepth":982,"depth":982,"links":983},"",4,[984,986,987],{"id":282,"depth":985,"text":285},2,{"id":563,"depth":985,"text":566},{"id":923,"depth":985,"text":926},"markdown","docs",{"source":991,"path":992,"stem":993,"dir":994,"extension":995},"content","docs\u002F6.migration\u002F5.filesystem-to-cms.md","docs\u002F6.migration\u002F5.filesystem-to-cms","migration","md",{"requestedPath":234,"resolvedPath":234,"alternates":997},[],{"requested":999,"resolved":1000,"usedFallback":6},{},{"locale":8},{"previous":1002,"next":1003},{"title":226,"id":227,"canonicalKey":228,"locale":8,"draft":6,"path":229},{"title":242,"id":243,"canonicalKey":244,"locale":8,"draft":6,"path":245},{"left":1005,"top":1005,"width":1006,"height":1006,"rotate":1005,"vFlip":6,"hFlip":6,"body":1007},0,24,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 19h8M4 17l6-6l-6-6\"\u002F>",{"left":1005,"top":1005,"width":1009,"height":1009,"rotate":1005,"vFlip":6,"hFlip":6,"body":1010},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":1005,"top":1005,"width":1006,"height":1006,"rotate":1005,"vFlip":6,"hFlip":6,"body":1012},"\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>",1790385288891]