[{"data":1,"prerenderedAt":2710},["ShallowReactive",2],{"navigation_docs":3,"-content":44,"-content-surround":2705},[4,9,14,19,24,29,34,39],{"title":5,"path":6,"stem":7,"icon":8},"Introduction","\u002Fintroduction","1.introduction","i-lucide-monitor",{"title":10,"path":11,"stem":12,"icon":13},"Setup","\u002Fsetup","2.setup","i-lucide-play",{"title":15,"path":16,"stem":17,"icon":18},"Git Providers","\u002Fgit-providers","3.git-providers","i-lucide-git-branch",{"title":20,"path":21,"stem":22,"icon":23},"Auth Providers","\u002Fauth-providers","4.auth-providers","i-lucide-shield-check",{"title":25,"path":26,"stem":27,"icon":28},"Content Editors","\u002Fcontent","5.content","i-lucide-pen-tool",{"title":30,"path":31,"stem":32,"icon":33},"Media Library","\u002Fmedias","6.medias","i-lucide-image",{"title":35,"path":36,"stem":37,"icon":38},"AI Features","\u002Fai","7.ai","i-lucide-sparkles",{"title":40,"path":41,"stem":42,"icon":43},"Advanced","\u002Fadvanced","9.advanced","i-lucide-settings",{"id":45,"title":46,"body":47,"description":2696,"extension":2697,"links":2698,"meta":2699,"navigation":2700,"path":26,"seo":2701,"stem":27,"__hash__":2704},"docs\u002F5.content.md","Edit your content",{"type":48,"value":49,"toc":2680},"minimark",[50,54,91,99,104,111,125,128,135,151,157,162,251,255,258,261,264,1014,1026,1030,1037,1053,1056,1066,1070,1073,1091,1100,1111,1114,1121,1627,1633,1636,1680,1684,1690,1693,1697,2034,2038,2045,2056,2073,2079,2082,2088,2091,2097,2100,2106,2115,2121,2124,2132,2136,2654,2657,2661,2664,2676],[51,52,53],"p",{},"Nuxt Studio offers a versatile workspace for both developers and content writers, giving them the freedom to choose between our different editors:",[55,56,57,71,84],"ul",{},[58,59,60,65,66,70],"li",{},[61,62,64],"a",{"href":63},"#notion-like-editor-markdown-files","Notion-like editor"," for ",[67,68,69],"code",{},"Markdown"," files",[58,72,73,65,77,80,81,70],{},[61,74,76],{"href":75},"#form-editor","Form editor",[67,78,79],{},"YAML"," and ",[67,82,83],{},"JSON",[58,85,86,90],{},[61,87,89],{"href":88},"#code-editor","Code editor"," for any kind of files (for technical users only)",[51,92,93,94,98],{},"Each editor serves its own purpose. Some users prefer visual editing, while others prefer direct code manipulation. At the end, ",[95,96,97],"strong",{},"Markdown and MDC syntax is the final output"," for both editors, with seamless conversion between visual and code modes.",[100,101,103],"h2",{"id":102},"editor-mode-switching","Editor Mode Switching",[51,105,106,107,110],{},"You can switch between the visual editor and code editor at any time by clicking the ",[95,108,109],{},"actions dropdown"," in the file header (on the right of the breadcrumb):",[55,112,113,119],{},[58,114,115,118],{},[95,116,117],{},"Visual Mode"," - Notion-like editing experience for Markdown and Form editor for YAML\u002FJSON files.",[58,120,121,124],{},[95,122,123],{},"Code Mode"," (Monaco) - Direct Markdown\u002FMDC syntax editing",[51,126,127],{},"Your preference is saved and will be used for all files.",[100,129,131,132,134],{"id":130},"tiptap-visual-editor-markdown-files","TipTap Visual Editor (",[67,133,69],{}," files)",[51,136,137,138,144,145,150],{},"The TipTap visual editor provides a modern Notion-like editing experience for Markdown content, powered by the popular ",[61,139,143],{"href":140,"rel":141},"https:\u002F\u002Ftiptap.dev\u002F",[142],"nofollow","TipTap"," editor integrated by ",[61,146,149],{"href":147,"rel":148},"https:\u002F\u002Fui.nuxt.com\u002Fpro\u002Fcomponents\u002Feditor",[142],"Nuxt UI Editor",".",[152,153],"video",{":controls":154,":loop":154,"src":155,"poster":156},"true","https:\u002F\u002Fres.cloudinary.com\u002Fnuxt\u002Fvideo\u002Fupload\u002Fv1767647099\u002Fstudio\u002Fstudio-demo_eiofld.mp4","\u002Fvideo-thumbnail.jpg",[158,159,161],"h3",{"id":160},"key-features","Key Features",[55,163,164,170,176,182,193,199,205,218,227,233,239,245],{},[58,165,166,169],{},[95,167,168],{},"Rich Text Editing"," - Format text with headings, bold, italic, strikethrough, code, links, and more",[58,171,172,175],{},[95,173,174],{},"MDC Component Support"," - Insert and edit custom Vue components directly in the visual editor",[58,177,178,181],{},[95,179,180],{},"Vue Component Props Editor"," - Visually edit component properties through a form-based interface",[58,183,184,187,188],{},[95,185,186],{},"Data Binding"," - Bind component props to frontmatter variables using the ",[61,189,192],{"href":190,"rel":191},"https:\u002F\u002Fcontent.nuxt.com\u002Fdocs\u002Ffiles\u002Fmarkdown#binding-data",[142],"MDC binding syntax",[58,194,195,198],{},[95,196,197],{},"Span-style Formatting"," - Apply inline text styles using the toolbar button for custom text formatting",[58,200,201,204],{},[95,202,203],{},"Media Integration"," - Browse in media picker to insert images from your library",[58,206,207,210,211,214,215],{},[95,208,209],{},"Emoji Integration"," - Type ",[67,212,213],{},":"," followed by an emoji name to insert emojis, or use the slash command ",[67,216,217],{},"\u002Femoji",[58,219,220,210,223,226],{},[95,221,222],{},"Slash Commands",[67,224,225],{},"\u002F"," to access a menu of formatting options and components",[58,228,229,232],{},[95,230,231],{},"Drag & Drop"," - Reorder content blocks by dragging them",[58,234,235,238],{},[95,236,237],{},"Link Editor"," - Floating popover for editing links with external link support",[58,240,241,244],{},[95,242,243],{},"Toolbar"," - Bubble toolbar appears when you select text, providing quick access to formatting options",[58,246,247,250],{},[95,248,249],{},"Real-time Conversion"," - Seamlessly converts between visual content and MDC\u002FMarkdown syntax",[158,252,254],{"id":253},"integrate-components","Integrate Components",[51,256,257],{},"One of the TipTap visual editor's standout features is its ability to integrate and edit custom Vue components directly within the editor interface.",[152,259],{":controls":154,":loop":154,"src":260,"poster":156,":muted":154},"https:\u002F\u002Fres.cloudinary.com\u002Fnuxt\u002Fvideo\u002Fupload\u002Fv1767981444\u002Fstudio\u002Fvidefinalfainalfinalvibecoding_tjuudu.mp4",[51,262,263],{},"Developers can create visually complex components, and editors can use them without technical knowledge. The visual editor handles component integration seamlessly.",[265,266,268,273,638,642,650,709,713,722,728,824,827,984,988,992],"steps",{"level":267},"4",[269,270,272],"h4",{"id":271},"create-your-component","Create your component",[274,275,281],"pre",{"className":276,"code":277,"filename":278,"language":279,"meta":280,"style":280},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003Cdiv class=\"flex items-start gap-3\">\n    \u003Cdiv class=\"flex items-center justify-center border rounded-lg p-1.5\">\n      \u003CUIcon :name=\"icon\" \u002F>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"flex flex-col\">\n      \u003Ch3 class=\"font-semibold\">\n        \u003Cslot name=\"title\" \u002F>\n      \u003C\u002Fh3>\n      \u003Cspan>\n        \u003Cslot name=\"description\" \u002F>\n      \u003C\u002Fspan>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\ndefineProps({\n  icon: {\n    type: String,\n    default: 'i-lucide-cursor-click',\n  },\n})\n\u003C\u002Fscript>\n","components\u002Fcontent\u002FHomeFeature.vue","vue","",[67,282,283,299,326,347,375,385,405,425,448,458,467,487,496,505,515,525,532,557,570,581,595,614,620,629],{"__ignoreMap":280},[284,285,288,292,296],"span",{"class":286,"line":287},"line",1,[284,289,291],{"class":290},"sMK4o","\u003C",[284,293,295],{"class":294},"swJcz","template",[284,297,298],{"class":290},">\n",[284,300,302,305,308,312,315,318,322,324],{"class":286,"line":301},2,[284,303,304],{"class":290},"  \u003C",[284,306,307],{"class":294},"div",[284,309,311],{"class":310},"spNyl"," class",[284,313,314],{"class":290},"=",[284,316,317],{"class":290},"\"",[284,319,321],{"class":320},"sfazB","flex items-start gap-3",[284,323,317],{"class":290},[284,325,298],{"class":290},[284,327,329,332,334,336,338,340,343,345],{"class":286,"line":328},3,[284,330,331],{"class":290},"    \u003C",[284,333,307],{"class":294},[284,335,311],{"class":310},[284,337,314],{"class":290},[284,339,317],{"class":290},[284,341,342],{"class":320},"flex items-center justify-center border rounded-lg p-1.5",[284,344,317],{"class":290},[284,346,298],{"class":290},[284,348,350,353,356,359,362,364,366,370,372],{"class":286,"line":349},4,[284,351,352],{"class":290},"      \u003C",[284,354,355],{"class":294},"UIcon",[284,357,358],{"class":290}," :",[284,360,361],{"class":310},"name",[284,363,314],{"class":290},[284,365,317],{"class":290},[284,367,369],{"class":368},"sTEyZ","icon",[284,371,317],{"class":290},[284,373,374],{"class":290}," \u002F>\n",[284,376,378,381,383],{"class":286,"line":377},5,[284,379,380],{"class":290},"    \u003C\u002F",[284,382,307],{"class":294},[284,384,298],{"class":290},[284,386,388,390,392,394,396,398,401,403],{"class":286,"line":387},6,[284,389,331],{"class":290},[284,391,307],{"class":294},[284,393,311],{"class":310},[284,395,314],{"class":290},[284,397,317],{"class":290},[284,399,400],{"class":320},"flex flex-col",[284,402,317],{"class":290},[284,404,298],{"class":290},[284,406,408,410,412,414,416,418,421,423],{"class":286,"line":407},7,[284,409,352],{"class":290},[284,411,158],{"class":294},[284,413,311],{"class":310},[284,415,314],{"class":290},[284,417,317],{"class":290},[284,419,420],{"class":320},"font-semibold",[284,422,317],{"class":290},[284,424,298],{"class":290},[284,426,428,431,434,437,439,441,444,446],{"class":286,"line":427},8,[284,429,430],{"class":290},"        \u003C",[284,432,433],{"class":294},"slot",[284,435,436],{"class":310}," name",[284,438,314],{"class":290},[284,440,317],{"class":290},[284,442,443],{"class":320},"title",[284,445,317],{"class":290},[284,447,374],{"class":290},[284,449,451,454,456],{"class":286,"line":450},9,[284,452,453],{"class":290},"      \u003C\u002F",[284,455,158],{"class":294},[284,457,298],{"class":290},[284,459,461,463,465],{"class":286,"line":460},10,[284,462,352],{"class":290},[284,464,284],{"class":294},[284,466,298],{"class":290},[284,468,470,472,474,476,478,480,483,485],{"class":286,"line":469},11,[284,471,430],{"class":290},[284,473,433],{"class":294},[284,475,436],{"class":310},[284,477,314],{"class":290},[284,479,317],{"class":290},[284,481,482],{"class":320},"description",[284,484,317],{"class":290},[284,486,374],{"class":290},[284,488,490,492,494],{"class":286,"line":489},12,[284,491,453],{"class":290},[284,493,284],{"class":294},[284,495,298],{"class":290},[284,497,499,501,503],{"class":286,"line":498},13,[284,500,380],{"class":290},[284,502,307],{"class":294},[284,504,298],{"class":290},[284,506,508,511,513],{"class":286,"line":507},14,[284,509,510],{"class":290},"  \u003C\u002F",[284,512,307],{"class":294},[284,514,298],{"class":290},[284,516,518,521,523],{"class":286,"line":517},15,[284,519,520],{"class":290},"\u003C\u002F",[284,522,295],{"class":294},[284,524,298],{"class":290},[284,526,528],{"class":286,"line":527},16,[284,529,531],{"emptyLinePlaceholder":530},true,"\n",[284,533,535,537,540,543,546,548,550,553,555],{"class":286,"line":534},17,[284,536,291],{"class":290},[284,538,539],{"class":294},"script",[284,541,542],{"class":310}," setup",[284,544,545],{"class":310}," lang",[284,547,314],{"class":290},[284,549,317],{"class":290},[284,551,552],{"class":320},"ts",[284,554,317],{"class":290},[284,556,298],{"class":290},[284,558,560,564,567],{"class":286,"line":559},18,[284,561,563],{"class":562},"s2Zo4","defineProps",[284,565,566],{"class":368},"(",[284,568,569],{"class":290},"{\n",[284,571,573,576,578],{"class":286,"line":572},19,[284,574,575],{"class":294},"  icon",[284,577,213],{"class":290},[284,579,580],{"class":290}," {\n",[284,582,584,587,589,592],{"class":286,"line":583},20,[284,585,586],{"class":294},"    type",[284,588,213],{"class":290},[284,590,591],{"class":368}," String",[284,593,594],{"class":290},",\n",[284,596,598,601,603,606,609,612],{"class":286,"line":597},21,[284,599,600],{"class":294},"    default",[284,602,213],{"class":290},[284,604,605],{"class":290}," '",[284,607,608],{"class":320},"i-lucide-cursor-click",[284,610,611],{"class":290},"'",[284,613,594],{"class":290},[284,615,617],{"class":286,"line":616},22,[284,618,619],{"class":290},"  },\n",[284,621,623,626],{"class":286,"line":622},23,[284,624,625],{"class":290},"}",[284,627,628],{"class":368},")\n",[284,630,632,634,636],{"class":286,"line":631},24,[284,633,520],{"class":290},[284,635,539],{"class":294},[284,637,298],{"class":290},[269,639,641],{"id":640},"use-in-markdown-with-mdc-syntax","Use in Markdown with MDC syntax",[51,643,644,645,213],{},"Components can be integrated using ",[61,646,649],{"href":647,"rel":648},"https:\u002F\u002Fcontent.nuxt.com\u002Fdocs\u002Ffiles\u002Fmarkdown#mdc-syntax",[142],"MDC syntax",[274,651,656],{"className":652,"code":653,"filename":654,"language":655,"meta":280,"style":280},"language-mdc shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","::home-feature\n  ---\n  icon: i-mdi-vuejs\n  ---\n  #title\n  Embedded Vue components\n  #description\n  Edit slots and props inside the visual editor.\n::\n","content\u002Findex.md","mdc",[67,657,658,666,671,680,684,689,694,699,704],{"__ignoreMap":280},[284,659,660,663],{"class":286,"line":287},[284,661,662],{"class":290},"::",[284,664,665],{"class":294},"home-feature\n",[284,667,668],{"class":286,"line":301},[284,669,670],{"class":368},"  ---\n",[284,672,673,675,677],{"class":286,"line":328},[284,674,575],{"class":294},[284,676,213],{"class":290},[284,678,679],{"class":320}," i-mdi-vuejs\n",[284,681,682],{"class":286,"line":349},[284,683,670],{"class":368},[284,685,686],{"class":286,"line":377},[284,687,688],{"class":310},"  #title\n",[284,690,691],{"class":286,"line":387},[284,692,693],{"class":368},"  Embedded Vue components\n",[284,695,696],{"class":286,"line":407},[284,697,698],{"class":310},"  #description\n",[284,700,701],{"class":286,"line":427},[284,702,703],{"class":368},"  Edit slots and props inside the visual editor.\n",[284,705,706],{"class":286,"line":450},[284,707,708],{"class":290},"::\n",[269,710,712],{"id":711},"ensure-components-are-listed","Ensure components are listed",[51,714,715,716,718,719,721],{},"If your component is not used in a ",[67,717,69],{}," file it won't be available in the components listed with the ",[67,720,225],{}," command.",[51,723,724,725,727],{},"To make sure components are listed with the ",[67,726,225],{}," command, make them globally registered:",[274,729,732],{"className":730,"code":731,"language":552,"meta":280,"style":280},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  components: [\n    {\n      path: '~\u002Fcomponents\u002Fcontent', \u002F\u002Fglobally register all components in the components\u002Fcontents folder\n      global: true,\n    }\n  ],  \n\n})\n",[67,733,734,750,760,765,786,799,804,814,818],{"__ignoreMap":280},[284,735,736,740,743,746,748],{"class":286,"line":287},[284,737,739],{"class":738},"s7zQu","export",[284,741,742],{"class":738}," default",[284,744,745],{"class":562}," defineNuxtConfig",[284,747,566],{"class":368},[284,749,569],{"class":290},[284,751,752,755,757],{"class":286,"line":301},[284,753,754],{"class":294},"  components",[284,756,213],{"class":290},[284,758,759],{"class":368}," [\n",[284,761,762],{"class":286,"line":328},[284,763,764],{"class":290},"    {\n",[284,766,767,770,772,774,777,779,782],{"class":286,"line":349},[284,768,769],{"class":294},"      path",[284,771,213],{"class":290},[284,773,605],{"class":290},[284,775,776],{"class":320},"~\u002Fcomponents\u002Fcontent",[284,778,611],{"class":290},[284,780,781],{"class":290},",",[284,783,785],{"class":784},"sHwdD"," \u002F\u002Fglobally register all components in the components\u002Fcontents folder\n",[284,787,788,791,793,797],{"class":286,"line":377},[284,789,790],{"class":294},"      global",[284,792,213],{"class":290},[284,794,796],{"class":795},"sfNiH"," true",[284,798,594],{"class":290},[284,800,801],{"class":286,"line":387},[284,802,803],{"class":290},"    }\n",[284,805,806,809,811],{"class":286,"line":407},[284,807,808],{"class":368},"  ]",[284,810,781],{"class":290},[284,812,813],{"class":368},"  \n",[284,815,816],{"class":286,"line":427},[284,817,531],{"emptyLinePlaceholder":530},[284,819,820,822],{"class":286,"line":450},[284,821,625],{"class":290},[284,823,628],{"class":368},[51,825,826],{},"or with perhaps more control:",[274,828,830],{"className":730,"code":829,"language":552,"meta":280,"style":280},"export default defineNuxtConfig({\n  hooks: {\n    'components:extend': (components) => {\n      const globals = components.filter(c => ['MyCustomComponent'].includes(c.pascalName))\n\n      globals.forEach(c => c.global = true)\n    }\n  },\n})\n",[67,831,832,844,853,880,936,940,970,974,978],{"__ignoreMap":280},[284,833,834,836,838,840,842],{"class":286,"line":287},[284,835,739],{"class":738},[284,837,742],{"class":738},[284,839,745],{"class":562},[284,841,566],{"class":368},[284,843,569],{"class":290},[284,845,846,849,851],{"class":286,"line":301},[284,847,848],{"class":294},"  hooks",[284,850,213],{"class":290},[284,852,580],{"class":290},[284,854,855,858,861,863,865,868,872,875,878],{"class":286,"line":328},[284,856,857],{"class":290},"    '",[284,859,860],{"class":294},"components:extend",[284,862,611],{"class":290},[284,864,213],{"class":290},[284,866,867],{"class":290}," (",[284,869,871],{"class":870},"sHdIc","components",[284,873,874],{"class":290},")",[284,876,877],{"class":310}," =>",[284,879,580],{"class":290},[284,881,882,885,888,891,894,896,899,901,904,906,909,911,914,916,919,921,924,926,928,930,933],{"class":286,"line":349},[284,883,884],{"class":310},"      const",[284,886,887],{"class":368}," globals",[284,889,890],{"class":290}," =",[284,892,893],{"class":368}," components",[284,895,150],{"class":290},[284,897,898],{"class":562},"filter",[284,900,566],{"class":294},[284,902,903],{"class":870},"c",[284,905,877],{"class":310},[284,907,908],{"class":294}," [",[284,910,611],{"class":290},[284,912,913],{"class":320},"MyCustomComponent",[284,915,611],{"class":290},[284,917,918],{"class":294},"]",[284,920,150],{"class":290},[284,922,923],{"class":562},"includes",[284,925,566],{"class":294},[284,927,903],{"class":368},[284,929,150],{"class":290},[284,931,932],{"class":368},"pascalName",[284,934,935],{"class":294},"))\n",[284,937,938],{"class":286,"line":377},[284,939,531],{"emptyLinePlaceholder":530},[284,941,942,945,947,950,952,954,956,959,961,964,966,968],{"class":286,"line":387},[284,943,944],{"class":368},"      globals",[284,946,150],{"class":290},[284,948,949],{"class":562},"forEach",[284,951,566],{"class":294},[284,953,903],{"class":870},[284,955,877],{"class":310},[284,957,958],{"class":368}," c",[284,960,150],{"class":290},[284,962,963],{"class":368},"global",[284,965,890],{"class":290},[284,967,796],{"class":795},[284,969,628],{"class":294},[284,971,972],{"class":286,"line":407},[284,973,803],{"class":290},[284,975,976],{"class":286,"line":427},[284,977,619],{"class":290},[284,979,980,982],{"class":286,"line":450},[284,981,625],{"class":290},[284,983,628],{"class":368},[985,986,987],"note",{},"Components from external libraries (like Nuxt UI) won't appear in Studio's component list. You can use the same hook to make them available.",[269,989,991],{"id":990},"edit-in-the-visual-editor","Edit in the Visual Editor",[993,994,995,1001,1004,1007],"ol",{},[58,996,997,998,1000],{},"Type ",[67,999,225],{}," anywhere while editing",[58,1002,1003],{},"Search for your component in the list",[58,1005,1006],{},"Insert and edit component slots directly in the editor",[58,1008,1009,1010,1013],{},"Click on any component to open the ",[95,1011,1012],{},"Props Editor"," panel and edit properties visually",[1015,1016,1018,1019,1022,1023,150],"tip",{"to":1017},"\u002Fsetup#editor","Customize which components appear in the editor, restrict icon libraries, and filter built-in slash menu entries using the ",[67,1020,1021],{},"studio.editor"," option in your ",[67,1024,1025],{},"nuxt.config.ts",[158,1027,1029],{"id":1028},"debug-mode","Debug Mode",[51,1031,1032,1033,1036],{},"Enable ",[95,1034,1035],{},"debug mode"," from the footer menu to see the real-time conversion between:",[55,1038,1039,1042,1050],{},[58,1040,1041],{},"TipTap JSON format",[58,1043,1044,1045,874],{},"Comark Tree (the compact array-based AST produced by ",[61,1046,1049],{"href":1047,"rel":1048},"https:\u002F\u002Fgithub.com\u002Fcomarkdown\u002Fcomark",[142],"comark",[58,1051,1052],{},"Final Markdown output",[51,1054,1055],{},"This is useful for understanding how content is transformed and to share troubleshooting.",[1057,1058,1059,1060,1062,1063,150],"prose-note",{},"Studio uses ",[95,1061,1049],{}," as its Markdown parser. When you type in the visual editor, the content flows through: TipTap JSON → MarkdownDocument → raw Markdown. The MarkdownDocument is also what gets stored in the browser SQLite database and committed to Git as raw markdown via ",[67,1064,1065],{},"renderMarkdown",[100,1067,1069],{"id":1068},"form-editor","Form Editor",[51,1071,1072],{},"The form editor is used for editing:",[55,1074,1075,1083,1087],{},[58,1076,1077,1080,1081,70],{},[95,1078,1079],{},"Frontmatter"," in ",[67,1082,69],{},[58,1084,1085,70],{},[95,1086,79],{},[58,1088,1089,70],{},[95,1090,83],{},[51,1092,1093,1094,1099],{},"It eliminates the need to interact directly with complex file syntax. Instead, forms are automatically generated based on your Nuxt Content ",[61,1095,1098],{"href":1096,"rel":1097},"https:\u002F\u002Fcontent.nuxt.com\u002Fdocs\u002Fcollections\u002Fdefine",[142],"collection schema"," definition.",[158,1101,1103,1106,1107,1110],{"id":1102},"defining-your-form-with-zod-schema",[95,1104,1105],{},"Defining your form with"," ",[67,1108,1109],{},"zod"," Schema",[985,1112,1113],{"to":1096},"Learn more about schema collection definition in the Nuxt Content documentation.",[51,1115,1116,1117,1120],{},"Once the ",[67,1118,1119],{},"schema"," property has been defined in your collection, this will automatically generate the corresponding form on Studio interface.",[1122,1123,1124,1131],"code-group",{},[307,1125,1128],{"icon":1126,"label":1127},"i-lucide-eye","Generated Form",[152,1129],{":controls":154,":loop":154,"src":1130},"https:\u002F\u002Fres.cloudinary.com\u002Fnuxt\u002Fvideo\u002Fupload\u002Fv1767887481\u002Fstudio\u002Fschemaform_tmd4db.mp4",[274,1132,1135],{"className":730,"code":1133,"filename":1134,"language":552,"meta":280,"style":280},"export default defineContentConfig({\n  collections: {\n    authors: defineCollection({\n      type: 'data',\n      source: 'authors\u002F**\u002F*',\n      schema: z.object({\n        name: z.string(),\n        avatar: z.object({\n          src: z.string().editor({ input: 'media' }),\n          alt: z.string(),\n        }),\n        to: z.string(),\n        username: z.string(),\n        role: z.enum(['creator', 'maintainer', 'contributor']),\n        order: z.number().default(0),\n        birthDate: z.string().date(),\n        lastCommitAt: z.string().datetime(),\n        icon: z.string().editor({\n          input: 'icon',\n          iconLibraries: ['lucide']\n        }),\n        isOpenSourceLover: z.boolean().default(true),\n        modules: z.array(z.string()),\n    })\n  },\n})\n","content.config.ts",[67,1136,1137,1150,1159,1173,1189,1205,1224,1243,1260,1304,1321,1330,1347,1364,1411,1442,1466,1490,1513,1528,1547,1555,1583,1609,1616,1621],{"__ignoreMap":280},[284,1138,1139,1141,1143,1146,1148],{"class":286,"line":287},[284,1140,739],{"class":738},[284,1142,742],{"class":738},[284,1144,1145],{"class":562}," defineContentConfig",[284,1147,566],{"class":368},[284,1149,569],{"class":290},[284,1151,1152,1155,1157],{"class":286,"line":301},[284,1153,1154],{"class":294},"  collections",[284,1156,213],{"class":290},[284,1158,580],{"class":290},[284,1160,1161,1164,1166,1169,1171],{"class":286,"line":328},[284,1162,1163],{"class":294},"    authors",[284,1165,213],{"class":290},[284,1167,1168],{"class":562}," defineCollection",[284,1170,566],{"class":368},[284,1172,569],{"class":290},[284,1174,1175,1178,1180,1182,1185,1187],{"class":286,"line":349},[284,1176,1177],{"class":294},"      type",[284,1179,213],{"class":290},[284,1181,605],{"class":290},[284,1183,1184],{"class":320},"data",[284,1186,611],{"class":290},[284,1188,594],{"class":290},[284,1190,1191,1194,1196,1198,1201,1203],{"class":286,"line":377},[284,1192,1193],{"class":294},"      source",[284,1195,213],{"class":290},[284,1197,605],{"class":290},[284,1199,1200],{"class":320},"authors\u002F**\u002F*",[284,1202,611],{"class":290},[284,1204,594],{"class":290},[284,1206,1207,1210,1212,1215,1217,1220,1222],{"class":286,"line":387},[284,1208,1209],{"class":294},"      schema",[284,1211,213],{"class":290},[284,1213,1214],{"class":368}," z",[284,1216,150],{"class":290},[284,1218,1219],{"class":562},"object",[284,1221,566],{"class":368},[284,1223,569],{"class":290},[284,1225,1226,1229,1231,1233,1235,1238,1241],{"class":286,"line":407},[284,1227,1228],{"class":294},"        name",[284,1230,213],{"class":290},[284,1232,1214],{"class":368},[284,1234,150],{"class":290},[284,1236,1237],{"class":562},"string",[284,1239,1240],{"class":368},"()",[284,1242,594],{"class":290},[284,1244,1245,1248,1250,1252,1254,1256,1258],{"class":286,"line":427},[284,1246,1247],{"class":294},"        avatar",[284,1249,213],{"class":290},[284,1251,1214],{"class":368},[284,1253,150],{"class":290},[284,1255,1219],{"class":562},[284,1257,566],{"class":368},[284,1259,569],{"class":290},[284,1261,1262,1265,1267,1269,1271,1273,1275,1277,1280,1282,1285,1288,1290,1292,1295,1297,1300,1302],{"class":286,"line":450},[284,1263,1264],{"class":294},"          src",[284,1266,213],{"class":290},[284,1268,1214],{"class":368},[284,1270,150],{"class":290},[284,1272,1237],{"class":562},[284,1274,1240],{"class":368},[284,1276,150],{"class":290},[284,1278,1279],{"class":562},"editor",[284,1281,566],{"class":368},[284,1283,1284],{"class":290},"{",[284,1286,1287],{"class":294}," input",[284,1289,213],{"class":290},[284,1291,605],{"class":290},[284,1293,1294],{"class":320},"media",[284,1296,611],{"class":290},[284,1298,1299],{"class":290}," }",[284,1301,874],{"class":368},[284,1303,594],{"class":290},[284,1305,1306,1309,1311,1313,1315,1317,1319],{"class":286,"line":460},[284,1307,1308],{"class":294},"          alt",[284,1310,213],{"class":290},[284,1312,1214],{"class":368},[284,1314,150],{"class":290},[284,1316,1237],{"class":562},[284,1318,1240],{"class":368},[284,1320,594],{"class":290},[284,1322,1323,1326,1328],{"class":286,"line":469},[284,1324,1325],{"class":290},"        }",[284,1327,874],{"class":368},[284,1329,594],{"class":290},[284,1331,1332,1335,1337,1339,1341,1343,1345],{"class":286,"line":489},[284,1333,1334],{"class":294},"        to",[284,1336,213],{"class":290},[284,1338,1214],{"class":368},[284,1340,150],{"class":290},[284,1342,1237],{"class":562},[284,1344,1240],{"class":368},[284,1346,594],{"class":290},[284,1348,1349,1352,1354,1356,1358,1360,1362],{"class":286,"line":498},[284,1350,1351],{"class":294},"        username",[284,1353,213],{"class":290},[284,1355,1214],{"class":368},[284,1357,150],{"class":290},[284,1359,1237],{"class":562},[284,1361,1240],{"class":368},[284,1363,594],{"class":290},[284,1365,1366,1369,1371,1373,1375,1378,1381,1383,1386,1388,1390,1392,1395,1397,1399,1401,1404,1406,1409],{"class":286,"line":507},[284,1367,1368],{"class":294},"        role",[284,1370,213],{"class":290},[284,1372,1214],{"class":368},[284,1374,150],{"class":290},[284,1376,1377],{"class":562},"enum",[284,1379,1380],{"class":368},"([",[284,1382,611],{"class":290},[284,1384,1385],{"class":320},"creator",[284,1387,611],{"class":290},[284,1389,781],{"class":290},[284,1391,605],{"class":290},[284,1393,1394],{"class":320},"maintainer",[284,1396,611],{"class":290},[284,1398,781],{"class":290},[284,1400,605],{"class":290},[284,1402,1403],{"class":320},"contributor",[284,1405,611],{"class":290},[284,1407,1408],{"class":368},"])",[284,1410,594],{"class":290},[284,1412,1413,1416,1418,1420,1422,1425,1427,1429,1432,1434,1438,1440],{"class":286,"line":517},[284,1414,1415],{"class":294},"        order",[284,1417,213],{"class":290},[284,1419,1214],{"class":368},[284,1421,150],{"class":290},[284,1423,1424],{"class":562},"number",[284,1426,1240],{"class":368},[284,1428,150],{"class":290},[284,1430,1431],{"class":562},"default",[284,1433,566],{"class":368},[284,1435,1437],{"class":1436},"sbssI","0",[284,1439,874],{"class":368},[284,1441,594],{"class":290},[284,1443,1444,1447,1449,1451,1453,1455,1457,1459,1462,1464],{"class":286,"line":527},[284,1445,1446],{"class":294},"        birthDate",[284,1448,213],{"class":290},[284,1450,1214],{"class":368},[284,1452,150],{"class":290},[284,1454,1237],{"class":562},[284,1456,1240],{"class":368},[284,1458,150],{"class":290},[284,1460,1461],{"class":562},"date",[284,1463,1240],{"class":368},[284,1465,594],{"class":290},[284,1467,1468,1471,1473,1475,1477,1479,1481,1483,1486,1488],{"class":286,"line":534},[284,1469,1470],{"class":294},"        lastCommitAt",[284,1472,213],{"class":290},[284,1474,1214],{"class":368},[284,1476,150],{"class":290},[284,1478,1237],{"class":562},[284,1480,1240],{"class":368},[284,1482,150],{"class":290},[284,1484,1485],{"class":562},"datetime",[284,1487,1240],{"class":368},[284,1489,594],{"class":290},[284,1491,1492,1495,1497,1499,1501,1503,1505,1507,1509,1511],{"class":286,"line":559},[284,1493,1494],{"class":294},"        icon",[284,1496,213],{"class":290},[284,1498,1214],{"class":368},[284,1500,150],{"class":290},[284,1502,1237],{"class":562},[284,1504,1240],{"class":368},[284,1506,150],{"class":290},[284,1508,1279],{"class":562},[284,1510,566],{"class":368},[284,1512,569],{"class":290},[284,1514,1515,1518,1520,1522,1524,1526],{"class":286,"line":572},[284,1516,1517],{"class":294},"          input",[284,1519,213],{"class":290},[284,1521,605],{"class":290},[284,1523,369],{"class":320},[284,1525,611],{"class":290},[284,1527,594],{"class":290},[284,1529,1530,1533,1535,1537,1539,1542,1544],{"class":286,"line":583},[284,1531,1532],{"class":294},"          iconLibraries",[284,1534,213],{"class":290},[284,1536,908],{"class":368},[284,1538,611],{"class":290},[284,1540,1541],{"class":320},"lucide",[284,1543,611],{"class":290},[284,1545,1546],{"class":368},"]\n",[284,1548,1549,1551,1553],{"class":286,"line":597},[284,1550,1325],{"class":290},[284,1552,874],{"class":368},[284,1554,594],{"class":290},[284,1556,1557,1560,1562,1564,1566,1569,1571,1573,1575,1577,1579,1581],{"class":286,"line":616},[284,1558,1559],{"class":294},"        isOpenSourceLover",[284,1561,213],{"class":290},[284,1563,1214],{"class":368},[284,1565,150],{"class":290},[284,1567,1568],{"class":562},"boolean",[284,1570,1240],{"class":368},[284,1572,150],{"class":290},[284,1574,1431],{"class":562},[284,1576,566],{"class":368},[284,1578,154],{"class":795},[284,1580,874],{"class":368},[284,1582,594],{"class":290},[284,1584,1585,1588,1590,1592,1594,1597,1600,1602,1604,1607],{"class":286,"line":622},[284,1586,1587],{"class":294},"        modules",[284,1589,213],{"class":290},[284,1591,1214],{"class":368},[284,1593,150],{"class":290},[284,1595,1596],{"class":562},"array",[284,1598,1599],{"class":368},"(z",[284,1601,150],{"class":290},[284,1603,1237],{"class":562},[284,1605,1606],{"class":368},"())",[284,1608,594],{"class":290},[284,1610,1611,1614],{"class":286,"line":631},[284,1612,1613],{"class":290},"    }",[284,1615,628],{"class":368},[284,1617,1619],{"class":286,"line":1618},25,[284,1620,619],{"class":290},[284,1622,1624],{"class":286,"line":1623},26,[284,1625,1626],{"class":368},"})\n",[158,1628,1630],{"id":1629},"native-inputs-mapping",[95,1631,1632],{},"Native Inputs Mapping",[51,1634,1635],{},"Primitive Zod types are automatically mapped to appropriate form inputs in:",[55,1637,1638,1644,1650,1656,1662,1668,1674],{},[58,1639,1640,1643],{},[95,1641,1642],{},"String"," → Text input",[58,1645,1646,1649],{},[95,1647,1648],{},"Date"," → Date picker",[58,1651,1652,1655],{},[95,1653,1654],{},"Number"," → Number input",[58,1657,1658,1661],{},[95,1659,1660],{},"Boolean"," → Toggle switch",[58,1663,1664,1667],{},[95,1665,1666],{},"Enum"," → Select dropdown",[58,1669,1670,1673],{},[95,1671,1672],{},"Arrays of strings"," → List of badge inputs",[58,1675,1676,1679],{},[95,1677,1678],{},"Arrays of objects"," → Accordion of items with embedded form",[158,1681,1683],{"id":1682},"custom-inputs-mapping","Custom Inputs Mapping",[51,1685,1686,1687,1689],{},"Studio goes beyond primitive types. You can customise form fields using the ",[67,1688,1279],{}," method, which extends Zod types with metadata to empower editor interface.",[51,1691,1692],{},"This allows you to define custom inputs or hide fields.",[269,1694,1696],{"id":1695},"usage","Usage",[274,1698,1700],{"className":730,"code":1699,"filename":1134,"language":552,"meta":280,"style":280},"\u002F\u002F Override the auto-generated label\ntitle: property(z.string()).editor({ label: 'Page title' })\n\n\u002F\u002F Add helper text below the input\nslug: property(z.string()).editor({ description: 'Used in the URL, e.g. \u002Fblog\u002Fmy-post' })\n\n\u002F\u002F Add an info tooltip next to the label\nrole: z.enum(['admin', 'editor']).editor({ tooltip: 'Controls what the user can edit' })\n\n\u002F\u002F Icon picker with specific libraries\nicon: property(z.string()).editor({ input: 'icon', iconLibraries: ['lucide', 'simple-icons'] })\n\n\u002F\u002F Media picker\nimage: property(z.string()).editor({ input: 'media' })\n\n\u002F\u002F Textarea\ndescription: property(z.string()).editor({ input: 'textarea' })\n",[67,1701,1702,1707,1749,1753,1758,1799,1803,1808,1864,1868,1873,1938,1942,1947,1986,1990,1995],{"__ignoreMap":280},[284,1703,1704],{"class":286,"line":287},[284,1705,1706],{"class":784},"\u002F\u002F Override the auto-generated label\n",[284,1708,1709,1712,1714,1717,1719,1721,1723,1725,1727,1729,1731,1733,1736,1738,1740,1743,1745,1747],{"class":286,"line":301},[284,1710,443],{"class":1711},"sBMFI",[284,1713,213],{"class":290},[284,1715,1716],{"class":562}," property",[284,1718,1599],{"class":368},[284,1720,150],{"class":290},[284,1722,1237],{"class":562},[284,1724,1606],{"class":368},[284,1726,150],{"class":290},[284,1728,1279],{"class":562},[284,1730,566],{"class":368},[284,1732,1284],{"class":290},[284,1734,1735],{"class":294}," label",[284,1737,213],{"class":290},[284,1739,605],{"class":290},[284,1741,1742],{"class":320},"Page title",[284,1744,611],{"class":290},[284,1746,1299],{"class":290},[284,1748,628],{"class":368},[284,1750,1751],{"class":286,"line":328},[284,1752,531],{"emptyLinePlaceholder":530},[284,1754,1755],{"class":286,"line":349},[284,1756,1757],{"class":784},"\u002F\u002F Add helper text below the input\n",[284,1759,1760,1763,1765,1767,1769,1771,1773,1775,1777,1779,1781,1783,1786,1788,1790,1793,1795,1797],{"class":286,"line":377},[284,1761,1762],{"class":1711},"slug",[284,1764,213],{"class":290},[284,1766,1716],{"class":562},[284,1768,1599],{"class":368},[284,1770,150],{"class":290},[284,1772,1237],{"class":562},[284,1774,1606],{"class":368},[284,1776,150],{"class":290},[284,1778,1279],{"class":562},[284,1780,566],{"class":368},[284,1782,1284],{"class":290},[284,1784,1785],{"class":294}," description",[284,1787,213],{"class":290},[284,1789,605],{"class":290},[284,1791,1792],{"class":320},"Used in the URL, e.g. \u002Fblog\u002Fmy-post",[284,1794,611],{"class":290},[284,1796,1299],{"class":290},[284,1798,628],{"class":368},[284,1800,1801],{"class":286,"line":387},[284,1802,531],{"emptyLinePlaceholder":530},[284,1804,1805],{"class":286,"line":407},[284,1806,1807],{"class":784},"\u002F\u002F Add an info tooltip next to the label\n",[284,1809,1810,1813,1815,1817,1819,1821,1823,1825,1828,1830,1832,1834,1836,1838,1840,1842,1844,1846,1848,1851,1853,1855,1858,1860,1862],{"class":286,"line":427},[284,1811,1812],{"class":1711},"role",[284,1814,213],{"class":290},[284,1816,1214],{"class":368},[284,1818,150],{"class":290},[284,1820,1377],{"class":562},[284,1822,1380],{"class":368},[284,1824,611],{"class":290},[284,1826,1827],{"class":320},"admin",[284,1829,611],{"class":290},[284,1831,781],{"class":290},[284,1833,605],{"class":290},[284,1835,1279],{"class":320},[284,1837,611],{"class":290},[284,1839,1408],{"class":368},[284,1841,150],{"class":290},[284,1843,1279],{"class":562},[284,1845,566],{"class":368},[284,1847,1284],{"class":290},[284,1849,1850],{"class":294}," tooltip",[284,1852,213],{"class":290},[284,1854,605],{"class":290},[284,1856,1857],{"class":320},"Controls what the user can edit",[284,1859,611],{"class":290},[284,1861,1299],{"class":290},[284,1863,628],{"class":368},[284,1865,1866],{"class":286,"line":450},[284,1867,531],{"emptyLinePlaceholder":530},[284,1869,1870],{"class":286,"line":460},[284,1871,1872],{"class":784},"\u002F\u002F Icon picker with specific libraries\n",[284,1874,1875,1877,1879,1881,1883,1885,1887,1889,1891,1893,1895,1897,1899,1901,1903,1905,1907,1909,1912,1914,1916,1918,1920,1922,1924,1926,1929,1931,1934,1936],{"class":286,"line":469},[284,1876,369],{"class":1711},[284,1878,213],{"class":290},[284,1880,1716],{"class":562},[284,1882,1599],{"class":368},[284,1884,150],{"class":290},[284,1886,1237],{"class":562},[284,1888,1606],{"class":368},[284,1890,150],{"class":290},[284,1892,1279],{"class":562},[284,1894,566],{"class":368},[284,1896,1284],{"class":290},[284,1898,1287],{"class":294},[284,1900,213],{"class":290},[284,1902,605],{"class":290},[284,1904,369],{"class":320},[284,1906,611],{"class":290},[284,1908,781],{"class":290},[284,1910,1911],{"class":294}," iconLibraries",[284,1913,213],{"class":290},[284,1915,908],{"class":368},[284,1917,611],{"class":290},[284,1919,1541],{"class":320},[284,1921,611],{"class":290},[284,1923,781],{"class":290},[284,1925,605],{"class":290},[284,1927,1928],{"class":320},"simple-icons",[284,1930,611],{"class":290},[284,1932,1933],{"class":368},"] ",[284,1935,625],{"class":290},[284,1937,628],{"class":368},[284,1939,1940],{"class":286,"line":489},[284,1941,531],{"emptyLinePlaceholder":530},[284,1943,1944],{"class":286,"line":498},[284,1945,1946],{"class":784},"\u002F\u002F Media picker\n",[284,1948,1949,1952,1954,1956,1958,1960,1962,1964,1966,1968,1970,1972,1974,1976,1978,1980,1982,1984],{"class":286,"line":507},[284,1950,1951],{"class":1711},"image",[284,1953,213],{"class":290},[284,1955,1716],{"class":562},[284,1957,1599],{"class":368},[284,1959,150],{"class":290},[284,1961,1237],{"class":562},[284,1963,1606],{"class":368},[284,1965,150],{"class":290},[284,1967,1279],{"class":562},[284,1969,566],{"class":368},[284,1971,1284],{"class":290},[284,1973,1287],{"class":294},[284,1975,213],{"class":290},[284,1977,605],{"class":290},[284,1979,1294],{"class":320},[284,1981,611],{"class":290},[284,1983,1299],{"class":290},[284,1985,628],{"class":368},[284,1987,1988],{"class":286,"line":517},[284,1989,531],{"emptyLinePlaceholder":530},[284,1991,1992],{"class":286,"line":527},[284,1993,1994],{"class":784},"\u002F\u002F Textarea\n",[284,1996,1997,1999,2001,2003,2005,2007,2009,2011,2013,2015,2017,2019,2021,2023,2025,2028,2030,2032],{"class":286,"line":534},[284,1998,482],{"class":1711},[284,2000,213],{"class":290},[284,2002,1716],{"class":562},[284,2004,1599],{"class":368},[284,2006,150],{"class":290},[284,2008,1237],{"class":562},[284,2010,1606],{"class":368},[284,2012,150],{"class":290},[284,2014,1279],{"class":562},[284,2016,566],{"class":368},[284,2018,1284],{"class":290},[284,2020,1287],{"class":294},[284,2022,213],{"class":290},[284,2024,605],{"class":290},[284,2026,2027],{"class":320},"textarea",[284,2029,611],{"class":290},[284,2031,1299],{"class":290},[284,2033,628],{"class":368},[269,2035,2037],{"id":2036},"options","Options",[2039,2040,2042],"h5",{"id":2041},"input-media-icon-textarea",[67,2043,2044],{},"input: 'media' | 'icon' | 'textarea'",[51,2046,2047,2048,2050,2051,80,2053,2055],{},"You can set the editor input type. Currently ",[67,2049,369],{},", ",[67,2052,1294],{},[67,2054,2027],{}," are available.",[55,2057,2058,2063,2068],{},[58,2059,2060,2062],{},[67,2061,369],{}," - Opens an icon picker with searchable Iconify libraries",[58,2064,2065,2067],{},[67,2066,1294],{}," - Opens the media picker to select images from your library",[58,2069,2070,2072],{},[67,2071,2027],{}," - Renders a multi-line text input instead of a single-line text field",[2039,2074,2076],{"id":2075},"label-string",[67,2077,2078],{},"label: string",[51,2080,2081],{},"Overrides the auto-generated label derived from the field key. Useful when the key name is technical or abbreviated.",[2039,2083,2085],{"id":2084},"description-string",[67,2086,2087],{},"description: string",[51,2089,2090],{},"Shown as helper text below the input. Use it to clarify the field's purpose or expected format.",[2039,2092,2094],{"id":2093},"tooltip-string",[67,2095,2096],{},"tooltip: string",[51,2098,2099],{},"Shown as an info icon next to the label. On hover, it displays the provided text. Ideal for brief contextual hints that would clutter the description.",[2039,2101,2103],{"id":2102},"iconlibraries-arraystring",[67,2104,2105],{},"iconLibraries: Array\u003Cstring>",[51,2107,2108,2109,2114],{},"Specifies which ",[61,2110,2113],{"href":2111,"rel":2112},"https:\u002F\u002Ficones.js.org\u002F",[142],"Iconify"," libraries to display. Use this option to filter and limit the available icon sets.",[2039,2116,2118],{"id":2117},"hidden-boolean",[67,2119,2120],{},"hidden: boolean",[51,2122,2123],{},"Removes the field from the Studio editor entirely.",[2125,2126,2127,2128,2131],"warning",{},"When ",[67,2129,2130],{},"hidden"," is set, it ensures the field is removed if defined in file raw code (frontmatter or YAML\u002FJSON content).",[269,2133,2135],{"id":2134},"hints-example","Hints example",[1122,2137,2138,2150],{},[307,2139,2141],{"icon":1126,"label":2140},"Form with hints",[2142,2143],"img",{"alt":2144,"className":2145,"src":2149},"Form hints: label, description and tooltip",[2146,2147,2148],"rounded-lg","border","border-muted","\u002Fstudio\u002Fform-hints.png",[274,2151,2153],{"className":730,"code":2152,"filename":1134,"language":552,"meta":280,"style":280},"import { defineContentConfig, defineCollection, property } from '@nuxt\u002Fcontent'\nimport z from 'zod'\n\nexport default defineContentConfig({\n  collections: {\n    authors: defineCollection({\n      type: 'data',\n      source: 'authors\u002F**\u002F*',\n      schema: z.object({\n        name: property(z.string()).editor({\n          description: 'Full display name shown on the author page',\n          tooltip: 'Use your real name or well-known alias',\n        }),\n        avatar: z.object({\n          src: property(z.string()).editor({ input: 'media', label: 'Avatar image' }),\n          alt: property(z.string()).editor({ label: 'Alt text', tooltip: 'Keep it short: \"Jane Doe avatar\"' }),\n        }),\n        bio: property(z.string()).editor({\n          input: 'textarea',\n          label: 'Biography',\n          description: 'Short biography displayed on the author card. Aim for 1–2 sentences.',\n        }),\n        role: z.enum(['creator', 'maintainer', 'contributor']).editor({\n          tooltip: 'Controls what badge is shown on the author card',\n        }),\n      }),\n    }),\n  },\n})\n",[67,2154,2155,2186,2202,2206,2218,2226,2238,2252,2266,2282,2306,2322,2338,2346,2362,2415,2469,2477,2502,2516,2532,2547,2555,2601,2616,2624,2633,2642,2647],{"__ignoreMap":280},[284,2156,2157,2160,2163,2165,2167,2169,2171,2173,2175,2178,2180,2183],{"class":286,"line":287},[284,2158,2159],{"class":738},"import",[284,2161,2162],{"class":290}," {",[284,2164,1145],{"class":368},[284,2166,781],{"class":290},[284,2168,1168],{"class":368},[284,2170,781],{"class":290},[284,2172,1716],{"class":368},[284,2174,1299],{"class":290},[284,2176,2177],{"class":738}," from",[284,2179,605],{"class":290},[284,2181,2182],{"class":320},"@nuxt\u002Fcontent",[284,2184,2185],{"class":290},"'\n",[284,2187,2188,2190,2193,2196,2198,2200],{"class":286,"line":301},[284,2189,2159],{"class":738},[284,2191,2192],{"class":368}," z ",[284,2194,2195],{"class":738},"from",[284,2197,605],{"class":290},[284,2199,1109],{"class":320},[284,2201,2185],{"class":290},[284,2203,2204],{"class":286,"line":328},[284,2205,531],{"emptyLinePlaceholder":530},[284,2207,2208,2210,2212,2214,2216],{"class":286,"line":349},[284,2209,739],{"class":738},[284,2211,742],{"class":738},[284,2213,1145],{"class":562},[284,2215,566],{"class":368},[284,2217,569],{"class":290},[284,2219,2220,2222,2224],{"class":286,"line":377},[284,2221,1154],{"class":294},[284,2223,213],{"class":290},[284,2225,580],{"class":290},[284,2227,2228,2230,2232,2234,2236],{"class":286,"line":387},[284,2229,1163],{"class":294},[284,2231,213],{"class":290},[284,2233,1168],{"class":562},[284,2235,566],{"class":368},[284,2237,569],{"class":290},[284,2239,2240,2242,2244,2246,2248,2250],{"class":286,"line":407},[284,2241,1177],{"class":294},[284,2243,213],{"class":290},[284,2245,605],{"class":290},[284,2247,1184],{"class":320},[284,2249,611],{"class":290},[284,2251,594],{"class":290},[284,2253,2254,2256,2258,2260,2262,2264],{"class":286,"line":427},[284,2255,1193],{"class":294},[284,2257,213],{"class":290},[284,2259,605],{"class":290},[284,2261,1200],{"class":320},[284,2263,611],{"class":290},[284,2265,594],{"class":290},[284,2267,2268,2270,2272,2274,2276,2278,2280],{"class":286,"line":450},[284,2269,1209],{"class":294},[284,2271,213],{"class":290},[284,2273,1214],{"class":368},[284,2275,150],{"class":290},[284,2277,1219],{"class":562},[284,2279,566],{"class":368},[284,2281,569],{"class":290},[284,2283,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304],{"class":286,"line":460},[284,2285,1228],{"class":294},[284,2287,213],{"class":290},[284,2289,1716],{"class":562},[284,2291,1599],{"class":368},[284,2293,150],{"class":290},[284,2295,1237],{"class":562},[284,2297,1606],{"class":368},[284,2299,150],{"class":290},[284,2301,1279],{"class":562},[284,2303,566],{"class":368},[284,2305,569],{"class":290},[284,2307,2308,2311,2313,2315,2318,2320],{"class":286,"line":469},[284,2309,2310],{"class":294},"          description",[284,2312,213],{"class":290},[284,2314,605],{"class":290},[284,2316,2317],{"class":320},"Full display name shown on the author page",[284,2319,611],{"class":290},[284,2321,594],{"class":290},[284,2323,2324,2327,2329,2331,2334,2336],{"class":286,"line":489},[284,2325,2326],{"class":294},"          tooltip",[284,2328,213],{"class":290},[284,2330,605],{"class":290},[284,2332,2333],{"class":320},"Use your real name or well-known alias",[284,2335,611],{"class":290},[284,2337,594],{"class":290},[284,2339,2340,2342,2344],{"class":286,"line":498},[284,2341,1325],{"class":290},[284,2343,874],{"class":368},[284,2345,594],{"class":290},[284,2347,2348,2350,2352,2354,2356,2358,2360],{"class":286,"line":507},[284,2349,1247],{"class":294},[284,2351,213],{"class":290},[284,2353,1214],{"class":368},[284,2355,150],{"class":290},[284,2357,1219],{"class":562},[284,2359,566],{"class":368},[284,2361,569],{"class":290},[284,2363,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2394,2396,2398,2400,2402,2404,2407,2409,2411,2413],{"class":286,"line":517},[284,2365,1264],{"class":294},[284,2367,213],{"class":290},[284,2369,1716],{"class":562},[284,2371,1599],{"class":368},[284,2373,150],{"class":290},[284,2375,1237],{"class":562},[284,2377,1606],{"class":368},[284,2379,150],{"class":290},[284,2381,1279],{"class":562},[284,2383,566],{"class":368},[284,2385,1284],{"class":290},[284,2387,1287],{"class":294},[284,2389,213],{"class":290},[284,2391,605],{"class":290},[284,2393,1294],{"class":320},[284,2395,611],{"class":290},[284,2397,781],{"class":290},[284,2399,1735],{"class":294},[284,2401,213],{"class":290},[284,2403,605],{"class":290},[284,2405,2406],{"class":320},"Avatar image",[284,2408,611],{"class":290},[284,2410,1299],{"class":290},[284,2412,874],{"class":368},[284,2414,594],{"class":290},[284,2416,2417,2419,2421,2423,2425,2427,2429,2431,2433,2435,2437,2439,2441,2443,2445,2448,2450,2452,2454,2456,2458,2461,2463,2465,2467],{"class":286,"line":527},[284,2418,1308],{"class":294},[284,2420,213],{"class":290},[284,2422,1716],{"class":562},[284,2424,1599],{"class":368},[284,2426,150],{"class":290},[284,2428,1237],{"class":562},[284,2430,1606],{"class":368},[284,2432,150],{"class":290},[284,2434,1279],{"class":562},[284,2436,566],{"class":368},[284,2438,1284],{"class":290},[284,2440,1735],{"class":294},[284,2442,213],{"class":290},[284,2444,605],{"class":290},[284,2446,2447],{"class":320},"Alt text",[284,2449,611],{"class":290},[284,2451,781],{"class":290},[284,2453,1850],{"class":294},[284,2455,213],{"class":290},[284,2457,605],{"class":290},[284,2459,2460],{"class":320},"Keep it short: \"Jane Doe avatar\"",[284,2462,611],{"class":290},[284,2464,1299],{"class":290},[284,2466,874],{"class":368},[284,2468,594],{"class":290},[284,2470,2471,2473,2475],{"class":286,"line":534},[284,2472,1325],{"class":290},[284,2474,874],{"class":368},[284,2476,594],{"class":290},[284,2478,2479,2482,2484,2486,2488,2490,2492,2494,2496,2498,2500],{"class":286,"line":559},[284,2480,2481],{"class":294},"        bio",[284,2483,213],{"class":290},[284,2485,1716],{"class":562},[284,2487,1599],{"class":368},[284,2489,150],{"class":290},[284,2491,1237],{"class":562},[284,2493,1606],{"class":368},[284,2495,150],{"class":290},[284,2497,1279],{"class":562},[284,2499,566],{"class":368},[284,2501,569],{"class":290},[284,2503,2504,2506,2508,2510,2512,2514],{"class":286,"line":572},[284,2505,1517],{"class":294},[284,2507,213],{"class":290},[284,2509,605],{"class":290},[284,2511,2027],{"class":320},[284,2513,611],{"class":290},[284,2515,594],{"class":290},[284,2517,2518,2521,2523,2525,2528,2530],{"class":286,"line":583},[284,2519,2520],{"class":294},"          label",[284,2522,213],{"class":290},[284,2524,605],{"class":290},[284,2526,2527],{"class":320},"Biography",[284,2529,611],{"class":290},[284,2531,594],{"class":290},[284,2533,2534,2536,2538,2540,2543,2545],{"class":286,"line":597},[284,2535,2310],{"class":294},[284,2537,213],{"class":290},[284,2539,605],{"class":290},[284,2541,2542],{"class":320},"Short biography displayed on the author card. Aim for 1–2 sentences.",[284,2544,611],{"class":290},[284,2546,594],{"class":290},[284,2548,2549,2551,2553],{"class":286,"line":616},[284,2550,1325],{"class":290},[284,2552,874],{"class":368},[284,2554,594],{"class":290},[284,2556,2557,2559,2561,2563,2565,2567,2569,2571,2573,2575,2577,2579,2581,2583,2585,2587,2589,2591,2593,2595,2597,2599],{"class":286,"line":622},[284,2558,1368],{"class":294},[284,2560,213],{"class":290},[284,2562,1214],{"class":368},[284,2564,150],{"class":290},[284,2566,1377],{"class":562},[284,2568,1380],{"class":368},[284,2570,611],{"class":290},[284,2572,1385],{"class":320},[284,2574,611],{"class":290},[284,2576,781],{"class":290},[284,2578,605],{"class":290},[284,2580,1394],{"class":320},[284,2582,611],{"class":290},[284,2584,781],{"class":290},[284,2586,605],{"class":290},[284,2588,1403],{"class":320},[284,2590,611],{"class":290},[284,2592,1408],{"class":368},[284,2594,150],{"class":290},[284,2596,1279],{"class":562},[284,2598,566],{"class":368},[284,2600,569],{"class":290},[284,2602,2603,2605,2607,2609,2612,2614],{"class":286,"line":631},[284,2604,2326],{"class":294},[284,2606,213],{"class":290},[284,2608,605],{"class":290},[284,2610,2611],{"class":320},"Controls what badge is shown on the author card",[284,2613,611],{"class":290},[284,2615,594],{"class":290},[284,2617,2618,2620,2622],{"class":286,"line":1618},[284,2619,1325],{"class":290},[284,2621,874],{"class":368},[284,2623,594],{"class":290},[284,2625,2626,2629,2631],{"class":286,"line":1623},[284,2627,2628],{"class":290},"      }",[284,2630,874],{"class":368},[284,2632,594],{"class":290},[284,2634,2636,2638,2640],{"class":286,"line":2635},27,[284,2637,1613],{"class":290},[284,2639,874],{"class":368},[284,2641,594],{"class":290},[284,2643,2645],{"class":286,"line":2644},28,[284,2646,619],{"class":290},[284,2648,2650,2652],{"class":286,"line":2649},29,[284,2651,625],{"class":290},[284,2653,628],{"class":368},[1015,2655,2656],{"to":1017},"Studio inputs are fully extensible. We can create as many input as we want based on our users needs.",[100,2658,2660],{"id":2659},"code-editor","Code Editor",[51,2662,2663],{},"The Monaco code editor provides full control over your content, allowing you to write raw content directly:",[51,2665,2666,2667,2669,2670,2672,2673,2675],{},"MDC syntax for ",[67,2668,69],{}," files or ",[67,2671,83],{}," or ",[67,2674,79],{}," syntax for others.",[2677,2678,2679],"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 pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 .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}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":280,"searchDepth":301,"depth":301,"links":2681},[2682,2683,2689,2695],{"id":102,"depth":301,"text":103},{"id":130,"depth":301,"text":2684,"children":2685},"TipTap Visual Editor (Markdown files)",[2686,2687,2688],{"id":160,"depth":328,"text":161},{"id":253,"depth":328,"text":254},{"id":1028,"depth":328,"text":1029},{"id":1068,"depth":301,"text":1069,"children":2690},[2691,2693,2694],{"id":1102,"depth":328,"text":2692},"Defining your form with zod Schema",{"id":1629,"depth":328,"text":1632},{"id":1682,"depth":328,"text":1683},{"id":2659,"depth":301,"text":2660},"Discover and select your favorite way to manage your content between the visual or the code editor.","md",null,{},{"title":25,"icon":28},{"title":2702,"description":2703},"Edit your Nuxt Content website with our editors","Overview of our different Studio CMS editors to manage your content and your medias. Choose between our visual editors and our code editor.","vSAp9my47BXAVXW1NzFc5aV2rqUm8qHML7o3CU7m6yg",[2706,2708],{"title":20,"path":21,"stem":22,"description":2707,"icon":23,"children":-1},"Configure authentication providers to control access to Nuxt Studio.",{"title":30,"path":31,"stem":32,"description":2709,"icon":33,"children":-1},"Explore how to browse and manage media files, including external storage with NuxtHub blob storage, and integrate them into your projects.",1788422111876]