[{"data":1,"prerenderedAt":850},["ShallowReactive",2],{"navigation":3,"\u002Fcore-concepts\u002Fthe-data-model":358,"\u002Fcore-concepts\u002Fthe-data-model-surround":845},[4,14,36,69,140,341],{"title":5,"path":6,"stem":7,"children":8},"Introduction","\u002Fgetting-started","1.getting-started\u002F1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":15,"path":16,"stem":17,"children":18,"page":35},"Guides","\u002Fguides","2.guides",[19,23,27,31],{"title":20,"path":21,"stem":22},"Your First Layout","\u002Fguides\u002Fyour-first-layout","2.guides\u002F1.your-first-layout",{"title":24,"path":25,"stem":26},"Your First Page Template","\u002Fguides\u002Fyour-first-page-template","2.guides\u002F2.your-first-page-template",{"title":28,"path":29,"stem":30},"Your First Component","\u002Fguides\u002Fyour-first-component","2.guides\u002F3.your-first-component",{"title":32,"path":33,"stem":34},"Alternative UI Variants","\u002Fguides\u002Falternative-ui-variants","2.guides\u002F4.alternative-ui-variants",false,{"title":37,"path":38,"stem":39,"children":40,"page":35},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[41,45,49,53,57,61,65],{"title":42,"path":43,"stem":44},"How It All Works","\u002Fcore-concepts\u002Farchitecture","3.core-concepts\u002F1.architecture",{"title":46,"path":47,"stem":48},"The Data Model","\u002Fcore-concepts\u002Fthe-data-model","3.core-concepts\u002F2.the-data-model",{"title":50,"path":51,"stem":52},"Layouts & Pages","\u002Fcore-concepts\u002Flayouts-and-pages","3.core-concepts\u002F3.layouts-and-pages",{"title":54,"path":55,"stem":56},"Dynamic Pages","\u002Fcore-concepts\u002Fdynamic-pages","3.core-concepts\u002F4.dynamic-pages",{"title":58,"path":59,"stem":60},"Components","\u002Fcore-concepts\u002Fcomponents","3.core-concepts\u002F5.components",{"title":62,"path":63,"stem":64},"Draft & Publish Workflow","\u002Fcore-concepts\u002Fdraft-and-publish","3.core-concepts\u002F6.draft-and-publish",{"title":66,"path":67,"stem":68},"The Admin Panel","\u002Fcore-concepts\u002Fadmin-panel","3.core-concepts\u002F7.admin-panel",{"title":70,"path":71,"stem":72,"children":73,"page":35},"Api","\u002Fapi","4.api",[74,78,116,120,124,128,132,136],{"title":75,"path":76,"stem":77},"Bundle Setup","\u002Fapi\u002Fbundle-setup","4.api\u002F1.bundle-setup",{"title":58,"path":79,"stem":80,"children":81,"page":35},"\u002Fapi\u002Fcomponents","4.api\u002F2.components",[82,86,103],{"title":83,"path":84,"stem":85},"Creating Components","\u002Fapi\u002Fcomponents\u002Fcreating-components","4.api\u002F2.components\u002F1.creating-components",{"title":87,"path":88,"stem":89,"children":90,"page":35},"Annotations","\u002Fapi\u002Fcomponents\u002Fannotations","4.api\u002F2.components\u002F2.annotations",[91,95,99],{"title":92,"path":93,"stem":94},"Publishable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fpublishable","4.api\u002F2.components\u002F2.annotations\u002F1.publishable",{"title":96,"path":97,"stem":98},"Uploadable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fuploadable","4.api\u002F2.components\u002F2.annotations\u002F2.uploadable",{"title":100,"path":101,"stem":102},"Timestamped","\u002Fapi\u002Fcomponents\u002Fannotations\u002Ftimestamped","4.api\u002F2.components\u002F2.annotations\u002F3.timestamped",{"title":104,"path":105,"stem":106,"children":107,"page":35},"Built Ins","\u002Fapi\u002Fcomponents\u002Fbuilt-ins","4.api\u002F2.components\u002F3.built-ins",[108,112],{"title":109,"path":110,"stem":111},"Collection Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fcollection-component","4.api\u002F2.components\u002F3.built-ins\u002F1.collection-component",{"title":113,"path":114,"stem":115},"Form Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fform-component","4.api\u002F2.components\u002F3.built-ins\u002F2.form-component",{"title":117,"path":118,"stem":119},"Dynamic & Nested Pages","\u002Fapi\u002Fdynamic-pages","4.api\u002F3.dynamic-pages",{"title":121,"path":122,"stem":123},"Users & Security","\u002Fapi\u002Fusers-and-security","4.api\u002F4.users-and-security",{"title":125,"path":126,"stem":127},"Data Fixtures","\u002Fapi\u002Fdata-fixtures","4.api\u002F5.data-fixtures",{"title":129,"path":130,"stem":131},"Configuration Reference","\u002Fapi\u002Fconfiguration","4.api\u002F6.configuration",{"title":133,"path":134,"stem":135},"Console Commands","\u002Fapi\u002Fconsole-commands","4.api\u002F7.console-commands",{"title":137,"path":138,"stem":139},"Debugging & Profiler","\u002Fapi\u002Fdebugging","4.api\u002F8.debugging",{"title":141,"path":142,"stem":143,"children":144,"page":35},"Nuxt Module","\u002Fnuxt-module","5.nuxt-module",[145,149,162,182,207,211,295,320,324],{"title":146,"path":147,"stem":148},"Module Setup","\u002Fnuxt-module\u002Fmodule-setup","5.nuxt-module\u002F1.module-setup",{"title":150,"path":151,"stem":152,"children":153,"page":35},"Configuration","\u002Fnuxt-module\u002Fconfiguration","5.nuxt-module\u002F2.configuration",[154,158],{"title":155,"path":156,"stem":157},"Nuxt Config","\u002Fnuxt-module\u002Fconfiguration\u002Fnuxt-config","5.nuxt-module\u002F2.configuration\u002F1.nuxt-config",{"title":159,"path":160,"stem":161},"Site Config & SEO","\u002Fnuxt-module\u002Fconfiguration\u002Fsite-config-and-seo","5.nuxt-module\u002F2.configuration\u002F2.site-config-and-seo",{"title":163,"path":164,"stem":165,"children":166,"page":35},"Building Your Ui","\u002Fnuxt-module\u002Fbuilding-your-ui","5.nuxt-module\u002F3.building-your-ui",[167,171,175,178],{"title":168,"path":169,"stem":170},"Layouts","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-layouts","5.nuxt-module\u002F3.building-your-ui\u002F1.creating-layouts",{"title":172,"path":173,"stem":174},"Page Templates","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-page-templates","5.nuxt-module\u002F3.building-your-ui\u002F2.creating-page-templates",{"title":83,"path":176,"stem":177},"\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-components","5.nuxt-module\u002F3.building-your-ui\u002F3.creating-components",{"title":179,"path":180,"stem":181},"CLI Generator","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcwa-cli","5.nuxt-module\u002F3.building-your-ui\u002F4.cwa-cli",{"title":183,"path":184,"stem":185,"children":186,"page":35},"Cwa Components","\u002Fnuxt-module\u002Fcwa-components","5.nuxt-module\u002F4.cwa-components",[187,191,195,199,203],{"title":188,"path":189,"stem":190},"\u003CCwaComponentGroup \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-component-group","5.nuxt-module\u002F4.cwa-components\u002F1.cwa-component-group",{"title":192,"path":193,"stem":194},"\u003CCwaPage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-page","5.nuxt-module\u002F4.cwa-components\u002F2.cwa-page",{"title":196,"path":197,"stem":198},"\u003CCwaLink \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-link","5.nuxt-module\u002F4.cwa-components\u002F3.cwa-link",{"title":200,"path":201,"stem":202},"\u003CCwaImage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-image","5.nuxt-module\u002F4.cwa-components\u002F4.cwa-image",{"title":204,"path":205,"stem":206},"\u003CCwaDefaultLayout \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-default-layout","5.nuxt-module\u002F4.cwa-components\u002F5.cwa-default-layout",{"title":208,"path":209,"stem":210},"The useCwa() API","\u002Fnuxt-module\u002Fcwa-api","5.nuxt-module\u002F5.cwa-api",{"title":212,"path":213,"stem":214,"children":215,"page":35},"Composables","\u002Fnuxt-module\u002Fcomposables","5.nuxt-module\u002F6.composables",[216,224,261,278],{"title":217,"path":218,"stem":219,"children":220,"page":35},"Layout","\u002Fnuxt-module\u002Fcomposables\u002Flayout","5.nuxt-module\u002F6.composables\u002F0.layout",[221],{"title":217,"path":222,"stem":223},"\u002Fnuxt-module\u002Fcomposables\u002Flayout\u002Fuse-cwa-layout","5.nuxt-module\u002F6.composables\u002F0.layout\u002F1.use-cwa-layout",{"title":225,"path":226,"stem":227,"children":228,"page":35},"Component","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent","5.nuxt-module\u002F6.composables\u002F1.component",[229,233,237,241,245,249,253,257],{"title":230,"path":231,"stem":232},"Component (recommended)","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-component","5.nuxt-module\u002F6.composables\u002F1.component\u002F0.use-cwa-component",{"title":234,"path":235,"stem":236},"Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F1.use-cwa-resource",{"title":238,"path":239,"stem":240},"Collection Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-collection-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F2.use-cwa-collection-resource",{"title":242,"path":243,"stem":244},"Image Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-image-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F3.use-cwa-image-resource",{"title":246,"path":247,"stem":248},"Form","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form","5.nuxt-module\u002F6.composables\u002F1.component\u002F4.use-cwa-form",{"title":250,"path":251,"stem":252},"Form Input","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-input","5.nuxt-module\u002F6.composables\u002F1.component\u002F5.use-cwa-form-input",{"title":254,"path":255,"stem":256},"Form Repeated","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-repeated","5.nuxt-module\u002F6.composables\u002F1.component\u002F6.use-cwa-form-repeated",{"title":258,"path":259,"stem":260},"Form Collection","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-collection","5.nuxt-module\u002F6.composables\u002F1.component\u002F7.use-cwa-form-collection",{"title":262,"path":263,"stem":264,"children":265,"page":35},"Admin Manager","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager","5.nuxt-module\u002F6.composables\u002F2.admin-manager",[266,270,274],{"title":267,"path":268,"stem":269},"Manager Tab","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-manager-tab","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F1.use-cwa-resource-manager-tab",{"title":271,"path":272,"stem":273},"Resource Model","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-model","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F2.use-cwa-resource-model",{"title":275,"path":276,"stem":277},"Resource Upload","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-upload","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F3.use-cwa-resource-upload",{"title":279,"path":280,"stem":281,"children":282,"page":35},"Utilities","\u002Fnuxt-module\u002Fcomposables\u002Futilities","5.nuxt-module\u002F6.composables\u002F3.utilities",[283,287,291],{"title":284,"path":285,"stem":286},"Resource Endpoint","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-endpoint","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F1.use-cwa-resource-endpoint",{"title":288,"path":289,"stem":290},"Query Model","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-query-bound-model","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F2.use-query-bound-model",{"title":292,"path":293,"stem":294},"Resource Route","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-route","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F3.use-cwa-resource-route",{"title":296,"path":297,"stem":298,"children":299,"page":35},"Component Helpers","\u002Fnuxt-module\u002Fcomponent-helpers","5.nuxt-module\u002F7.component-helpers",[300,304,308,312,316],{"title":301,"path":302,"stem":303},"Images & Media","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fimages-and-uploads","5.nuxt-module\u002F7.component-helpers\u002F1.images-and-uploads",{"title":305,"path":306,"stem":307},"Collections & Pagination","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fcollections-and-pagination","5.nuxt-module\u002F7.component-helpers\u002F2.collections-and-pagination",{"title":309,"path":310,"stem":311},"HTML Content","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fhtml-content","5.nuxt-module\u002F7.component-helpers\u002F3.html-content",{"title":313,"path":314,"stem":315},"Real-Time Updates","\u002Fnuxt-module\u002Fcomponent-helpers\u002Freal-time-updates","5.nuxt-module\u002F7.component-helpers\u002F4.real-time-updates",{"title":317,"path":318,"stem":319},"Forms","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fforms","5.nuxt-module\u002F7.component-helpers\u002F5.forms",{"title":321,"path":322,"stem":323},"Authentication","\u002Fnuxt-module\u002Fauthentication","5.nuxt-module\u002F8.authentication",{"title":325,"path":326,"stem":327,"children":328,"page":35},"Cwa Layer","\u002Fnuxt-module\u002Fcwa-layer","5.nuxt-module\u002F9.cwa-layer",[329,333,337],{"title":330,"path":331,"stem":332},"Overview","\u002Fnuxt-module\u002Fcwa-layer\u002Foverview","5.nuxt-module\u002F9.cwa-layer\u002F1.overview",{"title":334,"path":335,"stem":336},"Auth Pages","\u002Fnuxt-module\u002Fcwa-layer\u002Fauth-pages","5.nuxt-module\u002F9.cwa-layer\u002F2.auth-pages",{"title":338,"path":339,"stem":340},"Admin Panel","\u002Fnuxt-module\u002Fcwa-layer\u002Fadmin-panel","5.nuxt-module\u002F9.cwa-layer\u002F3.admin-panel",{"title":342,"path":343,"stem":344,"children":345,"page":35},"Deployment","\u002Fdeployment","6.deployment",[346,350,354],{"title":347,"path":348,"stem":349},"Docker","\u002Fdeployment\u002Fdocker","6.deployment\u002F1.docker",{"title":351,"path":352,"stem":353},"Kubernetes & Helm","\u002Fdeployment\u002Fkubernetes","6.deployment\u002F2.kubernetes",{"title":355,"path":356,"stem":357},"CI\u002FCD","\u002Fdeployment\u002Fci-cd","6.deployment\u002F3.ci-cd",{"id":359,"title":46,"badge":360,"body":363,"description":838,"extension":839,"links":840,"meta":841,"navigation":842,"path":47,"seo":843,"stem":48,"__hash__":844},"docs\u002F3.core-concepts\u002F2.the-data-model.md",{"label":361,"color":362},"Draft","amber",{"type":364,"value":365,"toc":825},"minimark",[366,370,375,378,381,405,410,421,424,430,450,453,459,486,489,492,506,510,513,539,543,546,549,552,566,570,601,604,607,613,811,821],[367,368,369],"p",{},"Every page in a CWA site is described by a chain of resources stored in the API. Understanding this chain is the single most useful thing you can do before writing any code.",[371,372,374],"h2",{"id":373},"the-resource-chain","The Resource Chain",[367,376,377],{},"The diagram below shows both paths through the chain — static pages (Route → Page directly) and dynamic pages (Route → PageData → Page template):",[379,380],"diagram-resource-chain",{},[367,382,383,387,388,391,392,396,397,400,401,404],{},[384,385,386],"strong",{},"Key"," — ",[384,389,390],{},"blue",": UI resources with a ",[393,394,395],"code",{},"uiComponent"," field (you write a Vue template). ",[384,398,399],{},"Violet",": resources you define in PHP by extending a CWA abstract. ",[384,402,403],{},"Stone",": core structural resources managed by CWA (no code required). Component types are blue but also require a PHP class like PageData.",[406,407,409],"h3",{"id":408},"route","Route",[367,411,412,413,416,417,420],{},"Maps a URL path to either a ",[384,414,415],{},"Page"," (for static pages) or a ",[384,418,419],{},"PageData"," record (for dynamic pages). Also handles redirects.",[406,422,415],{"id":423},"page",[367,425,426,427,429],{},"The content structure rendered inside a Layout. Its ",[393,428,395],{}," field maps to your Vue template file.",[431,432,433,440],"ul",{},[434,435,436,439],"li",{},[384,437,438],{},"Static page",": one page, one URL, fixed content regions",[434,441,442,445,446,449],{},[384,443,444],{},"Template page"," (",[393,447,448],{},"isTemplate: true","): reused across many PageData records — one per article, product, event, etc.",[406,451,419],{"id":452},"pagedata",[367,454,455,456,458],{},"Used for dynamic sections (blogs, events, products). Instead of a Route pointing directly to a Page, it points to a PageData record. That record carries a ",[393,457,423],{}," field naming the Page template to render, plus the URL's own content fields.",[431,460,461,476,479],{},[434,462,463,464,467,468,471,472,475],{},"Extends ",[393,465,466],{},"AbstractPageData",", which provides ",[393,469,470],{},"title"," and ",[393,473,474],{},"metaDescription"," for SEO",[434,477,478],{},"Your custom fields (headline, body, image) live here",[434,480,481,482,485],{},"Its own Route gives it a live URL (e.g. ",[393,483,484],{},"\u002Fblog\u002Fmy-first-post",")",[406,487,217],{"id":488},"layout",[367,490,491],{},"The outer shell of every page — header, footer, navigation. Every Page has exactly one Layout.",[431,493,494,503],{},[434,495,496,499,500],{},[393,497,498],{},"uiComponent: \"CwaLayoutPrimary\""," → renders your ",[393,501,502],{},"app\u002Fcwa\u002Flayouts\u002Fprimary.vue",[434,504,505],{},"Has its own ComponentGroups (e.g. a nav region)",[406,507,509],{"id":508},"componentgroup","ComponentGroup",[367,511,512],{},"A named region within a Layout or Page — the area where admins add and reorder content.",[431,514,515,533],{},[434,516,517,518,521,522,525,526,529,530],{},"The ",[393,519,520],{},"reference"," string (e.g. ",[393,523,524],{},"\"hero\"",", ",[393,527,528],{},"\"nav\"",") is what you use in your Vue template: ",[393,531,532],{},"\u003CCwaComponentGroup reference=\"hero\" :location=\"iri\" \u002F>",[434,534,535,536],{},"Can restrict which component types are allowed via ",[393,537,538],{},"allowedComponents",[406,540,542],{"id":541},"componentposition","ComponentPosition",[367,544,545],{},"A single ordered slot inside a ComponentGroup. Holds exactly one Component, or a binding to a PageData field.",[406,547,225],{"id":548},"component",[367,550,551],{},"Your custom content items: titles, paragraphs, images, hero sections, navigation links, etc.",[431,553,554,563],{},[434,555,556,559,560],{},[393,557,558],{},"uiComponent: \"Title\""," → renders ",[393,561,562],{},"app\u002Fcwa\u002Fcomponents\u002FTitle\u002FTitle.vue",[434,564,565],{},"Can be publishable (draft → published workflow)",[371,567,569],{"id":568},"a-concrete-example","A Concrete Example",[367,571,572,573,576,577,579,580,582,583,586,587,589,590,593,594,597,598,600],{},"For a blog, a Route points to a ",[393,574,575],{},"BlogArticle"," PageData record rather than a Page directly. ",[393,578,575],{}," carries a ",[393,581,423],{}," field naming ",[393,584,585],{},"BlogTemplate"," as the Page to render. ",[393,588,585],{}," has a ComponentGroup containing a ComponentPosition with ",[393,591,592],{},"pageDataProperty: \"htmlContent\""," — at render time that position resolves to whatever ",[393,595,596],{},"HtmlContent"," component is stored on the current ",[393,599,575],{},". The dashed line in the diagram shows that runtime binding:",[602,603],"diagram-blog-example",{},[371,605,606],{"id":606},"_metadata",[367,608,609,610,612],{},"Every resource the API returns includes a ",[393,611,606],{}," envelope:",[614,615,620],"pre",{"className":616,"code":617,"language":618,"meta":619,"style":619},"language-json shiki shiki-themes github-light github-dark material-theme-palenight","{\n  \"@id\": \"\u002Fcomponent\u002Ftitles\u002Fabc-123\",\n  \"@type\": \"Title\",\n  \"title\": \"Hello World\",\n  \"_metadata\": {\n    \"persisted\": true,\n    \"publishable\": { \"published\": true, \"publishedAt\": \"2024-01-01T00:00:00Z\" },\n    \"mediaObjects\": {}\n  }\n}\n","json","",[393,621,622,631,661,682,702,716,735,784,799,805],{"__ignoreMap":619},[623,624,627],"span",{"class":625,"line":626},"line",1,[623,628,630],{"class":629},"sOvfz","{\n",[623,632,634,638,642,645,648,652,656,658],{"class":625,"line":633},2,[623,635,637],{"class":636},"sBtbT","  \"",[623,639,641],{"class":640},"sphPO","@id",[623,643,644],{"class":636},"\"",[623,646,647],{"class":629},":",[623,649,651],{"class":650},"seSrl"," \"",[623,653,655],{"class":654},"sLL54","\u002Fcomponent\u002Ftitles\u002Fabc-123",[623,657,644],{"class":650},[623,659,660],{"class":629},",\n",[623,662,664,666,669,671,673,675,678,680],{"class":625,"line":663},3,[623,665,637],{"class":636},[623,667,668],{"class":640},"@type",[623,670,644],{"class":636},[623,672,647],{"class":629},[623,674,651],{"class":650},[623,676,677],{"class":654},"Title",[623,679,644],{"class":650},[623,681,660],{"class":629},[623,683,685,687,689,691,693,695,698,700],{"class":625,"line":684},4,[623,686,637],{"class":636},[623,688,470],{"class":640},[623,690,644],{"class":636},[623,692,647],{"class":629},[623,694,651],{"class":650},[623,696,697],{"class":654},"Hello World",[623,699,644],{"class":650},[623,701,660],{"class":629},[623,703,705,707,709,711,713],{"class":625,"line":704},5,[623,706,637],{"class":636},[623,708,606],{"class":640},[623,710,644],{"class":636},[623,712,647],{"class":629},[623,714,715],{"class":629}," {\n",[623,717,719,722,726,728,730,733],{"class":625,"line":718},6,[623,720,721],{"class":636},"    \"",[623,723,725],{"class":724},"sbW4m","persisted",[623,727,644],{"class":636},[623,729,647],{"class":629},[623,731,732],{"class":636}," true",[623,734,660],{"class":629},[623,736,738,740,743,745,747,750,752,756,758,760,762,765,767,770,772,774,776,779,781],{"class":625,"line":737},7,[623,739,721],{"class":636},[623,741,742],{"class":724},"publishable",[623,744,644],{"class":636},[623,746,647],{"class":629},[623,748,749],{"class":629}," {",[623,751,651],{"class":636},[623,753,755],{"class":754},"scSvc","published",[623,757,644],{"class":636},[623,759,647],{"class":629},[623,761,732],{"class":636},[623,763,764],{"class":629},",",[623,766,651],{"class":636},[623,768,769],{"class":754},"publishedAt",[623,771,644],{"class":636},[623,773,647],{"class":629},[623,775,651],{"class":650},[623,777,778],{"class":654},"2024-01-01T00:00:00Z",[623,780,644],{"class":650},[623,782,783],{"class":629}," },\n",[623,785,787,789,792,794,796],{"class":625,"line":786},8,[623,788,721],{"class":636},[623,790,791],{"class":724},"mediaObjects",[623,793,644],{"class":636},[623,795,647],{"class":629},[623,797,798],{"class":629}," {}\n",[623,800,802],{"class":625,"line":801},9,[623,803,804],{"class":629},"  }\n",[623,806,808],{"class":625,"line":807},10,[623,809,810],{"class":629},"}\n",[367,812,813,814,817,818,820],{},"Your Vue component reads ",[393,815,816],{},"resource?.data?.title",". The ",[393,819,606],{}," is used by the module internally.",[822,823,824],"style",{},"html pre.shiki code .sOvfz, html code.shiki .sOvfz{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}html pre.shiki code .sBtbT, html code.shiki .sBtbT{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#89DDFF}html pre.shiki code .sphPO, html code.shiki .sphPO{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#C792EA}html pre.shiki code .seSrl, html code.shiki .seSrl{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#89DDFF}html pre.shiki code .sLL54, html code.shiki .sLL54{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#C3E88D}html pre.shiki code .sbW4m, html code.shiki .sbW4m{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#FFCB6B}html pre.shiki code .scSvc, html code.shiki .scSvc{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":619,"searchDepth":633,"depth":633,"links":826},[827,836,837],{"id":373,"depth":633,"text":374,"children":828},[829,830,831,832,833,834,835],{"id":408,"depth":663,"text":409},{"id":423,"depth":663,"text":415},{"id":452,"depth":663,"text":419},{"id":488,"depth":663,"text":217},{"id":508,"depth":663,"text":509},{"id":541,"depth":663,"text":542},{"id":548,"depth":663,"text":225},{"id":568,"depth":633,"text":569},{"id":606,"depth":633,"text":606},"The six resource types that form the content graph behind every CWA page — and how they chain together.","md",null,{},true,{"title":46,"description":838},"WZ8zaxBTpqQ2V5LpRf3Z-NI4zmLuKMrFCJSpwn4gtt8",[846,848],{"title":42,"path":43,"stem":44,"description":847,"children":-1},"A high-level map of the CWA — what you get out of the box, what you write yourself, and how the three layers fit together.",{"title":50,"path":51,"stem":52,"description":849,"children":-1},"How layouts form the site shell and pages define the content structure within — and the difference between static and template pages.",1782512894926]