[{"data":1,"prerenderedAt":595},["ShallowReactive",2],{"navigation_docs_en":3,"landing_en":88},[4,18,51],{"title":5,"path":6,"stem":7,"children":8,"page":17},"Getting Started","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[9,13],{"title":10,"path":11,"stem":12},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F1.introduction",{"title":14,"path":15,"stem":16},"Installation & Setup","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F2.installation",false,{"title":19,"path":20,"stem":21,"children":22,"page":17},"Guide","\u002Fen\u002Fguide","en\u002F2.guide",[23,27,31,35,39,43,47],{"title":24,"path":25,"stem":26},"Contextual Editing","\u002Fen\u002Fguide\u002Fcontextual-editing","en\u002F2.guide\u002F1.contextual-editing",{"title":28,"path":29,"stem":30},"Preview Mode","\u002Fen\u002Fguide\u002Fpreview-mode","en\u002F2.guide\u002F2.preview-mode",{"title":32,"path":33,"stem":34},"Tina Cloud & Editing Modes","\u002Fen\u002Fguide\u002Ftina-cloud","en\u002F2.guide\u002F3.tina-cloud",{"title":36,"path":37,"stem":38},"Nuxt Content Compatibility","\u002Fen\u002Fguide\u002Fnuxt-content","en\u002F2.guide\u002F4.nuxt-content",{"title":40,"path":41,"stem":42},"Media","\u002Fen\u002Fguide\u002Fmedia","en\u002F2.guide\u002F5.media",{"title":44,"path":45,"stem":46},"Advanced Rich-Text","\u002Fen\u002Fguide\u002Frich-text-advanced","en\u002F2.guide\u002F6.rich-text-advanced",{"title":48,"path":49,"stem":50},"Deployment","\u002Fen\u002Fguide\u002Fdeployment","en\u002F2.guide\u002F7.deployment",{"title":52,"path":53,"stem":54,"children":55,"page":17},"Api","\u002Fen\u002Fapi","en\u002F3.api",[56,60,64,68,72,76,80,84],{"title":57,"path":58,"stem":59},"useTina()","\u002Fen\u002Fapi\u002Fuse-tina","en\u002F3.api\u002F1.use-tina",{"title":61,"path":62,"stem":63},"useTinaBridge()","\u002Fen\u002Fapi\u002Fuse-tina-bridge","en\u002F3.api\u002F2.use-tina-bridge",{"title":65,"path":66,"stem":67},"useTinaPreview()","\u002Fen\u002Fapi\u002Fuse-tina-preview","en\u002F3.api\u002F3.use-tina-preview",{"title":69,"path":70,"stem":71},"\u003CTinaProvider>","\u002Fen\u002Fapi\u002Ftina-provider","en\u002F3.api\u002F4.tina-provider",{"title":73,"path":74,"stem":75},"\u003CTinaMarkdown>","\u002Fen\u002Fapi\u002Ftina-markdown","en\u002F3.api\u002F5.tina-markdown",{"title":77,"path":78,"stem":79},"\u003CTinaMermaid>","\u002Fen\u002Fapi\u002Ftina-mermaid","en\u002F3.api\u002F6.tina-mermaid",{"title":81,"path":82,"stem":83},"Module Configuration","\u002Fen\u002Fapi\u002Fconfiguration","en\u002F3.api\u002F7.configuration",{"title":85,"path":86,"stem":87},"Field Types","\u002Fen\u002Fapi\u002Ffield-types","en\u002F3.api\u002F8.field-types",{"id":89,"title":90,"body":91,"description":588,"extension":250,"meta":589,"navigation":360,"path":590,"seo":591,"stem":593,"__hash__":594},"landing_en\u002Fen\u002Findex.md","TinaCMS for Nuxt",{"type":92,"value":93,"toc":586},"minimark",[94,550,582],[95,96,101,117],"u-page-hero",{":links":97,"description":98,"headline":99,"orientation":100},"[{\"label\":\"Get Started\",\"to\":\"\u002Fgetting-started\u002Fintroduction\",\"trailingIcon\":\"i-lucide-arrow-right\",\"size\":\"xl\"},{\"label\":\"GitHub\",\"to\":\"https:\u002F\u002Fgithub.com\u002Fnarr07\u002Fnuxt-tina\",\"target\":\"_blank\",\"color\":\"neutral\",\"variant\":\"outline\",\"icon\":\"i-lucide-github\",\"size\":\"xl\"}]","Contextual\u002Fvisual editing, an admin studio, and Tina Cloud, wrapped into a single Nuxt module.","v0.1.0: Experimental","horizontal",[102,103,105,111,112],"template",{"v-slot:title":104},"",[106,107,110],"span",{"className":108},[109],"text-primary","TinaCMS",", natively in ",[106,113,116],{"className":114},[115],"text-[#00DC82]","Nuxt",[118,119,120,308],"code-group",{},[121,122,127],"pre",{"className":123,"code":124,"filename":125,"language":126,"meta":104,"style":104},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineConfig({\n  schema: {\n    collections: [\n      {\n        name: 'post',\n        label: 'Posts',\n        path: 'content\u002Fposts',\n        format: 'md',\n        fields: [\n         ...\n        ],\n      },\n    ],\n  },\n})\n","tina\u002Fconfig.ts","ts",[128,129,130,153,166,177,183,204,221,238,255,265,271,279,285,293,299],"code",{"__ignoreMap":104},[106,131,134,138,141,145,149],{"class":132,"line":133},"line",1,[106,135,137],{"class":136},"s7zQu","export",[106,139,140],{"class":136}," default",[106,142,144],{"class":143},"s2Zo4"," defineConfig",[106,146,148],{"class":147},"sTEyZ","(",[106,150,152],{"class":151},"sMK4o","{\n",[106,154,156,160,163],{"class":132,"line":155},2,[106,157,159],{"class":158},"swJcz","  schema",[106,161,162],{"class":151},":",[106,164,165],{"class":151}," {\n",[106,167,169,172,174],{"class":132,"line":168},3,[106,170,171],{"class":158},"    collections",[106,173,162],{"class":151},[106,175,176],{"class":147}," [\n",[106,178,180],{"class":132,"line":179},4,[106,181,182],{"class":151},"      {\n",[106,184,186,189,191,194,198,201],{"class":132,"line":185},5,[106,187,188],{"class":158},"        name",[106,190,162],{"class":151},[106,192,193],{"class":151}," '",[106,195,197],{"class":196},"sfazB","post",[106,199,200],{"class":151},"'",[106,202,203],{"class":151},",\n",[106,205,207,210,212,214,217,219],{"class":132,"line":206},6,[106,208,209],{"class":158},"        label",[106,211,162],{"class":151},[106,213,193],{"class":151},[106,215,216],{"class":196},"Posts",[106,218,200],{"class":151},[106,220,203],{"class":151},[106,222,224,227,229,231,234,236],{"class":132,"line":223},7,[106,225,226],{"class":158},"        path",[106,228,162],{"class":151},[106,230,193],{"class":151},[106,232,233],{"class":196},"content\u002Fposts",[106,235,200],{"class":151},[106,237,203],{"class":151},[106,239,241,244,246,248,251,253],{"class":132,"line":240},8,[106,242,243],{"class":158},"        format",[106,245,162],{"class":151},[106,247,193],{"class":151},[106,249,250],{"class":196},"md",[106,252,200],{"class":151},[106,254,203],{"class":151},[106,256,258,261,263],{"class":132,"line":257},9,[106,259,260],{"class":158},"        fields",[106,262,162],{"class":151},[106,264,176],{"class":147},[106,266,268],{"class":132,"line":267},10,[106,269,270],{"class":151},"         ...\n",[106,272,274,277],{"class":132,"line":273},11,[106,275,276],{"class":147},"        ]",[106,278,203],{"class":151},[106,280,282],{"class":132,"line":281},12,[106,283,284],{"class":151},"      },\n",[106,286,288,291],{"class":132,"line":287},13,[106,289,290],{"class":147},"    ]",[106,292,203],{"class":151},[106,294,296],{"class":132,"line":295},14,[106,297,298],{"class":151},"  },\n",[106,300,302,305],{"class":132,"line":301},15,[106,303,304],{"class":151},"}",[106,306,307],{"class":147},")\n",[121,309,312],{"className":123,"code":310,"filename":311,"language":126,"meta":104,"style":104},"import { tinaFieldsToZodShape } from 'nuxt-tina\u002Futils'\nimport tinaConfig from '.\u002Ftina\u002Fconfig'\n\nconst postFields = tinaConfig.schema.collections.find(c => c.name === 'post')!.fields\n\nexport default defineContentConfig({\n  collections: {\n    posts: defineCollection({\n      type: 'page',\n      source: 'posts\u002F*.md',\n      schema: z.object(tinaFieldsToZodShape(postFields, z)),\n    }),\n  },\n})\n","content.config.ts",[128,313,314,339,356,362,428,432,445,454,468,484,500,531,540,544],{"__ignoreMap":104},[106,315,316,319,322,325,328,331,333,336],{"class":132,"line":133},[106,317,318],{"class":136},"import",[106,320,321],{"class":151}," {",[106,323,324],{"class":147}," tinaFieldsToZodShape",[106,326,327],{"class":151}," }",[106,329,330],{"class":136}," from",[106,332,193],{"class":151},[106,334,335],{"class":196},"nuxt-tina\u002Futils",[106,337,338],{"class":151},"'\n",[106,340,341,343,346,349,351,354],{"class":132,"line":155},[106,342,318],{"class":136},[106,344,345],{"class":147}," tinaConfig ",[106,347,348],{"class":136},"from",[106,350,193],{"class":151},[106,352,353],{"class":196},".\u002Ftina\u002Fconfig",[106,355,338],{"class":151},[106,357,358],{"class":132,"line":168},[106,359,361],{"emptyLinePlaceholder":360},true,"\n",[106,363,364,368,371,374,377,380,383,385,388,390,393,395,399,402,405,407,410,413,415,417,419,422,425],{"class":132,"line":179},[106,365,367],{"class":366},"spNyl","const",[106,369,370],{"class":147}," postFields ",[106,372,373],{"class":151},"=",[106,375,376],{"class":147}," tinaConfig",[106,378,379],{"class":151},".",[106,381,382],{"class":147},"schema",[106,384,379],{"class":151},[106,386,387],{"class":147},"collections",[106,389,379],{"class":151},[106,391,392],{"class":143},"find",[106,394,148],{"class":147},[106,396,398],{"class":397},"sHdIc","c",[106,400,401],{"class":366}," =>",[106,403,404],{"class":147}," c",[106,406,379],{"class":151},[106,408,409],{"class":147},"name ",[106,411,412],{"class":151},"===",[106,414,193],{"class":151},[106,416,197],{"class":196},[106,418,200],{"class":151},[106,420,421],{"class":147},")",[106,423,424],{"class":151},"!.",[106,426,427],{"class":147},"fields\n",[106,429,430],{"class":132,"line":185},[106,431,361],{"emptyLinePlaceholder":360},[106,433,434,436,438,441,443],{"class":132,"line":206},[106,435,137],{"class":136},[106,437,140],{"class":136},[106,439,440],{"class":143}," defineContentConfig",[106,442,148],{"class":147},[106,444,152],{"class":151},[106,446,447,450,452],{"class":132,"line":223},[106,448,449],{"class":158},"  collections",[106,451,162],{"class":151},[106,453,165],{"class":151},[106,455,456,459,461,464,466],{"class":132,"line":240},[106,457,458],{"class":158},"    posts",[106,460,162],{"class":151},[106,462,463],{"class":143}," defineCollection",[106,465,148],{"class":147},[106,467,152],{"class":151},[106,469,470,473,475,477,480,482],{"class":132,"line":257},[106,471,472],{"class":158},"      type",[106,474,162],{"class":151},[106,476,193],{"class":151},[106,478,479],{"class":196},"page",[106,481,200],{"class":151},[106,483,203],{"class":151},[106,485,486,489,491,493,496,498],{"class":132,"line":267},[106,487,488],{"class":158},"      source",[106,490,162],{"class":151},[106,492,193],{"class":151},[106,494,495],{"class":196},"posts\u002F*.md",[106,497,200],{"class":151},[106,499,203],{"class":151},[106,501,502,505,507,510,512,515,517,520,523,526,529],{"class":132,"line":273},[106,503,504],{"class":158},"      schema",[106,506,162],{"class":151},[106,508,509],{"class":147}," z",[106,511,379],{"class":151},[106,513,514],{"class":143},"object",[106,516,148],{"class":147},[106,518,519],{"class":143},"tinaFieldsToZodShape",[106,521,522],{"class":147},"(postFields",[106,524,525],{"class":151},",",[106,527,528],{"class":147}," z))",[106,530,203],{"class":151},[106,532,533,536,538],{"class":132,"line":281},[106,534,535],{"class":151},"    }",[106,537,421],{"class":147},[106,539,203],{"class":151},[106,541,542],{"class":132,"line":287},[106,543,298],{"class":151},[106,545,546,548],{"class":132,"line":295},[106,547,304],{"class":151},[106,549,307],{"class":147},[551,552,555],"u-page-section",{"description":553,"title":554},"TinaCMS has no official Vue\u002FNuxt integration yet. This module closes that gap with a bridge that's already been tested end-to-end.","Why nuxt-tina?",[556,557,558,566,572,577],"u-page-grid",{},[559,560],"u-page-card",{":spotlight":561,"description":562,"icon":563,"spotlightColor":564,"title":24,"variant":565},"true","A two-way postMessage bridge between Tina Admin and your Nuxt page, live patching, no reload. The main reason this module exists.","i-lucide-eye","primary","solid",[559,567],{":spotlight":561,"description":568,"icon":569,"spotlightColor":564,"title":570,"variant":571},"Derive a Nuxt Content Zod schema straight from your Tina fields, so you write them once.","i-lucide-file-code-2","Nuxt Content bridge","outline",[559,573],{":spotlight":561,"description":574,"icon":575,"spotlightColor":564,"title":576,"variant":571},"Plain form editing at \u002Fadmin runs independently of the visual editing bridge.","i-lucide-shield-check","Basic CMS mode stays stable",[559,578],{":spotlight":561,"description":579,"icon":580,"spotlightColor":564,"title":581,"variant":571},"Auth, branch, and the Tina Cloud content API are verified working end-to-end.","i-lucide-cloud","Tina Cloud ready",[583,584,585],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":104,"searchDepth":155,"depth":155,"links":587},[],"A Nuxt module integrating TinaCMS with contextual\u002Fvisual editing over an iframe postMessage bridge.",{},"\u002Fen",{"ogImage":592,"title":90,"description":588},"\u002Ftemplate.png","en\u002Findex","d5gQKiR7kAjvwJ1kNhVaLRe1b-HOgo-X-otp3UbeSTI",1789757552601]