[{"data":1,"prerenderedAt":770},["ShallowReactive",2],{"navigation":3,"/docs/studio/setup":179,"FSMwxVaUxD":757},[4,24,43,61,83,101,119,149],{"title":5,"path":6,"stem":7,"children":8,"icon":23},"Getting Started","/docs/getting-started","docs/1.getting-started/1.index",[9,11,15,19],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Installation","/docs/getting-started/installation","docs/1.getting-started/2.installation",{"title":16,"path":17,"stem":18},"Configuration","/docs/getting-started/configuration","docs/1.getting-started/3.configuration",{"title":20,"path":21,"stem":22},"Migration","/docs/getting-started/migration","docs/1.getting-started/4.migration","i-lucide-square-play",{"title":25,"icon":26,"path":27,"stem":28,"children":29,"page":42},"Collections","i-lucide-database","/docs/collections","docs/2.collections",[30,34,38],{"title":31,"path":32,"stem":33},"Define","/docs/collections/define","docs/2.collections/1.define",{"title":35,"path":36,"stem":37},"Types","/docs/collections/types","docs/2.collections/2.types",{"title":39,"path":40,"stem":41},"Sources","/docs/collections/sources","docs/2.collections/3.sources",false,{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":42},"Files","i-lucide-file","/docs/files","docs/3.files",[49,53,57],{"title":50,"path":51,"stem":52},"Markdown","/docs/files/markdown","docs/3.files/1.markdown",{"title":54,"path":55,"stem":56},"YAML","/docs/files/yaml","docs/3.files/2.yaml",{"title":58,"path":59,"stem":60},"JSON","/docs/files/json","docs/3.files/3.json",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":42},"Vue Utils","i-lucide-square-function","/docs/utils","docs/4.utils",[67,71,75,79],{"title":68,"path":69,"stem":70},"queryCollection","/docs/utils/query-collection","docs/4.utils/1.query-collection",{"title":72,"path":73,"stem":74},"queryCollectionNavigation","/docs/utils/query-collection-navigation","docs/4.utils/2.query-collection-navigation",{"title":76,"path":77,"stem":78},"queryCollectionItemSurroundings","/docs/utils/query-collection-item-surroundings","docs/4.utils/3.query-collection-item-surroundings",{"title":80,"path":81,"stem":82},"queryCollectionSearchSections","/docs/utils/query-collection-search-sections","docs/4.utils/4.query-collection-search-sections",{"title":84,"icon":85,"path":86,"stem":87,"children":88,"page":42},"Components","i-lucide-square-code","/docs/components","docs/5.components",[89,93,97],{"title":90,"path":91,"stem":92},"ContentRenderer","/docs/components/content-renderer","docs/5.components/0.content-renderer",{"title":94,"path":95,"stem":96},"Slot","/docs/components/slot","docs/5.components/1.slot",{"title":98,"path":99,"stem":100},"Prose Components","/docs/components/prose","docs/5.components/2.prose",{"title":102,"icon":103,"path":104,"stem":105,"children":106,"page":42},"Deploy","i-lucide-cloud-upload","/docs/deploy","docs/6.deploy",[107,111,115],{"title":108,"path":109,"stem":110},"Server","/docs/deploy/server","docs/6.deploy/1.server",{"title":112,"path":113,"stem":114},"Serverless","/docs/deploy/serverless","docs/6.deploy/2.serverless",{"title":116,"path":117,"stem":118},"Static","/docs/deploy/static","docs/6.deploy/3.static",{"title":120,"icon":121,"path":122,"stem":123,"children":124,"page":42},"Advanced","i-lucide-code-xml","/docs/advanced","docs/7.advanced",[125,129,133,137,141,145],{"title":126,"path":127,"stem":128},"Full-Text Search","/docs/advanced/fulltext-search","docs/7.advanced/1.fulltext-search",{"title":130,"path":131,"stem":132},"Raw Content","/docs/advanced/raw-content","docs/7.advanced/2.raw-content",{"title":134,"path":135,"stem":136},"SQL Storage","/docs/advanced/database","docs/7.advanced/3.database",{"title":138,"path":139,"stem":140},"Debugging tools","/docs/advanced/tools","docs/7.advanced/4.tools",{"title":142,"path":143,"stem":144},"Hooks","/docs/advanced/hooks","docs/7.advanced/5.hooks",{"title":146,"path":147,"stem":148},"Custom Source","/docs/advanced/custom-source","docs/7.advanced/6.custom-source",{"title":150,"icon":151,"path":152,"stem":153,"children":154,"page":42},"Studio","i-lucide-monitor","/docs/studio","docs/8.studio",[155,159,163,167,171,175],{"title":156,"path":157,"stem":158},"Setup","/docs/studio/setup","docs/8.studio/1.setup",{"title":160,"path":161,"stem":162},"Synchronization","/docs/studio/github","docs/8.studio/2.github",{"title":164,"path":165,"stem":166},"Content editors","/docs/studio/content","docs/8.studio/3.content",{"title":168,"path":169,"stem":170},"Medias","/docs/studio/medias","docs/8.studio/4.medias",{"title":172,"path":173,"stem":174},"App Config","/docs/studio/config","docs/8.studio/5.config",{"title":176,"path":177,"stem":178},"Local Debug","/docs/studio/debug","docs/8.studio/6.debug",{"page":180,"surround":752},{"id":181,"title":182,"body":183,"description":744,"extension":745,"links":746,"meta":747,"navigation":748,"path":157,"seo":749,"stem":158},"docs/docs/8.studio/1.setup.md","Setup Nuxt Studio",{"type":184,"value":185,"toc":730},"minimal",[186,190,207,210,216,221,236,242,246,249,260,267,270,277,280,285,325,330,340,435,445,450,461,726],[187,188,189],"p",{},"Studio is an intuitive CMS interface to edit your Nuxt Content websites.",[187,191,192,193,197,198,200,201,203,204,206],{},"It take advantage of the ",[194,195,196],"code",{},"Preview API"," included in Nuxt Content to propose the best editing experience for your content files. Editors can benefit from a user-friendly interface to edit their ",[194,199,50],{},", ",[194,202,54],{}," or ",[194,205,58],{}," files.",[187,208,209],{},"Developers can customize the edition experience and provide tools to the editor who can focus on content without requiring any technical expertise.",[211,212],"video",{":autoplay":213,":controls":213,":loop":213,"poster":214,"src":215},"true","/home/videos/HomeNotionLikePoster.webp","https://res.cloudinary.com/nuxt/video/upload/v1733494722/contentv3final_rc8bvu.mp4",[217,218,220],"h2",{"id":219},"authentication","Authentication",[187,222,223,224,231,232,235],{},"The Studio admin is located on ",[225,226,230],"a",{"href":227,"rel":228},"https://nuxt.studio",[229],"nofollow","nuxt.studio",". From there you can either login with GitHub or with Google. Both methods give you the same edition rights but since Studio is ",[225,233,234],{"href":161},"synchronized with GitHub",", the repository import must be handled by a GitHub user.",[237,238,239],"warning",{},[187,240,241],{},"Google authentication is adapted for non technical users. Google users have to join a team with existing projects to edit them.",[217,243,245],{"id":244},"connect-your-nuxt-content-repository","Connect your Nuxt Content Repository",[187,247,248],{},"Once you are logged in the admin, you have the possibility to import your Nuxt Content repository from the interface.",[250,251,252],"tip",{},[187,253,254,255,259],{},"Two options are available, you can either import an existing repository or use one of our ",[225,256,258],{"href":257},"/templates","templates",".",[187,261,262,263,266],{},"The only requirement is to host your repository on GitHub. From the interface, connect to our ",[225,264,265],{"href":161},"GitHub app",", you'll be then able to link a GitHub repository to your Studio project.",[187,268,269],{},"Once the project is created, you can start editing your files with the Studio editors and publish your changes.",[217,271,273],{"id":272},"enable-the-full-editing-experience",[274,275,276],"strong",{},"Enable the Full Editing Experience",[187,278,279],{},"To unlock the complete range of features in Studio, make sure your project URL is properly configured in the deployment section.",[187,281,282],{},[274,283,284],{},"This will enable all Studio features including:",[286,287,288,295,304,315],"ul",{},[289,290,291,294],"li",{},[274,292,293],{},"Live preview of your website:"," instantly see changes reflected on your site as you work.",[289,296,297,300,301,259],{},[274,298,299],{},"Dynamic form generation:"," Automatically generate forms to edit your files based on your Nuxt Content ",[225,302,303],{"href":32},"collections",[289,305,306,309,310,314],{},[274,307,308],{},"Enhanced markdown editors:"," enjoy an improved editing experience, including the ability to list and integrate ",[225,311,313],{"href":312},"/docs/studio/content#vue-components","Vue components"," that you’ve exposed.",[289,316,317,320,321,324],{},[274,318,319],{},"Automatic app configuration:"," generate ",[225,322,323],{"href":173},"application configurations"," based on the schema you’ve defined.",[250,326,327],{},[187,328,329],{},"We are proposing a GitHub Pages deployment. By using it, we will handle all the requirements for you. However, if you want to use the deployment platform of your choice, please follow the simple guideline below.",[187,331,332,333,335,336,339],{},"To be able to set your URL in Studio, you just need to set the ",[194,334,196],{}," in the content configuration of your ",[194,337,338],{},"nuxt.config.ts"," file.",[341,342,347],"pre",{"className":343,"code":344,"filename":338,"language":345,"meta":346,"style":346},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  content: {\n    preview: {\n      api: 'https://api.nuxt.studio'\n    }\n  }\n})\n","ts","",[194,348,349,373,386,396,414,420,426],{"__ignoreMap":346},[350,351,354,358,361,365,369],"span",{"class":352,"line":353},"line",1,[350,355,357],{"class":356},"s8pZq","export",[350,359,360],{"class":356}," default",[350,362,364],{"class":363},"swgpB"," defineNuxtConfig",[350,366,368],{"class":367},"sndM8","(",[350,370,372],{"class":371},"s86vT","{\n",[350,374,376,380,383],{"class":352,"line":375},2,[350,377,379],{"class":378},"sd2Uz","  content",[350,381,382],{"class":371},":",[350,384,385],{"class":371}," {\n",[350,387,389,392,394],{"class":352,"line":388},3,[350,390,391],{"class":378},"    preview",[350,393,382],{"class":371},[350,395,385],{"class":371},[350,397,399,402,404,407,411],{"class":352,"line":398},4,[350,400,401],{"class":378},"      api",[350,403,382],{"class":371},[350,405,406],{"class":371}," '",[350,408,410],{"class":409},"sIEYB","https://api.nuxt.studio",[350,412,413],{"class":371},"'\n",[350,415,417],{"class":352,"line":416},5,[350,418,419],{"class":371},"    }\n",[350,421,423],{"class":352,"line":422},6,[350,424,425],{"class":371},"  }\n",[350,427,429,432],{"class":352,"line":428},7,[350,430,431],{"class":371},"}",[350,433,434],{"class":367},")\n",[187,436,437,438,440,441,444],{},"Once deployed, you can ensure the ",[194,439,196],{}," has been activated by navigating to the ",[194,442,443],{},"/__preview.json"," page on your site. This metadata page is automatically generated by the Content module and must be accessible to connect your URL in the self-hosted section of Studio.",[446,447,449],"h3",{"id":448},"troubleshooting","Troubleshooting",[187,451,452,453,456,457,460],{},"The ",[194,454,455],{},"__preview.json"," file is generated but you encounter a ",[194,458,459],{},"Forbidden error: invalid property check"," when setting your URL in the self-hosted section, follow these steps:",[462,463,465,477,568,573,582,709,715],"prose-steps",{"level":464},"4",[466,467,469,470,473,474,476],"h4",{"id":468},"ensure-the-gitinfo-field-is-set-and-accurate-in-the-__previewjson-file","Ensure the ",[194,471,472],{},"gitInfo"," field is set and accurate in the ",[194,475,455],{}," file",[341,478,483],{"className":479,"code":480,"filename":481,"language":482,"meta":346,"style":346},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\"gitInfo\": {\n  \"name\": \"content\",\n  \"owner\": \"nuxt\",\n  \"url\": \"https://github.com/nuxt/content\"\n},\n","https://your-website.com/__preview.json","json",[194,484,485,499,523,543,562],{"__ignoreMap":346},[350,486,487,490,492,494,497],{"class":352,"line":353},[350,488,489],{"class":371},"\"",[350,491,472],{"class":409},[350,493,489],{"class":371},[350,495,496],{"class":367},": ",[350,498,372],{"class":371},[350,500,501,504,508,510,512,515,518,520],{"class":352,"line":375},[350,502,503],{"class":371},"  \"",[350,505,507],{"class":506},"s50WR","name",[350,509,489],{"class":371},[350,511,382],{"class":371},[350,513,514],{"class":371}," \"",[350,516,517],{"class":409},"content",[350,519,489],{"class":371},[350,521,522],{"class":371},",\n",[350,524,525,527,530,532,534,536,539,541],{"class":352,"line":388},[350,526,503],{"class":371},[350,528,529],{"class":506},"owner",[350,531,489],{"class":371},[350,533,382],{"class":371},[350,535,514],{"class":371},[350,537,538],{"class":409},"nuxt",[350,540,489],{"class":371},[350,542,522],{"class":371},[350,544,545,547,550,552,554,556,559],{"class":352,"line":398},[350,546,503],{"class":371},[350,548,549],{"class":506},"url",[350,551,489],{"class":371},[350,553,382],{"class":371},[350,555,514],{"class":371},[350,557,558],{"class":409},"https://github.com/nuxt/content",[350,560,561],{"class":371},"\"\n",[350,563,564,566],{"class":352,"line":416},[350,565,431],{"class":371},[350,567,522],{"class":367},[237,569,570],{},[187,571,572],{},"This information should be populated automatically in most cases. We support most popular providers (NuxtHub, Vercel, Netlify, etc.), but if you're using a non supported provider or a custom one, it may not be fetched correctly.",[466,574,576,577,579,580],{"id":575},"override-gitinfo-in-your-nuxtconfigts","Override ",[194,578,472],{}," in your ",[194,581,338],{},[341,583,585],{"className":343,"code":584,"filename":338,"language":345,"meta":346,"style":346},"export default defineNuxtConfig({\n  content: {\n    preview: {\n      api: 'https://api.nuxt.studio',\n      gitInfo: {\n        name: 'Your repository name',\n        owner: 'Your repository owner/organization',\n        url: 'Your GitHub repository URL'\n      }\n    }\n  }\n})\n",[194,586,587,599,607,615,630,639,655,671,686,692,697,702],{"__ignoreMap":346},[350,588,589,591,593,595,597],{"class":352,"line":353},[350,590,357],{"class":356},[350,592,360],{"class":356},[350,594,364],{"class":363},[350,596,368],{"class":367},[350,598,372],{"class":371},[350,600,601,603,605],{"class":352,"line":375},[350,602,379],{"class":378},[350,604,382],{"class":371},[350,606,385],{"class":371},[350,608,609,611,613],{"class":352,"line":388},[350,610,391],{"class":378},[350,612,382],{"class":371},[350,614,385],{"class":371},[350,616,617,619,621,623,625,628],{"class":352,"line":398},[350,618,401],{"class":378},[350,620,382],{"class":371},[350,622,406],{"class":371},[350,624,410],{"class":409},[350,626,627],{"class":371},"'",[350,629,522],{"class":371},[350,631,632,635,637],{"class":352,"line":416},[350,633,634],{"class":378},"      gitInfo",[350,636,382],{"class":371},[350,638,385],{"class":371},[350,640,641,644,646,648,651,653],{"class":352,"line":422},[350,642,643],{"class":378},"        name",[350,645,382],{"class":371},[350,647,406],{"class":371},[350,649,650],{"class":409},"Your repository name",[350,652,627],{"class":371},[350,654,522],{"class":371},[350,656,657,660,662,664,667,669],{"class":352,"line":428},[350,658,659],{"class":378},"        owner",[350,661,382],{"class":371},[350,663,406],{"class":371},[350,665,666],{"class":409},"Your repository owner/organization",[350,668,627],{"class":371},[350,670,522],{"class":371},[350,672,674,677,679,681,684],{"class":352,"line":673},8,[350,675,676],{"class":378},"        url",[350,678,382],{"class":371},[350,680,406],{"class":371},[350,682,683],{"class":409},"Your GitHub repository URL",[350,685,413],{"class":371},[350,687,689],{"class":352,"line":688},9,[350,690,691],{"class":371},"      }\n",[350,693,695],{"class":352,"line":694},10,[350,696,419],{"class":371},[350,698,700],{"class":352,"line":699},11,[350,701,425],{"class":371},[350,703,705,707],{"class":352,"line":704},12,[350,706,431],{"class":371},[350,708,434],{"class":367},[466,710,712,713],{"id":711},"ensure-these-fields-are-correctly-set-in-__previewjson","Ensure these fields are correctly set in ",[194,714,455],{},[187,716,452,717,720,721,259],{},[194,718,719],{},"Forbidden error"," should be resolved and you should be able to set your URL on Nuxt Studio. If not, please contact us on the ",[225,722,725],{"href":723,"rel":724},"https://discord.gg/sBXDm6e8SP",[229],"Discord server",[727,728,729],"style",{},"html pre.shiki code .s8pZq, html code.shiki .s8pZq{--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 .swgpB, html code.shiki .swgpB{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sndM8, html code.shiki .sndM8{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s86vT, html code.shiki .s86vT{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sd2Uz, html code.shiki .sd2Uz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sIEYB, html code.shiki .sIEYB{--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 .s50WR, html code.shiki .s50WR{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":346,"searchDepth":398,"depth":398,"links":731},[732,733,734],{"id":219,"depth":375,"text":220},{"id":244,"depth":375,"text":245},{"id":272,"depth":375,"text":276,"children":735},[736],{"id":448,"depth":388,"text":449,"children":737},[738,740,742],{"id":468,"depth":398,"text":739},"Ensure the gitInfo field is set and accurate in the __preview.json file",{"id":575,"depth":398,"text":741},"Override gitInfo in your nuxt.config.ts",{"id":711,"depth":398,"text":743},"Ensure these fields are correctly set in __preview.json","Studio is the intuitive CMS interface to edit Nuxt Content websites. Edit your Markdown, YAML and JSON files and publish your changes to GitHub.","md",null,{},{"title":156},{"title":750,"description":751},"Introduction and setup of Nuxt Studio - the visual CMS platform of Nuxt Content","Studio is a the Git-based CMS platform for Nuxt Content websites, providing an intuitive interface to edit your Markdown, YAML and JSON files and publish your changes to GitHub.",[753,755],{"title":146,"path":147,"stem":148,"description":754,"children":-1},"Define a custom source to retrive data.",{"title":160,"path":161,"stem":162,"description":756,"children":-1},"Nuxt Studio is natively synced with GitHub. Install the Nuxt Studio GitHub app and enable content publication on GitHub directly from Studio.",{"data":758,"body":759,"excerpt":-1,"toc":768},{"title":346,"description":744},{"type":760,"children":761},"root",[762],{"type":763,"tag":187,"props":764,"children":765},"element",{},[766],{"type":767,"value":744},"text",{"title":346,"searchDepth":375,"depth":375,"links":769},[],1737541420426]