[{"data":1,"prerenderedAt":6776},["ShallowReactive",2],{"navigation":3,"blog-landing":179,"blog-posts":190},[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},"Query 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",{"id":180,"title":181,"body":182,"description":183,"extension":184,"meta":185,"navigation":186,"path":187,"seo":188,"stem":189},"landing/blog.yml","Blog",{"title":181,"description":183},"Read the latest news about Nuxt Content or articles about the Studio platform.","yml",{},true,"/blog",{"title":181,"description":183},"blog",[191,5242,6337,6560],{"id":192,"title":193,"authors":194,"body":201,"category":20,"date":5234,"description":5235,"draft":42,"extension":1791,"image":5236,"meta":5238,"navigation":186,"path":5239,"seo":5240,"stem":5241},"posts/blog/ui-pro-docs-migration.md","Migrate Nuxt UI Pro Documentation Starter",[195],{"name":196,"avatar":197,"to":199,"username":200},"Baptiste Leproux",{"src":198},"https://avatars.githubusercontent.com/u/7290030?v=4","https://x.com/_larbish","larbish",{"type":202,"value":203,"toc":5180},"minimal",[204,209,216,231,250,257,262,267,339,347,358,752,775,784,791,1086,1090,1384,1388,2022,2026,2029,2040,2105,2109,2119,2123,2144,2147,2213,2230,2240,2244,2250,2254,2259,2769,2780,2799,3068,3074,3081,3443,3449,3493,3782,3786,3794,3803,4761,4765,5080,5085,5089,5092,5104,5162,5171,5176],[205,206,208],"h1",{"id":207},"how-to-upgrade-your-nuxt-documentation-website-to-content-x-ui-v3","How to upgrade your Nuxt documentation website to Content x UI v3",[210,211,212],"p",{},[213,214,215],"strong",{},"2025 kicks off with the power of 3!",[210,217,218,219,222,223,226,227,230],{},"This start of year is marked by major updates to our favorite tools. The UI team is about to launch ",[213,220,221],{},"version 3"," of the ",[213,224,225],{},"UI / UI Pro libraries"," (currently in alpha), while the Content team has already released ",[213,228,229],{},"Nuxt Content v3",".",[210,232,233,234,237,238,241,242,245,246,249],{},"These updates mean that all our starter templates combining ",[213,235,236],{},"Content"," and ",[213,239,240],{},"UI"," will need to be updated to align with the latest versions. To help you make the transition, this guide walks through migrating the ",[213,243,244],{},"Nuxt UI Pro Docs Starter"," to the new ",[213,247,248],{},"Content v3 and Nuxt UI v3"," packages.",[251,252,254],"prose-tip",{"to":253},"https://github.com/nuxt-ui-pro/docs/tree/v3",[210,255,256],{},"Check the UI Pro documentation starter repository source code.",[258,259,261],"h2",{"id":260},"content-migration-v2-v3","Content migration (v2 → v3)",[263,264,266],"h3",{"id":265},"_1-update-package-to-v3","1. Update package to v3",[268,269,270,296,310,325],"code-group",{},[271,272,278],"pre",{"className":273,"code":274,"filename":275,"language":276,"meta":277,"style":277},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add @nuxt/content@^3\n","pnpm","bash","",[279,280,281],"code",{"__ignoreMap":277},[282,283,286,289,293],"span",{"class":284,"line":285},"line",1,[282,287,275],{"class":288},"sYGMc",[282,290,292],{"class":291},"sIEYB"," add",[282,294,295],{"class":291}," @nuxt/content@^3\n",[271,297,300],{"className":273,"code":298,"filename":299,"language":276,"meta":277,"style":277},"yarn add @nuxt/content@^3\n","yarn",[279,301,302],{"__ignoreMap":277},[282,303,304,306,308],{"class":284,"line":285},[282,305,299],{"class":288},[282,307,292],{"class":291},[282,309,295],{"class":291},[271,311,314],{"className":273,"code":312,"filename":313,"language":276,"meta":277,"style":277},"npm install @nuxt/content@^3\n","npm",[279,315,316],{"__ignoreMap":277},[282,317,318,320,323],{"class":284,"line":285},[282,319,313],{"class":288},[282,321,322],{"class":291}," install",[282,324,295],{"class":291},[271,326,329],{"className":273,"code":327,"filename":328,"language":276,"meta":277,"style":277},"bun add @nuxt/content@^3\n","bun",[279,330,331],{"__ignoreMap":277},[282,332,333,335,337],{"class":284,"line":285},[282,334,328],{"class":288},[282,336,292],{"class":291},[282,338,295],{"class":291},[263,340,342,343,346],{"id":341},"_2-create-contentconfigts-file","2. Create ",[279,344,345],{},"content.config.ts"," file",[210,348,349,350,353,354,357],{},"This configuration file defines your data structure. A collection represents a set of related items. In the case of the docs starter, there are two different collections, the ",[279,351,352],{},"landing"," collection representing the home page and another ",[279,355,356],{},"docs"," collection for the documentation pages.",[271,359,363],{"className":360,"code":361,"filename":345,"language":362,"meta":277,"style":277},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineContentConfig, defineCollection, z } from '@nuxt/content'\n\nexport default defineContentConfig({\n  collections: {\n    landing: defineCollection({\n      type: 'page',\n      source: 'index.yml'\n    }),\n    docs: defineCollection({\n      type: 'page',\n      source: {\n        include: '**',\n        exclude: ['index.yml']\n      },\n      schema: z.object({\n        links: z.array(z.object({\n          label: z.string(),\n          icon: z.string(),\n          to: z.string(),\n          target: z.string().optional()\n        })).optional()\n      })\n    })\n  }\n})\n","js",[279,364,365,405,411,429,442,456,475,490,501,515,530,539,556,576,582,601,627,647,665,683,707,722,731,738,744],{"__ignoreMap":277},[282,366,367,371,375,379,382,385,387,390,393,396,399,402],{"class":284,"line":285},[282,368,370],{"class":369},"s8pZq","import",[282,372,374],{"class":373},"s86vT"," {",[282,376,378],{"class":377},"sndM8"," defineContentConfig",[282,380,381],{"class":373},",",[282,383,384],{"class":377}," defineCollection",[282,386,381],{"class":373},[282,388,389],{"class":377}," z",[282,391,392],{"class":373}," }",[282,394,395],{"class":369}," from",[282,397,398],{"class":373}," '",[282,400,401],{"class":291},"@nuxt/content",[282,403,404],{"class":373},"'\n",[282,406,408],{"class":284,"line":407},2,[282,409,410],{"emptyLinePlaceholder":186},"\n",[282,412,414,417,420,423,426],{"class":284,"line":413},3,[282,415,416],{"class":369},"export",[282,418,419],{"class":369}," default",[282,421,378],{"class":422},"swgpB",[282,424,425],{"class":377},"(",[282,427,428],{"class":373},"{\n",[282,430,432,436,439],{"class":284,"line":431},4,[282,433,435],{"class":434},"sd2Uz","  collections",[282,437,438],{"class":373},":",[282,440,441],{"class":373}," {\n",[282,443,445,448,450,452,454],{"class":284,"line":444},5,[282,446,447],{"class":434},"    landing",[282,449,438],{"class":373},[282,451,384],{"class":422},[282,453,425],{"class":377},[282,455,428],{"class":373},[282,457,459,462,464,466,469,472],{"class":284,"line":458},6,[282,460,461],{"class":434},"      type",[282,463,438],{"class":373},[282,465,398],{"class":373},[282,467,468],{"class":291},"page",[282,470,471],{"class":373},"'",[282,473,474],{"class":373},",\n",[282,476,478,481,483,485,488],{"class":284,"line":477},7,[282,479,480],{"class":434},"      source",[282,482,438],{"class":373},[282,484,398],{"class":373},[282,486,487],{"class":291},"index.yml",[282,489,404],{"class":373},[282,491,493,496,499],{"class":284,"line":492},8,[282,494,495],{"class":373},"    }",[282,497,498],{"class":377},")",[282,500,474],{"class":373},[282,502,504,507,509,511,513],{"class":284,"line":503},9,[282,505,506],{"class":434},"    docs",[282,508,438],{"class":373},[282,510,384],{"class":422},[282,512,425],{"class":377},[282,514,428],{"class":373},[282,516,518,520,522,524,526,528],{"class":284,"line":517},10,[282,519,461],{"class":434},[282,521,438],{"class":373},[282,523,398],{"class":373},[282,525,468],{"class":291},[282,527,471],{"class":373},[282,529,474],{"class":373},[282,531,533,535,537],{"class":284,"line":532},11,[282,534,480],{"class":434},[282,536,438],{"class":373},[282,538,441],{"class":373},[282,540,542,545,547,549,552,554],{"class":284,"line":541},12,[282,543,544],{"class":434},"        include",[282,546,438],{"class":373},[282,548,398],{"class":373},[282,550,551],{"class":291},"**",[282,553,471],{"class":373},[282,555,474],{"class":373},[282,557,559,562,564,567,569,571,573],{"class":284,"line":558},13,[282,560,561],{"class":434},"        exclude",[282,563,438],{"class":373},[282,565,566],{"class":377}," [",[282,568,471],{"class":373},[282,570,487],{"class":291},[282,572,471],{"class":373},[282,574,575],{"class":377},"]\n",[282,577,579],{"class":284,"line":578},14,[282,580,581],{"class":373},"      },\n",[282,583,585,588,590,592,594,597,599],{"class":284,"line":584},15,[282,586,587],{"class":434},"      schema",[282,589,438],{"class":373},[282,591,389],{"class":377},[282,593,230],{"class":373},[282,595,596],{"class":422},"object",[282,598,425],{"class":377},[282,600,428],{"class":373},[282,602,604,607,609,611,613,616,619,621,623,625],{"class":284,"line":603},16,[282,605,606],{"class":434},"        links",[282,608,438],{"class":373},[282,610,389],{"class":377},[282,612,230],{"class":373},[282,614,615],{"class":422},"array",[282,617,618],{"class":377},"(z",[282,620,230],{"class":373},[282,622,596],{"class":422},[282,624,425],{"class":377},[282,626,428],{"class":373},[282,628,630,633,635,637,639,642,645],{"class":284,"line":629},17,[282,631,632],{"class":434},"          label",[282,634,438],{"class":373},[282,636,389],{"class":377},[282,638,230],{"class":373},[282,640,641],{"class":422},"string",[282,643,644],{"class":377},"()",[282,646,474],{"class":373},[282,648,650,653,655,657,659,661,663],{"class":284,"line":649},18,[282,651,652],{"class":434},"          icon",[282,654,438],{"class":373},[282,656,389],{"class":377},[282,658,230],{"class":373},[282,660,641],{"class":422},[282,662,644],{"class":377},[282,664,474],{"class":373},[282,666,668,671,673,675,677,679,681],{"class":284,"line":667},19,[282,669,670],{"class":434},"          to",[282,672,438],{"class":373},[282,674,389],{"class":377},[282,676,230],{"class":373},[282,678,641],{"class":422},[282,680,644],{"class":377},[282,682,474],{"class":373},[282,684,686,689,691,693,695,697,699,701,704],{"class":284,"line":685},20,[282,687,688],{"class":434},"          target",[282,690,438],{"class":373},[282,692,389],{"class":377},[282,694,230],{"class":373},[282,696,641],{"class":422},[282,698,644],{"class":377},[282,700,230],{"class":373},[282,702,703],{"class":422},"optional",[282,705,706],{"class":377},"()\n",[282,708,710,713,716,718,720],{"class":284,"line":709},21,[282,711,712],{"class":373},"        }",[282,714,715],{"class":377},"))",[282,717,230],{"class":373},[282,719,703],{"class":422},[282,721,706],{"class":377},[282,723,725,728],{"class":284,"line":724},22,[282,726,727],{"class":373},"      }",[282,729,730],{"class":377},")\n",[282,732,734,736],{"class":284,"line":733},23,[282,735,495],{"class":373},[282,737,730],{"class":377},[282,739,741],{"class":284,"line":740},24,[282,742,743],{"class":373},"  }\n",[282,745,747,750],{"class":284,"line":746},25,[282,748,749],{"class":373},"}",[282,751,730],{"class":377},[210,753,754,755,761,762,765,766,768,769,230],{},"On top of the built-in fields provided by the ",[756,757,759],"a",{"href":758},"/docs/collections/types#page-type",[279,760,468],{}," type, we added the extra field ",[279,763,764],{},"links"," to the ",[279,767,356],{}," collection so we can optionally display them in the docs ",[756,770,774],{"href":771,"rel":772},"https://ui3.nuxt.dev/components/page-header",[773],"nofollow","page header",[251,776,777],{},[210,778,779,780,783],{},"The ",[279,781,782],{},"type: page"," means there is a 1-to-1 relationship between the content file and a page on your site.",[263,785,787,788],{"id":786},"_3-migrate-appvue","3. Migrate ",[279,789,790],{},"app.vue",[792,793,795,807,922,928],"prose-steps",{"level":794},"4",[796,797,799,800,803,804,806],"h4",{"id":798},"navigation-fetch-can-be-updated-by-moving-from-fetchcontentnavigation-to-querycollectionnavigation-method","Navigation fetch can be updated by moving from ",[279,801,802],{},"fetchContentNavigation"," to ",[279,805,72],{}," method",[808,809,810,876],"prose-code-group",{},[271,811,816],{"className":812,"code":813,"filename":814,"language":815,"meta":277,"style":277},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const { data: navigation } = await useAsyncData('navigation', () => queryCollectionNavigation('docs'))\n\n","app.vue (v3)","ts",[279,817,818],{"__ignoreMap":277},[282,819,820,824,826,829,831,834,836,839,842,845,847,849,852,854,856,859,862,865,867,869,871,873],{"class":284,"line":285},[282,821,823],{"class":822},"s50WR","const",[282,825,374],{"class":373},[282,827,828],{"class":434}," data",[282,830,438],{"class":373},[282,832,833],{"class":377}," navigation ",[282,835,749],{"class":373},[282,837,838],{"class":373}," =",[282,840,841],{"class":369}," await",[282,843,844],{"class":422}," useAsyncData",[282,846,425],{"class":377},[282,848,471],{"class":373},[282,850,851],{"class":291},"navigation",[282,853,471],{"class":373},[282,855,381],{"class":373},[282,857,858],{"class":373}," ()",[282,860,861],{"class":822}," =>",[282,863,864],{"class":422}," queryCollectionNavigation",[282,866,425],{"class":377},[282,868,471],{"class":373},[282,870,356],{"class":291},[282,872,471],{"class":373},[282,874,875],{"class":377},"))\n",[271,877,880],{"className":812,"code":878,"filename":879,"language":815,"meta":277,"style":277},"const { data: navigation } = await useAsyncData('navigation', () => fetchContentNavigation())\n","app.vue (v2)",[279,881,882],{"__ignoreMap":277},[282,883,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,919],{"class":284,"line":285},[282,885,823],{"class":822},[282,887,374],{"class":373},[282,889,828],{"class":434},[282,891,438],{"class":373},[282,893,833],{"class":377},[282,895,749],{"class":373},[282,897,838],{"class":373},[282,899,841],{"class":369},[282,901,844],{"class":422},[282,903,425],{"class":377},[282,905,471],{"class":373},[282,907,851],{"class":291},[282,909,471],{"class":373},[282,911,381],{"class":373},[282,913,858],{"class":373},[282,915,861],{"class":822},[282,917,918],{"class":422}," fetchContentNavigation",[282,920,921],{"class":377},"())\n",[796,923,925,926,806],{"id":924},"content-search-command-palette-data-can-use-the-new-querycollectionsearchsections-method","Content search command palette data can use the new ",[279,927,80],{},[808,929,930,1006],{},[271,931,933],{"className":812,"code":932,"filename":814,"language":815,"meta":277,"style":277},"const { data: files } = useLazyAsyncData('search', () => queryCollectionSearchSections('docs'), {\n  server: false,\n})\n",[279,934,935,987,1000],{"__ignoreMap":277},[282,936,937,939,941,943,945,948,950,952,955,957,959,962,964,966,968,970,973,975,977,979,981,983,985],{"class":284,"line":285},[282,938,823],{"class":822},[282,940,374],{"class":373},[282,942,828],{"class":434},[282,944,438],{"class":373},[282,946,947],{"class":377}," files ",[282,949,749],{"class":373},[282,951,838],{"class":373},[282,953,954],{"class":422}," useLazyAsyncData",[282,956,425],{"class":377},[282,958,471],{"class":373},[282,960,961],{"class":291},"search",[282,963,471],{"class":373},[282,965,381],{"class":373},[282,967,858],{"class":373},[282,969,861],{"class":822},[282,971,972],{"class":422}," queryCollectionSearchSections",[282,974,425],{"class":377},[282,976,471],{"class":373},[282,978,356],{"class":291},[282,980,471],{"class":373},[282,982,498],{"class":377},[282,984,381],{"class":373},[282,986,441],{"class":373},[282,988,989,992,994,998],{"class":284,"line":407},[282,990,991],{"class":434},"  server",[282,993,438],{"class":373},[282,995,997],{"class":996},"sPKOg"," false",[282,999,474],{"class":373},[282,1001,1002,1004],{"class":284,"line":413},[282,1003,749],{"class":373},[282,1005,730],{"class":377},[271,1007,1009],{"className":812,"code":1008,"filename":879,"language":815,"meta":277,"style":277},"const { data: files } = useLazyFetch\u003CParsedContent[]>('/api/search.json', {\n  default: () => [],\n  server: false\n})\n",[279,1010,1011,1055,1071,1080],{"__ignoreMap":277},[282,1012,1013,1015,1017,1019,1021,1023,1025,1027,1030,1033,1036,1039,1042,1044,1046,1049,1051,1053],{"class":284,"line":285},[282,1014,823],{"class":822},[282,1016,374],{"class":373},[282,1018,828],{"class":434},[282,1020,438],{"class":373},[282,1022,947],{"class":377},[282,1024,749],{"class":373},[282,1026,838],{"class":373},[282,1028,1029],{"class":422}," useLazyFetch",[282,1031,1032],{"class":373},"\u003C",[282,1034,1035],{"class":288},"ParsedContent",[282,1037,1038],{"class":377},"[]",[282,1040,1041],{"class":373},">",[282,1043,425],{"class":377},[282,1045,471],{"class":373},[282,1047,1048],{"class":291},"/api/search.json",[282,1050,471],{"class":373},[282,1052,381],{"class":373},[282,1054,441],{"class":373},[282,1056,1057,1060,1062,1064,1066,1069],{"class":284,"line":407},[282,1058,1059],{"class":422},"  default",[282,1061,438],{"class":373},[282,1063,858],{"class":373},[282,1065,861],{"class":822},[282,1067,1068],{"class":377}," []",[282,1070,474],{"class":373},[282,1072,1073,1075,1077],{"class":284,"line":413},[282,1074,991],{"class":434},[282,1076,438],{"class":373},[282,1078,1079],{"class":996}," false\n",[282,1081,1082,1084],{"class":284,"line":431},[282,1083,749],{"class":373},[282,1085,730],{"class":377},[263,1087,1089],{"id":1088},"_4-migrate-landing-page","4. Migrate landing page",[792,1091,1092,1101,1241,1255,1370],{"level":794},[796,1093,1095,1096,803,1099,806],{"id":1094},"home-page-data-fetching-can-be-updated-by-moving-from-querycontent-to-querycollection-method","Home page data fetching can be updated by moving from ",[279,1097,1098],{},"queryContent",[279,1100,68],{},[808,1102,1103,1181],{},[271,1104,1107],{"className":812,"code":1105,"filename":1106,"language":815,"meta":277,"style":277},"const { data: page } = await useAsyncData('index', () => queryCollection('landing').path('/').first())\n","index.vue (v3)",[279,1108,1109],{"__ignoreMap":277},[282,1110,1111,1113,1115,1117,1119,1122,1124,1126,1128,1130,1132,1134,1137,1139,1141,1143,1145,1148,1150,1152,1154,1156,1158,1160,1163,1165,1167,1170,1172,1174,1176,1179],{"class":284,"line":285},[282,1112,823],{"class":822},[282,1114,374],{"class":373},[282,1116,828],{"class":434},[282,1118,438],{"class":373},[282,1120,1121],{"class":377}," page ",[282,1123,749],{"class":373},[282,1125,838],{"class":373},[282,1127,841],{"class":369},[282,1129,844],{"class":422},[282,1131,425],{"class":377},[282,1133,471],{"class":373},[282,1135,1136],{"class":291},"index",[282,1138,471],{"class":373},[282,1140,381],{"class":373},[282,1142,858],{"class":373},[282,1144,861],{"class":822},[282,1146,1147],{"class":422}," queryCollection",[282,1149,425],{"class":377},[282,1151,471],{"class":373},[282,1153,352],{"class":291},[282,1155,471],{"class":373},[282,1157,498],{"class":377},[282,1159,230],{"class":373},[282,1161,1162],{"class":422},"path",[282,1164,425],{"class":377},[282,1166,471],{"class":373},[282,1168,1169],{"class":291},"/",[282,1171,471],{"class":373},[282,1173,498],{"class":377},[282,1175,230],{"class":373},[282,1177,1178],{"class":422},"first",[282,1180,921],{"class":377},[271,1182,1185],{"className":812,"code":1183,"filename":1184,"language":815,"meta":277,"style":277},"const { data: page } = await useAsyncData('index', () => queryContent('/').findOne())\n","index.vue (v2)",[279,1186,1187],{"__ignoreMap":277},[282,1188,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1217,1219,1221,1224,1226,1228,1230,1232,1234,1236,1239],{"class":284,"line":285},[282,1190,823],{"class":822},[282,1192,374],{"class":373},[282,1194,828],{"class":434},[282,1196,438],{"class":373},[282,1198,1121],{"class":377},[282,1200,749],{"class":373},[282,1202,838],{"class":373},[282,1204,841],{"class":369},[282,1206,844],{"class":422},[282,1208,425],{"class":377},[282,1210,471],{"class":373},[282,1212,1136],{"class":291},[282,1214,471],{"class":373},[282,1216,381],{"class":373},[282,1218,858],{"class":373},[282,1220,861],{"class":822},[282,1222,1223],{"class":422}," queryContent",[282,1225,425],{"class":377},[282,1227,471],{"class":373},[282,1229,1169],{"class":291},[282,1231,471],{"class":373},[282,1233,498],{"class":377},[282,1235,230],{"class":373},[282,1237,1238],{"class":422},"findOne",[282,1240,921],{"class":377},[796,1242,1244,1247,1248,1251,1252,1254],{"id":1243},"useseometa-can-be-populated-using-the-seo-field-provided-by-the-page-type",[279,1245,1246],{},"useSeoMeta"," can be populated using the ",[279,1249,1250],{},"seo"," field provided by the ",[756,1253,468],{"href":758}," type",[271,1256,1259],{"className":812,"code":1257,"filename":1258,"language":815,"meta":277,"style":277},"useSeoMeta({\n  title: page.value.seo.title,\n  ogTitle: page.value.seo.title,\n  description: page.value.seo.description,\n  ogDescription: page.value.seo.description\n})\n","index.vue",[279,1260,1261,1269,1295,1318,1342,1364],{"__ignoreMap":277},[282,1262,1263,1265,1267],{"class":284,"line":285},[282,1264,1246],{"class":422},[282,1266,425],{"class":377},[282,1268,428],{"class":373},[282,1270,1271,1274,1276,1279,1281,1284,1286,1288,1290,1293],{"class":284,"line":407},[282,1272,1273],{"class":434},"  title",[282,1275,438],{"class":373},[282,1277,1278],{"class":377}," page",[282,1280,230],{"class":373},[282,1282,1283],{"class":377},"value",[282,1285,230],{"class":373},[282,1287,1250],{"class":377},[282,1289,230],{"class":373},[282,1291,1292],{"class":377},"title",[282,1294,474],{"class":373},[282,1296,1297,1300,1302,1304,1306,1308,1310,1312,1314,1316],{"class":284,"line":413},[282,1298,1299],{"class":434},"  ogTitle",[282,1301,438],{"class":373},[282,1303,1278],{"class":377},[282,1305,230],{"class":373},[282,1307,1283],{"class":377},[282,1309,230],{"class":373},[282,1311,1250],{"class":377},[282,1313,230],{"class":373},[282,1315,1292],{"class":377},[282,1317,474],{"class":373},[282,1319,1320,1323,1325,1327,1329,1331,1333,1335,1337,1340],{"class":284,"line":431},[282,1321,1322],{"class":434},"  description",[282,1324,438],{"class":373},[282,1326,1278],{"class":377},[282,1328,230],{"class":373},[282,1330,1283],{"class":377},[282,1332,230],{"class":373},[282,1334,1250],{"class":377},[282,1336,230],{"class":373},[282,1338,1339],{"class":377},"description",[282,1341,474],{"class":373},[282,1343,1344,1347,1349,1351,1353,1355,1357,1359,1361],{"class":284,"line":444},[282,1345,1346],{"class":434},"  ogDescription",[282,1348,438],{"class":373},[282,1350,1278],{"class":377},[282,1352,230],{"class":373},[282,1354,1283],{"class":377},[282,1356,230],{"class":373},[282,1358,1250],{"class":377},[282,1360,230],{"class":373},[282,1362,1363],{"class":377},"description\n",[282,1365,1366,1368],{"class":284,"line":458},[282,1367,749],{"class":373},[282,1369,730],{"class":377},[1371,1372,1373],"prose-note",{},[210,1374,1375,1376,1378,1379,237,1381,1383],{},"Please note that the ",[279,1377,1250],{}," field is automatically overridden by the root ",[279,1380,1292],{},[279,1382,1339],{}," if not set.",[263,1385,1387],{"id":1386},"_5-migrate-catch-all-docs-page","5. Migrate catch-all docs page",[792,1389,1390,1401,1875,1886,2012],{"level":794},[796,1391,1393,1394,803,1396,237,1398,1400],{"id":1392},"docs-page-data-and-surround-fetching-can-be-updated-and-mutualised-by-moving-from-querycontent-to-querycollection-and-querycollectionitemsurroundings-methods","Docs page data and surround fetching can be updated and mutualised by moving from ",[279,1395,1098],{},[279,1397,68],{},[279,1399,76],{}," methods",[808,1402,1403,1664],{},[271,1404,1407],{"className":812,"code":1405,"filename":1406,"language":815,"meta":277,"style":277},"const { data } = await useAsyncData(route.path, () => Promise.all([\n  queryCollection('docs').path(route.path).first(),\n  queryCollectionItemSurroundings('docs', route.path, {\n    fields: ['title', 'description'],\n  }),\n]), {\n  transform: ([page, surround]) => ({ page, surround }),\n})\n\nconst page = computed(() => data.value?.page)\nconst surround = computed(() => data.value?.surround)\n","docs/[...slug].vue (v3)",[279,1408,1409,1450,1484,1510,1538,1547,1556,1597,1603,1607,1637],{"__ignoreMap":277},[282,1410,1411,1413,1415,1418,1420,1422,1424,1426,1429,1431,1433,1435,1437,1439,1442,1444,1447],{"class":284,"line":285},[282,1412,823],{"class":822},[282,1414,374],{"class":373},[282,1416,1417],{"class":377}," data ",[282,1419,749],{"class":373},[282,1421,838],{"class":373},[282,1423,841],{"class":369},[282,1425,844],{"class":422},[282,1427,1428],{"class":377},"(route",[282,1430,230],{"class":373},[282,1432,1162],{"class":377},[282,1434,381],{"class":373},[282,1436,858],{"class":373},[282,1438,861],{"class":822},[282,1440,1441],{"class":288}," Promise",[282,1443,230],{"class":373},[282,1445,1446],{"class":422},"all",[282,1448,1449],{"class":377},"([\n",[282,1451,1452,1455,1457,1459,1461,1463,1465,1467,1469,1471,1473,1476,1478,1480,1482],{"class":284,"line":407},[282,1453,1454],{"class":422},"  queryCollection",[282,1456,425],{"class":377},[282,1458,471],{"class":373},[282,1460,356],{"class":291},[282,1462,471],{"class":373},[282,1464,498],{"class":377},[282,1466,230],{"class":373},[282,1468,1162],{"class":422},[282,1470,1428],{"class":377},[282,1472,230],{"class":373},[282,1474,1475],{"class":377},"path)",[282,1477,230],{"class":373},[282,1479,1178],{"class":422},[282,1481,644],{"class":377},[282,1483,474],{"class":373},[282,1485,1486,1489,1491,1493,1495,1497,1499,1502,1504,1506,1508],{"class":284,"line":413},[282,1487,1488],{"class":422},"  queryCollectionItemSurroundings",[282,1490,425],{"class":377},[282,1492,471],{"class":373},[282,1494,356],{"class":291},[282,1496,471],{"class":373},[282,1498,381],{"class":373},[282,1500,1501],{"class":377}," route",[282,1503,230],{"class":373},[282,1505,1162],{"class":377},[282,1507,381],{"class":373},[282,1509,441],{"class":373},[282,1511,1512,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533,1536],{"class":284,"line":431},[282,1513,1514],{"class":434},"    fields",[282,1516,438],{"class":373},[282,1518,566],{"class":377},[282,1520,471],{"class":373},[282,1522,1292],{"class":291},[282,1524,471],{"class":373},[282,1526,381],{"class":373},[282,1528,398],{"class":373},[282,1530,1339],{"class":291},[282,1532,471],{"class":373},[282,1534,1535],{"class":377},"]",[282,1537,474],{"class":373},[282,1539,1540,1543,1545],{"class":284,"line":444},[282,1541,1542],{"class":373},"  }",[282,1544,498],{"class":377},[282,1546,474],{"class":373},[282,1548,1549,1552,1554],{"class":284,"line":458},[282,1550,1551],{"class":377},"])",[282,1553,381],{"class":373},[282,1555,441],{"class":373},[282,1557,1558,1561,1563,1566,1569,1571,1574,1576,1578,1581,1584,1586,1588,1591,1593,1595],{"class":284,"line":477},[282,1559,1560],{"class":422},"  transform",[282,1562,438],{"class":373},[282,1564,1565],{"class":373}," ([",[282,1567,468],{"class":1568},"sK9QF",[282,1570,381],{"class":373},[282,1572,1573],{"class":1568}," surround",[282,1575,1551],{"class":373},[282,1577,861],{"class":822},[282,1579,1580],{"class":377}," (",[282,1582,1583],{"class":373},"{",[282,1585,1278],{"class":377},[282,1587,381],{"class":373},[282,1589,1590],{"class":377}," surround ",[282,1592,749],{"class":373},[282,1594,498],{"class":377},[282,1596,474],{"class":373},[282,1598,1599,1601],{"class":284,"line":492},[282,1600,749],{"class":373},[282,1602,730],{"class":377},[282,1604,1605],{"class":284,"line":503},[282,1606,410],{"emptyLinePlaceholder":186},[282,1608,1609,1611,1613,1616,1619,1621,1623,1625,1627,1629,1631,1634],{"class":284,"line":517},[282,1610,823],{"class":822},[282,1612,1121],{"class":377},[282,1614,1615],{"class":373},"=",[282,1617,1618],{"class":422}," computed",[282,1620,425],{"class":377},[282,1622,644],{"class":373},[282,1624,861],{"class":822},[282,1626,828],{"class":377},[282,1628,230],{"class":373},[282,1630,1283],{"class":377},[282,1632,1633],{"class":373},"?.",[282,1635,1636],{"class":377},"page)\n",[282,1638,1639,1641,1643,1645,1647,1649,1651,1653,1655,1657,1659,1661],{"class":284,"line":532},[282,1640,823],{"class":822},[282,1642,1590],{"class":377},[282,1644,1615],{"class":373},[282,1646,1618],{"class":422},[282,1648,425],{"class":377},[282,1650,644],{"class":373},[282,1652,861],{"class":822},[282,1654,828],{"class":377},[282,1656,230],{"class":373},[282,1658,1283],{"class":377},[282,1660,1633],{"class":373},[282,1662,1663],{"class":377},"surround)\n",[271,1665,1668],{"className":812,"code":1666,"filename":1667,"language":815,"meta":277,"style":277},"const { data: page } = await useAsyncData(route.path, () => queryContent(route.path).findOne())\n\nconst { data: surround } = await useAsyncData(`${route.path}-surround`, () => queryContent()\n  .where({ _extension: 'md', navigation: { $ne: false } })\n  .only(['title', 'description', '_path'])\n  .findSurround(withoutTrailingSlash(route.path))\n)\n","docs/[...slug].vue (v2)",[279,1669,1670,1716,1720,1770,1816,1852,1871],{"__ignoreMap":277},[282,1671,1672,1674,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708,1710,1712,1714],{"class":284,"line":285},[282,1673,823],{"class":822},[282,1675,374],{"class":373},[282,1677,828],{"class":434},[282,1679,438],{"class":373},[282,1681,1121],{"class":377},[282,1683,749],{"class":373},[282,1685,838],{"class":373},[282,1687,841],{"class":369},[282,1689,844],{"class":422},[282,1691,1428],{"class":377},[282,1693,230],{"class":373},[282,1695,1162],{"class":377},[282,1697,381],{"class":373},[282,1699,858],{"class":373},[282,1701,861],{"class":822},[282,1703,1223],{"class":422},[282,1705,1428],{"class":377},[282,1707,230],{"class":373},[282,1709,1475],{"class":377},[282,1711,230],{"class":373},[282,1713,1238],{"class":422},[282,1715,921],{"class":377},[282,1717,1718],{"class":284,"line":407},[282,1719,410],{"emptyLinePlaceholder":186},[282,1721,1722,1724,1726,1728,1730,1732,1734,1736,1738,1740,1742,1745,1748,1750,1752,1754,1757,1760,1762,1764,1766,1768],{"class":284,"line":413},[282,1723,823],{"class":822},[282,1725,374],{"class":373},[282,1727,828],{"class":434},[282,1729,438],{"class":373},[282,1731,1590],{"class":377},[282,1733,749],{"class":373},[282,1735,838],{"class":373},[282,1737,841],{"class":369},[282,1739,844],{"class":422},[282,1741,425],{"class":377},[282,1743,1744],{"class":373},"`${",[282,1746,1747],{"class":377},"route",[282,1749,230],{"class":373},[282,1751,1162],{"class":377},[282,1753,749],{"class":373},[282,1755,1756],{"class":291},"-surround",[282,1758,1759],{"class":373},"`",[282,1761,381],{"class":373},[282,1763,858],{"class":373},[282,1765,861],{"class":822},[282,1767,1223],{"class":422},[282,1769,706],{"class":377},[282,1771,1772,1775,1778,1780,1782,1785,1787,1789,1792,1794,1796,1799,1801,1803,1806,1808,1810,1812,1814],{"class":284,"line":431},[282,1773,1774],{"class":373},"  .",[282,1776,1777],{"class":422},"where",[282,1779,425],{"class":377},[282,1781,1583],{"class":373},[282,1783,1784],{"class":434}," _extension",[282,1786,438],{"class":373},[282,1788,398],{"class":373},[282,1790,1791],{"class":291},"md",[282,1793,471],{"class":373},[282,1795,381],{"class":373},[282,1797,1798],{"class":434}," navigation",[282,1800,438],{"class":373},[282,1802,374],{"class":373},[282,1804,1805],{"class":434}," $ne",[282,1807,438],{"class":373},[282,1809,997],{"class":996},[282,1811,392],{"class":373},[282,1813,392],{"class":373},[282,1815,730],{"class":377},[282,1817,1818,1820,1823,1826,1828,1830,1832,1834,1836,1838,1840,1842,1844,1847,1849],{"class":284,"line":444},[282,1819,1774],{"class":373},[282,1821,1822],{"class":422},"only",[282,1824,1825],{"class":377},"([",[282,1827,471],{"class":373},[282,1829,1292],{"class":291},[282,1831,471],{"class":373},[282,1833,381],{"class":373},[282,1835,398],{"class":373},[282,1837,1339],{"class":291},[282,1839,471],{"class":373},[282,1841,381],{"class":373},[282,1843,398],{"class":373},[282,1845,1846],{"class":291},"_path",[282,1848,471],{"class":373},[282,1850,1851],{"class":377},"])\n",[282,1853,1854,1856,1859,1861,1864,1866,1868],{"class":284,"line":458},[282,1855,1774],{"class":373},[282,1857,1858],{"class":422},"findSurround",[282,1860,425],{"class":377},[282,1862,1863],{"class":422},"withoutTrailingSlash",[282,1865,1428],{"class":377},[282,1867,230],{"class":373},[282,1869,1870],{"class":377},"path))\n",[282,1872,1873],{"class":284,"line":477},[282,1874,730],{"class":377},[796,1876,1878,1879,1881,1882,1251,1884,1254],{"id":1877},"populate-useseometa-with-the-seo-field-provided-by-the-page-type","Populate ",[279,1880,1246],{}," with the ",[279,1883,1250],{},[756,1885,468],{"href":758},[271,1887,1889],{"className":812,"code":1888,"filename":1258,"language":815,"meta":277,"style":277},"useSeoMeta({\n  title: page.value.seo.title,\n  ogTitle: `${page.value.seo.title} - ${seo?.siteName}`,\n  description: page.value.seo.description,\n  ogDescription: page.value.seo.description\n})\n",[279,1890,1891,1899,1921,1964,1986,2006],{"__ignoreMap":277},[282,1892,1893,1895,1897],{"class":284,"line":285},[282,1894,1246],{"class":422},[282,1896,425],{"class":377},[282,1898,428],{"class":373},[282,1900,1901,1903,1905,1907,1909,1911,1913,1915,1917,1919],{"class":284,"line":407},[282,1902,1273],{"class":434},[282,1904,438],{"class":373},[282,1906,1278],{"class":377},[282,1908,230],{"class":373},[282,1910,1283],{"class":377},[282,1912,230],{"class":373},[282,1914,1250],{"class":377},[282,1916,230],{"class":373},[282,1918,1292],{"class":377},[282,1920,474],{"class":373},[282,1922,1923,1925,1927,1930,1932,1934,1936,1938,1940,1942,1944,1946,1949,1952,1954,1956,1959,1962],{"class":284,"line":413},[282,1924,1299],{"class":434},[282,1926,438],{"class":373},[282,1928,1929],{"class":373}," `${",[282,1931,468],{"class":377},[282,1933,230],{"class":373},[282,1935,1283],{"class":377},[282,1937,230],{"class":373},[282,1939,1250],{"class":377},[282,1941,230],{"class":373},[282,1943,1292],{"class":377},[282,1945,749],{"class":373},[282,1947,1948],{"class":291}," - ",[282,1950,1951],{"class":373},"${",[282,1953,1250],{"class":377},[282,1955,1633],{"class":373},[282,1957,1958],{"class":377},"siteName",[282,1960,1961],{"class":373},"}`",[282,1963,474],{"class":373},[282,1965,1966,1968,1970,1972,1974,1976,1978,1980,1982,1984],{"class":284,"line":431},[282,1967,1322],{"class":434},[282,1969,438],{"class":373},[282,1971,1278],{"class":377},[282,1973,230],{"class":373},[282,1975,1283],{"class":377},[282,1977,230],{"class":373},[282,1979,1250],{"class":377},[282,1981,230],{"class":373},[282,1983,1339],{"class":377},[282,1985,474],{"class":373},[282,1987,1988,1990,1992,1994,1996,1998,2000,2002,2004],{"class":284,"line":444},[282,1989,1346],{"class":434},[282,1991,438],{"class":373},[282,1993,1278],{"class":377},[282,1995,230],{"class":373},[282,1997,1283],{"class":377},[282,1999,230],{"class":373},[282,2001,1250],{"class":377},[282,2003,230],{"class":373},[282,2005,1363],{"class":377},[282,2007,2008,2010],{"class":284,"line":458},[282,2009,749],{"class":373},[282,2011,730],{"class":377},[1371,2013,2014],{},[210,2015,1375,2016,1378,2018,237,2020,1383],{},[279,2017,1250],{},[279,2019,1292],{},[279,2021,1339],{},[263,2023,2025],{"id":2024},"_6-update-types","6. Update types",[210,2027,2028],{},"Types have been significantly enhanced in Content v3, eliminating the need for most manual typings, as they are now directly provided by the Nuxt Content APIs.",[210,2030,2031,2032,2035,2036,2039],{},"Concerning the documentation starter, the only typing needed concerns the navigation items where ",[279,2033,2034],{},"NavItem"," can be replaced by ",[279,2037,2038],{},"ContentNavigationItem"," .",[271,2041,2043],{"className":812,"code":2042,"language":815,"meta":277,"style":277},"import type { ContentNavigationItem } from '@nuxt/content'\n\nconst navigation = inject\u003CRef\u003CContentNavigationItem[]>>('navigation')\n",[279,2044,2045,2066,2070],{"__ignoreMap":277},[282,2046,2047,2049,2051,2053,2056,2058,2060,2062,2064],{"class":284,"line":285},[282,2048,370],{"class":369},[282,2050,1254],{"class":369},[282,2052,374],{"class":373},[282,2054,2055],{"class":377}," ContentNavigationItem",[282,2057,392],{"class":373},[282,2059,395],{"class":369},[282,2061,398],{"class":373},[282,2063,401],{"class":291},[282,2065,404],{"class":373},[282,2067,2068],{"class":284,"line":407},[282,2069,410],{"emptyLinePlaceholder":186},[282,2071,2072,2074,2076,2078,2081,2083,2086,2088,2090,2092,2095,2097,2099,2101,2103],{"class":284,"line":413},[282,2073,823],{"class":822},[282,2075,833],{"class":377},[282,2077,1615],{"class":373},[282,2079,2080],{"class":422}," inject",[282,2082,1032],{"class":373},[282,2084,2085],{"class":288},"Ref",[282,2087,1032],{"class":373},[282,2089,2038],{"class":288},[282,2091,1038],{"class":377},[282,2093,2094],{"class":373},">>",[282,2096,425],{"class":377},[282,2098,471],{"class":373},[282,2100,851],{"class":291},[282,2102,471],{"class":373},[282,2104,730],{"class":377},[263,2106,2108],{"id":2107},"_7-replace-folder-metadata-files","7. Replace folder metadata files",[210,2110,2111,2112,2115,2116],{},"All ",[279,2113,2114],{},"_dir.yml"," files become ",[279,2117,2118],{},".navigation.yml",[263,2120,2122],{"id":2121},"_8-migrate-studio-activation","8. Migrate Studio activation",[210,2124,2125,2126,2131,2132,2135,2136,2139,2140,2143],{},"Since the ",[756,2127,2130],{"href":2128,"rel":2129},"https://nuxtlabs/studio-module",[773],"studio module"," has been deprecated and a new generic ",[279,2133,2134],{},"Preview API"," has been implemented directly into Nuxt Content, we can remove the ",[279,2137,2138],{},"@nuxthq/studio"," package from our dependencies and from the ",[279,2141,2142],{},"nuxt.config.ts"," modules.",[210,2145,2146],{},"Instead we just need to enable the preview mode in the Nuxt configuration file by binding the Studio API.",[271,2148,2150],{"className":812,"code":2149,"filename":2142,"language":815,"meta":277,"style":277},"export default defineNuxtConfig({\n  content: {\n    preview: {\n      api: 'https://api.nuxt.studio'\n    }\n  },\n})\n",[279,2151,2152,2165,2174,2183,2197,2202,2207],{"__ignoreMap":277},[282,2153,2154,2156,2158,2161,2163],{"class":284,"line":285},[282,2155,416],{"class":369},[282,2157,419],{"class":369},[282,2159,2160],{"class":422}," defineNuxtConfig",[282,2162,425],{"class":377},[282,2164,428],{"class":373},[282,2166,2167,2170,2172],{"class":284,"line":407},[282,2168,2169],{"class":434},"  content",[282,2171,438],{"class":373},[282,2173,441],{"class":373},[282,2175,2176,2179,2181],{"class":284,"line":413},[282,2177,2178],{"class":434},"    preview",[282,2180,438],{"class":373},[282,2182,441],{"class":373},[282,2184,2185,2188,2190,2192,2195],{"class":284,"line":431},[282,2186,2187],{"class":434},"      api",[282,2189,438],{"class":373},[282,2191,398],{"class":373},[282,2193,2194],{"class":291},"https://api.nuxt.studio",[282,2196,404],{"class":373},[282,2198,2199],{"class":284,"line":444},[282,2200,2201],{"class":373},"    }\n",[282,2203,2204],{"class":284,"line":458},[282,2205,2206],{"class":373},"  },\n",[282,2208,2209,2211],{"class":284,"line":477},[282,2210,749],{"class":373},[282,2212,730],{"class":377},[210,2214,2215,2216,2219,2220,2223,2224,803,2227,230],{},"Finally, in order to keep the ",[756,2217,2218],{"href":173},"app config file updatable"," from Studio, we just need to update the helper import of the ",[279,2221,2222],{},"nuxt.schema.ts"," file from ",[279,2225,2226],{},"@nuxthq/studio/theme",[279,2228,2229],{},"@nuxt/content/preview",[251,2231,2232],{},[210,2233,2234,2235,230],{},"That's it, content v3 is now powering the starter. Let's now migrate to version 3 of ",[756,2236,2239],{"href":2237,"rel":2238},"https://ui3.nuxt.dev",[773],"Nuxt UI / UI Pro",[258,2241,2243],{"id":2242},"nuxt-ui-pro-migration-v1-v3","Nuxt UI Pro Migration (v1 → v3)",[2245,2246,2247],"prose-caution",{},[210,2248,2249],{},"This is a migration case, it won't cover all breaking changes introduced by the version upgrade. You should check each component you're using in the documentation to know if you need updates concerning props, slots or styles.",[263,2251,2253],{"id":2252},"_1-setup-package-to-v3","1. Setup package to v3",[1371,2255,2256],{},[210,2257,2258],{},"To maintain consistency with the UI versioning, which transitioned from v1 to v2. The Nuxt UI Pro version 2 is being skipped, and the update jumps directly to v3.",[792,2260,2261,2265,2321,2325,2335,2437,2445,2449,2486,2545,2549,2556,2585],{"level":794},[796,2262,2264],{"id":2263},"install-the-nuxt-ui-v3-alpha-package","Install the Nuxt UI v3 alpha package",[268,2266,2268,2282,2295,2308],{"sync":2267},"pm",[271,2269,2271],{"className":273,"code":2270,"filename":275,"language":276,"meta":277,"style":277},"pnpm add @nuxt/ui-pro@next\n",[279,2272,2273],{"__ignoreMap":277},[282,2274,2275,2277,2279],{"class":284,"line":285},[282,2276,275],{"class":288},[282,2278,292],{"class":291},[282,2280,2281],{"class":291}," @nuxt/ui-pro@next\n",[271,2283,2285],{"className":273,"code":2284,"filename":299,"language":276,"meta":277,"style":277},"yarn add @nuxt/ui-pro@next\n",[279,2286,2287],{"__ignoreMap":277},[282,2288,2289,2291,2293],{"class":284,"line":285},[282,2290,299],{"class":288},[282,2292,292],{"class":291},[282,2294,2281],{"class":291},[271,2296,2298],{"className":273,"code":2297,"filename":313,"language":276,"meta":277,"style":277},"npm install @nuxt/ui-pro@next\n",[279,2299,2300],{"__ignoreMap":277},[282,2301,2302,2304,2306],{"class":284,"line":285},[282,2303,313],{"class":288},[282,2305,322],{"class":291},[282,2307,2281],{"class":291},[271,2309,2311],{"className":273,"code":2310,"filename":328,"language":276,"meta":277,"style":277},"bun add @nuxt/ui-pro@next\n",[279,2312,2313],{"__ignoreMap":277},[282,2314,2315,2317,2319],{"class":284,"line":285},[282,2316,328],{"class":288},[282,2318,292],{"class":291},[282,2320,2281],{"class":291},[796,2322,2324],{"id":2323},"add-the-module-in-the-nuxt-configuration-file","Add the module in the Nuxt configuration file",[210,2326,2327,2328,2331,2332,2039],{},"It's no longer required to add ",[279,2329,2330],{},"@nuxt/ui"," in modules as it is automatically imported by ",[279,2333,2334],{},"@nuxt/ui-pro",[808,2336,2337,2378],{},[271,2338,2341],{"className":812,"code":2339,"filename":2340,"language":815,"meta":277,"style":277},"export default defineNuxtConfig({\n  modules: ['@nuxt/ui-pro']\n})\n","nuxt.config.ts (v3)",[279,2342,2343,2355,2372],{"__ignoreMap":277},[282,2344,2345,2347,2349,2351,2353],{"class":284,"line":285},[282,2346,416],{"class":369},[282,2348,419],{"class":369},[282,2350,2160],{"class":422},[282,2352,425],{"class":377},[282,2354,428],{"class":373},[282,2356,2357,2360,2362,2364,2366,2368,2370],{"class":284,"line":407},[282,2358,2359],{"class":434},"  modules",[282,2361,438],{"class":373},[282,2363,566],{"class":377},[282,2365,471],{"class":373},[282,2367,2334],{"class":291},[282,2369,471],{"class":373},[282,2371,575],{"class":377},[282,2373,2374,2376],{"class":284,"line":413},[282,2375,749],{"class":373},[282,2377,730],{"class":377},[271,2379,2382],{"className":812,"code":2380,"filename":2381,"language":815,"meta":277,"style":277},"export default defineNuxtConfig({\n  extends: ['@nuxt/ui-pro'],\n  modules: ['@nuxt/ui']\n})\n","nuxt.config.ts (v1)",[279,2383,2384,2396,2415,2431],{"__ignoreMap":277},[282,2385,2386,2388,2390,2392,2394],{"class":284,"line":285},[282,2387,416],{"class":369},[282,2389,419],{"class":369},[282,2391,2160],{"class":422},[282,2393,425],{"class":377},[282,2395,428],{"class":373},[282,2397,2398,2401,2403,2405,2407,2409,2411,2413],{"class":284,"line":407},[282,2399,2400],{"class":434},"  extends",[282,2402,438],{"class":373},[282,2404,566],{"class":377},[282,2406,471],{"class":373},[282,2408,2334],{"class":291},[282,2410,471],{"class":373},[282,2412,1535],{"class":377},[282,2414,474],{"class":373},[282,2416,2417,2419,2421,2423,2425,2427,2429],{"class":284,"line":413},[282,2418,2359],{"class":434},[282,2420,438],{"class":373},[282,2422,566],{"class":377},[282,2424,471],{"class":373},[282,2426,2330],{"class":291},[282,2428,471],{"class":373},[282,2430,575],{"class":377},[282,2432,2433,2435],{"class":284,"line":431},[282,2434,749],{"class":373},[282,2436,730],{"class":377},[1371,2438,2439],{},[210,2440,2441,2444],{},[213,2442,2443],{},"Nuxt UIPro V3"," is now considered as a module and no longer as a layer.",[796,2446,2448],{"id":2447},"import-tailwind-css-and-nuxt-ui-pro-in-your-css","Import Tailwind CSS and Nuxt UI Pro in your CSS",[271,2450,2455],{"className":2451,"code":2452,"filename":2453,"language":2454,"meta":277,"style":277},"language-css shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","@import \"tailwindcss\";\n@import \"@nuxt/ui-pro\";\n","assets/css/main.css","css",[279,2456,2457,2474],{"__ignoreMap":277},[282,2458,2459,2462,2465,2468,2471],{"class":284,"line":285},[282,2460,2461],{"class":369},"@import",[282,2463,2464],{"class":373}," \"",[282,2466,2467],{"class":291},"tailwindcss",[282,2469,2470],{"class":373},"\"",[282,2472,2473],{"class":373},";\n",[282,2475,2476,2478,2480,2482,2484],{"class":284,"line":407},[282,2477,2461],{"class":369},[282,2479,2464],{"class":373},[282,2481,2334],{"class":291},[282,2483,2470],{"class":373},[282,2485,2473],{"class":373},[271,2487,2489],{"className":812,"code":2488,"filename":2142,"language":815,"meta":277,"style":277},"export default defineNuxtConfig({\n  modules: ['@nuxt/ui-pro'],\n  css: ['~/assets/css/main.css']\n})\n",[279,2490,2491,2503,2521,2539],{"__ignoreMap":277},[282,2492,2493,2495,2497,2499,2501],{"class":284,"line":285},[282,2494,416],{"class":369},[282,2496,419],{"class":369},[282,2498,2160],{"class":422},[282,2500,425],{"class":377},[282,2502,428],{"class":373},[282,2504,2505,2507,2509,2511,2513,2515,2517,2519],{"class":284,"line":407},[282,2506,2359],{"class":434},[282,2508,438],{"class":373},[282,2510,566],{"class":377},[282,2512,471],{"class":373},[282,2514,2334],{"class":291},[282,2516,471],{"class":373},[282,2518,1535],{"class":377},[282,2520,474],{"class":373},[282,2522,2523,2526,2528,2530,2532,2535,2537],{"class":284,"line":413},[282,2524,2525],{"class":434},"  css",[282,2527,438],{"class":373},[282,2529,566],{"class":377},[282,2531,471],{"class":373},[282,2533,2534],{"class":291},"~/assets/css/main.css",[282,2536,471],{"class":373},[282,2538,575],{"class":377},[282,2540,2541,2543],{"class":284,"line":431},[282,2542,749],{"class":373},[282,2544,730],{"class":377},[796,2546,2548],{"id":2547},"remove-tailwind-config-file-and-use-css-first-theming","Remove tailwind config file and use CSS-first theming",[210,2550,2551,2552,2555],{},"Nuxt UI v3 uses Tailwind CSS v4 that follows a CSS-first configuration approach. You can now customize your theme with CSS variables inside a ",[279,2553,2554],{},"@theme"," directive.",[2557,2558,2559,2566,2575],"ul",{},[2560,2561,2562,2563,346],"li",{},"Delete the ",[279,2564,2565],{},"tailwind.config.ts",[2560,2567,2568,2569,2571,2572,346],{},"Use the ",[279,2570,2554],{}," directive to apply your theme in ",[279,2573,2574],{},"main.css",[2560,2576,2568,2577,2580,2581,2584],{},[279,2578,2579],{},"@source"," directive in order for Tailwind to detect classes in ",[279,2582,2583],{},"markdown"," files.",[271,2586,2588],{"className":2451,"code":2587,"filename":2453,"language":2454,"meta":277,"style":277},"@import \"tailwindcss\";\n@import \"@nuxt/ui-pro\";\n\n@source \"../content/**/*\";\n\n@theme {\n  --font-sans: 'DM Sans', sans-serif;\n\n  --color-green-50: #EFFDF5;\n  --color-green-100: #D9FBE8;\n  --color-green-200: #B3F5D1;\n  --color-green-300: #75EDAE;\n  --color-green-400: #00DC82;\n  --color-green-500: #00C16A;\n  --color-green-600: #00A155;\n  --color-green-700: #007F45;\n  --color-green-800: #016538;\n  --color-green-900: #0A5331;\n  --color-green-950: #052E16;\n}\n\n",[279,2589,2590,2602,2614,2618,2627,2631,2637,2649,2653,2664,2674,2684,2694,2704,2714,2724,2734,2744,2754,2764],{"__ignoreMap":277},[282,2591,2592,2594,2596,2598,2600],{"class":284,"line":285},[282,2593,2461],{"class":369},[282,2595,2464],{"class":373},[282,2597,2467],{"class":291},[282,2599,2470],{"class":373},[282,2601,2473],{"class":373},[282,2603,2604,2606,2608,2610,2612],{"class":284,"line":407},[282,2605,2461],{"class":369},[282,2607,2464],{"class":373},[282,2609,2334],{"class":291},[282,2611,2470],{"class":373},[282,2613,2473],{"class":373},[282,2615,2616],{"class":284,"line":413},[282,2617,410],{"emptyLinePlaceholder":186},[282,2619,2620,2622,2625],{"class":284,"line":431},[282,2621,2579],{"class":369},[282,2623,2624],{"class":377}," \"../content/**/*\"",[282,2626,2473],{"class":373},[282,2628,2629],{"class":284,"line":444},[282,2630,410],{"emptyLinePlaceholder":186},[282,2632,2633,2635],{"class":284,"line":458},[282,2634,2554],{"class":369},[282,2636,441],{"class":373},[282,2638,2639,2642,2644,2647],{"class":284,"line":477},[282,2640,2641],{"class":377},"  --font-sans: 'DM Sans'",[282,2643,381],{"class":373},[282,2645,2646],{"class":288}," sans-serif",[282,2648,2473],{"class":377},[282,2650,2651],{"class":284,"line":492},[282,2652,410],{"emptyLinePlaceholder":186},[282,2654,2655,2658,2661],{"class":284,"line":503},[282,2656,2657],{"class":377},"  --color-green-50: ",[282,2659,2660],{"class":373},"#",[282,2662,2663],{"class":377},"EFFDF5;\n",[282,2665,2666,2669,2671],{"class":284,"line":517},[282,2667,2668],{"class":377},"  --color-green-100: ",[282,2670,2660],{"class":373},[282,2672,2673],{"class":377},"D9FBE8;\n",[282,2675,2676,2679,2681],{"class":284,"line":532},[282,2677,2678],{"class":377},"  --color-green-200: ",[282,2680,2660],{"class":373},[282,2682,2683],{"class":377},"B3F5D1;\n",[282,2685,2686,2689,2691],{"class":284,"line":541},[282,2687,2688],{"class":377},"  --color-green-300: ",[282,2690,2660],{"class":373},[282,2692,2693],{"class":377},"75EDAE;\n",[282,2695,2696,2699,2701],{"class":284,"line":558},[282,2697,2698],{"class":377},"  --color-green-400: ",[282,2700,2660],{"class":373},[282,2702,2703],{"class":377},"00DC82;\n",[282,2705,2706,2709,2711],{"class":284,"line":578},[282,2707,2708],{"class":377},"  --color-green-500: ",[282,2710,2660],{"class":373},[282,2712,2713],{"class":377},"00C16A;\n",[282,2715,2716,2719,2721],{"class":284,"line":584},[282,2717,2718],{"class":377},"  --color-green-600: ",[282,2720,2660],{"class":373},[282,2722,2723],{"class":377},"00A155;\n",[282,2725,2726,2729,2731],{"class":284,"line":603},[282,2727,2728],{"class":377},"  --color-green-700: ",[282,2730,2660],{"class":373},[282,2732,2733],{"class":377},"007F45;\n",[282,2735,2736,2739,2741],{"class":284,"line":629},[282,2737,2738],{"class":377},"  --color-green-800: ",[282,2740,2660],{"class":373},[282,2742,2743],{"class":377},"016538;\n",[282,2745,2746,2749,2751],{"class":284,"line":649},[282,2747,2748],{"class":377},"  --color-green-900: ",[282,2750,2660],{"class":373},[282,2752,2753],{"class":377},"0A5331;\n",[282,2755,2756,2759,2761],{"class":284,"line":667},[282,2757,2758],{"class":377},"  --color-green-950: ",[282,2760,2660],{"class":373},[282,2762,2763],{"class":377},"052E16;\n",[282,2765,2766],{"class":284,"line":685},[282,2767,2768],{"class":377},"}\n",[263,2770,2772,2773,2776,2777],{"id":2771},"_2-update-ui-overloads-in-appconfigts","2. Update ",[279,2774,2775],{},"ui"," overloads in ",[279,2778,2779],{},"app.config.ts",[2245,2781,2783],{"to":2782},"https://ui3.nuxt.dev/getting-started/theme#customize-theme",[210,2784,2785,2786,2788,2789,2791,2792,2794,2795,2798],{},"All overloads using the ",[279,2787,2775],{}," props in a component or the ",[279,2790,2775],{}," key in the ",[279,2793,2779],{}," are obsolete and need to be checked in the ",[213,2796,2797],{},"UI / UI Pro"," documentation.",[808,2800,2801,2950],{},[271,2802,2805],{"className":812,"code":2803,"filename":2804,"language":815,"meta":277,"style":277},"export default defineAppConfig({\n  ui: {\n    colors: {\n      primary: 'green',\n      neutral: 'slate'\n    }\n  },\n  uiPro: {\n    footer: {\n      slots: {\n        root: 'border-t border-gray-200 dark:border-gray-800',\n        left: 'text-sm text-gray-500 dark:text-gray-400'\n      }\n    }\n  },\n}\n","app.config.ts (v3)",[279,2806,2807,2820,2829,2838,2854,2868,2872,2876,2885,2894,2903,2919,2933,2938,2942,2946],{"__ignoreMap":277},[282,2808,2809,2811,2813,2816,2818],{"class":284,"line":285},[282,2810,416],{"class":369},[282,2812,419],{"class":369},[282,2814,2815],{"class":422}," defineAppConfig",[282,2817,425],{"class":377},[282,2819,428],{"class":373},[282,2821,2822,2825,2827],{"class":284,"line":407},[282,2823,2824],{"class":434},"  ui",[282,2826,438],{"class":373},[282,2828,441],{"class":373},[282,2830,2831,2834,2836],{"class":284,"line":413},[282,2832,2833],{"class":434},"    colors",[282,2835,438],{"class":373},[282,2837,441],{"class":373},[282,2839,2840,2843,2845,2847,2850,2852],{"class":284,"line":431},[282,2841,2842],{"class":434},"      primary",[282,2844,438],{"class":373},[282,2846,398],{"class":373},[282,2848,2849],{"class":291},"green",[282,2851,471],{"class":373},[282,2853,474],{"class":373},[282,2855,2856,2859,2861,2863,2866],{"class":284,"line":444},[282,2857,2858],{"class":434},"      neutral",[282,2860,438],{"class":373},[282,2862,398],{"class":373},[282,2864,2865],{"class":291},"slate",[282,2867,404],{"class":373},[282,2869,2870],{"class":284,"line":458},[282,2871,2201],{"class":373},[282,2873,2874],{"class":284,"line":477},[282,2875,2206],{"class":373},[282,2877,2878,2881,2883],{"class":284,"line":492},[282,2879,2880],{"class":434},"  uiPro",[282,2882,438],{"class":373},[282,2884,441],{"class":373},[282,2886,2887,2890,2892],{"class":284,"line":503},[282,2888,2889],{"class":434},"    footer",[282,2891,438],{"class":373},[282,2893,441],{"class":373},[282,2895,2896,2899,2901],{"class":284,"line":517},[282,2897,2898],{"class":434},"      slots",[282,2900,438],{"class":373},[282,2902,441],{"class":373},[282,2904,2905,2908,2910,2912,2915,2917],{"class":284,"line":532},[282,2906,2907],{"class":434},"        root",[282,2909,438],{"class":373},[282,2911,398],{"class":373},[282,2913,2914],{"class":291},"border-t border-gray-200 dark:border-gray-800",[282,2916,471],{"class":373},[282,2918,474],{"class":373},[282,2920,2921,2924,2926,2928,2931],{"class":284,"line":541},[282,2922,2923],{"class":434},"        left",[282,2925,438],{"class":373},[282,2927,398],{"class":373},[282,2929,2930],{"class":291},"text-sm text-gray-500 dark:text-gray-400",[282,2932,404],{"class":373},[282,2934,2935],{"class":284,"line":558},[282,2936,2937],{"class":373},"      }\n",[282,2939,2940],{"class":284,"line":578},[282,2941,2201],{"class":373},[282,2943,2944],{"class":284,"line":584},[282,2945,2206],{"class":373},[282,2947,2948],{"class":284,"line":603},[282,2949,2768],{"class":373},[271,2951,2954],{"className":812,"code":2952,"filename":2953,"language":815,"meta":277,"style":277},"export default defineAppConfig({\n  ui: {\n    primary: 'green',\n    gray: 'slate',\n    footer: {\n      bottom: {\n        left: 'text-sm text-gray-500 dark:text-gray-400',\n        wrapper: 'border-t border-gray-200 dark:border-gray-800'\n      }\n    }\n  },\n})\n","app.config.ts (v1)",[279,2955,2956,2968,2976,2991,3006,3014,3023,3037,3050,3054,3058,3062],{"__ignoreMap":277},[282,2957,2958,2960,2962,2964,2966],{"class":284,"line":285},[282,2959,416],{"class":369},[282,2961,419],{"class":369},[282,2963,2815],{"class":422},[282,2965,425],{"class":377},[282,2967,428],{"class":373},[282,2969,2970,2972,2974],{"class":284,"line":407},[282,2971,2824],{"class":434},[282,2973,438],{"class":373},[282,2975,441],{"class":373},[282,2977,2978,2981,2983,2985,2987,2989],{"class":284,"line":413},[282,2979,2980],{"class":434},"    primary",[282,2982,438],{"class":373},[282,2984,398],{"class":373},[282,2986,2849],{"class":291},[282,2988,471],{"class":373},[282,2990,474],{"class":373},[282,2992,2993,2996,2998,3000,3002,3004],{"class":284,"line":431},[282,2994,2995],{"class":434},"    gray",[282,2997,438],{"class":373},[282,2999,398],{"class":373},[282,3001,2865],{"class":291},[282,3003,471],{"class":373},[282,3005,474],{"class":373},[282,3007,3008,3010,3012],{"class":284,"line":444},[282,3009,2889],{"class":434},[282,3011,438],{"class":373},[282,3013,441],{"class":373},[282,3015,3016,3019,3021],{"class":284,"line":458},[282,3017,3018],{"class":434},"      bottom",[282,3020,438],{"class":373},[282,3022,441],{"class":373},[282,3024,3025,3027,3029,3031,3033,3035],{"class":284,"line":477},[282,3026,2923],{"class":434},[282,3028,438],{"class":373},[282,3030,398],{"class":373},[282,3032,2930],{"class":291},[282,3034,471],{"class":373},[282,3036,474],{"class":373},[282,3038,3039,3042,3044,3046,3048],{"class":284,"line":492},[282,3040,3041],{"class":434},"        wrapper",[282,3043,438],{"class":373},[282,3045,398],{"class":373},[282,3047,2914],{"class":291},[282,3049,404],{"class":373},[282,3051,3052],{"class":284,"line":503},[282,3053,2937],{"class":373},[282,3055,3056],{"class":284,"line":517},[282,3057,2201],{"class":373},[282,3059,3060],{"class":284,"line":532},[282,3061,2206],{"class":373},[282,3063,3064,3066],{"class":284,"line":541},[282,3065,749],{"class":373},[282,3067,730],{"class":377},[263,3069,787,3071,1278],{"id":3070},"_3-migrate-errorvue-page",[279,3072,3073],{},"error.vue",[210,3075,3076,3077,3080],{},"New ",[279,3078,3079],{},"UError"," component can be used as full page structure.",[808,3082,3083,3240],{},[271,3084,3089],{"className":3085,"code":3086,"filename":3087,"language":3088,"meta":277,"style":277},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003Cdiv>\n    \u003CAppHeader />\n\n    \u003CUError :error=\"error\" />\n\n    \u003CAppFooter />\n\n    \u003CClientOnly>\n      \u003CLazyUContentSearch\n        :files=\"files\"\n        :navigation=\"navigation\"\n      />\n    \u003C/ClientOnly>\n  \u003C/div>\n\u003C/template>\n","error.vue (v3)","vue",[279,3090,3091,3101,3111,3122,3126,3146,3150,3159,3163,3172,3180,3195,3208,3213,3222,3231],{"__ignoreMap":277},[282,3092,3093,3095,3098],{"class":284,"line":285},[282,3094,1032],{"class":373},[282,3096,3097],{"class":434},"template",[282,3099,3100],{"class":373},">\n",[282,3102,3103,3106,3109],{"class":284,"line":407},[282,3104,3105],{"class":373},"  \u003C",[282,3107,3108],{"class":434},"div",[282,3110,3100],{"class":373},[282,3112,3113,3116,3119],{"class":284,"line":413},[282,3114,3115],{"class":373},"    \u003C",[282,3117,3118],{"class":434},"AppHeader",[282,3120,3121],{"class":373}," />\n",[282,3123,3124],{"class":284,"line":431},[282,3125,410],{"emptyLinePlaceholder":186},[282,3127,3128,3130,3132,3135,3137,3139,3142,3144],{"class":284,"line":444},[282,3129,3115],{"class":373},[282,3131,3079],{"class":434},[282,3133,3134],{"class":822}," :error",[282,3136,1615],{"class":373},[282,3138,2470],{"class":373},[282,3140,3141],{"class":291},"error",[282,3143,2470],{"class":373},[282,3145,3121],{"class":373},[282,3147,3148],{"class":284,"line":458},[282,3149,410],{"emptyLinePlaceholder":186},[282,3151,3152,3154,3157],{"class":284,"line":477},[282,3153,3115],{"class":373},[282,3155,3156],{"class":434},"AppFooter",[282,3158,3121],{"class":373},[282,3160,3161],{"class":284,"line":492},[282,3162,410],{"emptyLinePlaceholder":186},[282,3164,3165,3167,3170],{"class":284,"line":503},[282,3166,3115],{"class":373},[282,3168,3169],{"class":434},"ClientOnly",[282,3171,3100],{"class":373},[282,3173,3174,3177],{"class":284,"line":517},[282,3175,3176],{"class":373},"      \u003C",[282,3178,3179],{"class":434},"LazyUContentSearch\n",[282,3181,3182,3185,3187,3189,3192],{"class":284,"line":532},[282,3183,3184],{"class":822},"        :files",[282,3186,1615],{"class":373},[282,3188,2470],{"class":373},[282,3190,3191],{"class":291},"files",[282,3193,3194],{"class":373},"\"\n",[282,3196,3197,3200,3202,3204,3206],{"class":284,"line":541},[282,3198,3199],{"class":822},"        :navigation",[282,3201,1615],{"class":373},[282,3203,2470],{"class":373},[282,3205,851],{"class":291},[282,3207,3194],{"class":373},[282,3209,3210],{"class":284,"line":558},[282,3211,3212],{"class":373},"      />\n",[282,3214,3215,3218,3220],{"class":284,"line":578},[282,3216,3217],{"class":373},"    \u003C/",[282,3219,3169],{"class":434},[282,3221,3100],{"class":373},[282,3223,3224,3227,3229],{"class":284,"line":584},[282,3225,3226],{"class":373},"  \u003C/",[282,3228,3108],{"class":434},[282,3230,3100],{"class":373},[282,3232,3233,3236,3238],{"class":284,"line":603},[282,3234,3235],{"class":373},"\u003C/",[282,3237,3097],{"class":434},[282,3239,3100],{"class":373},[271,3241,3244],{"className":3085,"code":3242,"filename":3243,"language":3088,"meta":277,"style":277},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CAppHeader />\n\n    \u003CUMain>\n      \u003CUContainer>\n        \u003CUPage>\n          \u003CUPageError :error=\"error\" />\n        \u003C/UPage>\n      \u003C/UContainer>\n    \u003C/UMain>\n\n    \u003CAppFooter />\n\n    \u003CClientOnly>\n      \u003CLazyUContentSearch\n        :files=\"files\"\n        :navigation=\"navigation\"\n      />\n    \u003C/ClientOnly>\n\n    \u003CUNotifications />\n  \u003C/div>\n\u003C/template>\n","error.vue (v1)",[279,3245,3246,3254,3262,3270,3274,3283,3292,3302,3322,3331,3340,3348,3352,3360,3364,3372,3378,3390,3402,3406,3414,3418,3427,3435],{"__ignoreMap":277},[282,3247,3248,3250,3252],{"class":284,"line":285},[282,3249,1032],{"class":373},[282,3251,3097],{"class":434},[282,3253,3100],{"class":373},[282,3255,3256,3258,3260],{"class":284,"line":407},[282,3257,3105],{"class":373},[282,3259,3108],{"class":434},[282,3261,3100],{"class":373},[282,3263,3264,3266,3268],{"class":284,"line":413},[282,3265,3115],{"class":373},[282,3267,3118],{"class":434},[282,3269,3121],{"class":373},[282,3271,3272],{"class":284,"line":431},[282,3273,410],{"emptyLinePlaceholder":186},[282,3275,3276,3278,3281],{"class":284,"line":444},[282,3277,3115],{"class":373},[282,3279,3280],{"class":434},"UMain",[282,3282,3100],{"class":373},[282,3284,3285,3287,3290],{"class":284,"line":458},[282,3286,3176],{"class":373},[282,3288,3289],{"class":434},"UContainer",[282,3291,3100],{"class":373},[282,3293,3294,3297,3300],{"class":284,"line":477},[282,3295,3296],{"class":373},"        \u003C",[282,3298,3299],{"class":434},"UPage",[282,3301,3100],{"class":373},[282,3303,3304,3307,3310,3312,3314,3316,3318,3320],{"class":284,"line":492},[282,3305,3306],{"class":373},"          \u003C",[282,3308,3309],{"class":434},"UPageError",[282,3311,3134],{"class":822},[282,3313,1615],{"class":373},[282,3315,2470],{"class":373},[282,3317,3141],{"class":291},[282,3319,2470],{"class":373},[282,3321,3121],{"class":373},[282,3323,3324,3327,3329],{"class":284,"line":503},[282,3325,3326],{"class":373},"        \u003C/",[282,3328,3299],{"class":434},[282,3330,3100],{"class":373},[282,3332,3333,3336,3338],{"class":284,"line":517},[282,3334,3335],{"class":373},"      \u003C/",[282,3337,3289],{"class":434},[282,3339,3100],{"class":373},[282,3341,3342,3344,3346],{"class":284,"line":532},[282,3343,3217],{"class":373},[282,3345,3280],{"class":434},[282,3347,3100],{"class":373},[282,3349,3350],{"class":284,"line":541},[282,3351,410],{"emptyLinePlaceholder":186},[282,3353,3354,3356,3358],{"class":284,"line":558},[282,3355,3115],{"class":373},[282,3357,3156],{"class":434},[282,3359,3121],{"class":373},[282,3361,3362],{"class":284,"line":578},[282,3363,410],{"emptyLinePlaceholder":186},[282,3365,3366,3368,3370],{"class":284,"line":584},[282,3367,3115],{"class":373},[282,3369,3169],{"class":434},[282,3371,3100],{"class":373},[282,3373,3374,3376],{"class":284,"line":603},[282,3375,3176],{"class":373},[282,3377,3179],{"class":434},[282,3379,3380,3382,3384,3386,3388],{"class":284,"line":629},[282,3381,3184],{"class":822},[282,3383,1615],{"class":373},[282,3385,2470],{"class":373},[282,3387,3191],{"class":291},[282,3389,3194],{"class":373},[282,3391,3392,3394,3396,3398,3400],{"class":284,"line":649},[282,3393,3199],{"class":822},[282,3395,1615],{"class":373},[282,3397,2470],{"class":373},[282,3399,851],{"class":291},[282,3401,3194],{"class":373},[282,3403,3404],{"class":284,"line":667},[282,3405,3212],{"class":373},[282,3407,3408,3410,3412],{"class":284,"line":685},[282,3409,3217],{"class":373},[282,3411,3169],{"class":434},[282,3413,3100],{"class":373},[282,3415,3416],{"class":284,"line":709},[282,3417,410],{"emptyLinePlaceholder":186},[282,3419,3420,3422,3425],{"class":284,"line":724},[282,3421,3115],{"class":373},[282,3423,3424],{"class":434},"UNotifications",[282,3426,3121],{"class":373},[282,3428,3429,3431,3433],{"class":284,"line":733},[282,3430,3226],{"class":373},[282,3432,3108],{"class":434},[282,3434,3100],{"class":373},[282,3436,3437,3439,3441],{"class":284,"line":740},[282,3438,3235],{"class":373},[282,3440,3097],{"class":434},[282,3442,3100],{"class":373},[263,3444,3446,3447,1278],{"id":3445},"_4-migrate-appvue-page","4. Migrate ",[279,3448,790],{},[2557,3450,3451,3464,3478],{},[2560,3452,3453,3456,3457,237,3460,3463],{},[279,3454,3455],{},"Main",", ",[279,3458,3459],{},"Footer",[279,3461,3462],{},"LazyUContentSearch"," components do not need any updates in our case.",[2560,3465,3466,3469,3470,3473,3474,3477],{},[279,3467,3468],{},"Notification"," component can be removed since ",[279,3471,3472],{},"Toast"," components are directly handled by the ",[279,3475,3476],{},"App"," component.",[2560,3479,3480,3481,3484,3485,3488,3489,3492],{},"Instead of the ",[279,3482,3483],{},"NavigationTree"," component you can use the ",[279,3486,3487],{},"NavigationMenu"," component or the ",[279,3490,3491],{},"ContentNavigation"," component to display content navigation.",[808,3494,3495,3645],{},[271,3496,3499],{"className":3085,"code":3497,"filename":3498,"language":3088,"meta":277,"style":277},"\u003Cscript>\n// Content navigation provided by queryCollectionNavigation('docs')\nconst navigation = inject\u003CRef\u003CContentNavigationItem[]>>('navigation')\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CUHeader>\n    \u003Ctemplate #content>\n      \u003CUContentNavigation\n        highlight\n        :navigation=\"navigation\"\n      />\n     \u003C/template>\n   \u003C/UHeader>\n\u003C/template>\n","Header.vue (v3)",[279,3500,3501,3510,3516,3548,3556,3560,3568,3577,3591,3598,3603,3615,3619,3628,3637],{"__ignoreMap":277},[282,3502,3503,3505,3508],{"class":284,"line":285},[282,3504,1032],{"class":373},[282,3506,3507],{"class":434},"script",[282,3509,3100],{"class":373},[282,3511,3512],{"class":284,"line":407},[282,3513,3515],{"class":3514},"syuKq","// Content navigation provided by queryCollectionNavigation('docs')\n",[282,3517,3518,3520,3522,3524,3526,3528,3530,3532,3534,3536,3538,3540,3542,3544,3546],{"class":284,"line":413},[282,3519,823],{"class":822},[282,3521,833],{"class":377},[282,3523,1615],{"class":373},[282,3525,2080],{"class":422},[282,3527,1032],{"class":373},[282,3529,2085],{"class":288},[282,3531,1032],{"class":373},[282,3533,2038],{"class":288},[282,3535,1038],{"class":377},[282,3537,2094],{"class":373},[282,3539,425],{"class":377},[282,3541,471],{"class":373},[282,3543,851],{"class":291},[282,3545,471],{"class":373},[282,3547,730],{"class":377},[282,3549,3550,3552,3554],{"class":284,"line":431},[282,3551,3235],{"class":373},[282,3553,3507],{"class":434},[282,3555,3100],{"class":373},[282,3557,3558],{"class":284,"line":444},[282,3559,410],{"emptyLinePlaceholder":186},[282,3561,3562,3564,3566],{"class":284,"line":458},[282,3563,1032],{"class":373},[282,3565,3097],{"class":434},[282,3567,3100],{"class":373},[282,3569,3570,3572,3575],{"class":284,"line":477},[282,3571,3105],{"class":373},[282,3573,3574],{"class":434},"UHeader",[282,3576,3100],{"class":373},[282,3578,3579,3581,3583,3586,3589],{"class":284,"line":492},[282,3580,3115],{"class":373},[282,3582,3097],{"class":434},[282,3584,3585],{"class":373}," #",[282,3587,3588],{"class":822},"content",[282,3590,3100],{"class":373},[282,3592,3593,3595],{"class":284,"line":503},[282,3594,3176],{"class":373},[282,3596,3597],{"class":434},"UContentNavigation\n",[282,3599,3600],{"class":284,"line":517},[282,3601,3602],{"class":822},"        highlight\n",[282,3604,3605,3607,3609,3611,3613],{"class":284,"line":532},[282,3606,3199],{"class":822},[282,3608,1615],{"class":373},[282,3610,2470],{"class":373},[282,3612,851],{"class":291},[282,3614,3194],{"class":373},[282,3616,3617],{"class":284,"line":541},[282,3618,3212],{"class":373},[282,3620,3621,3624,3626],{"class":284,"line":558},[282,3622,3623],{"class":373},"     \u003C/",[282,3625,3097],{"class":434},[282,3627,3100],{"class":373},[282,3629,3630,3633,3635],{"class":284,"line":578},[282,3631,3632],{"class":373},"   \u003C/",[282,3634,3574],{"class":434},[282,3636,3100],{"class":373},[282,3638,3639,3641,3643],{"class":284,"line":584},[282,3640,3235],{"class":373},[282,3642,3097],{"class":434},[282,3644,3100],{"class":373},[271,3646,3649],{"className":3085,"code":3647,"filename":3648,"language":3088,"meta":277,"style":277},"\u003Cscript>\n// Content navigation provided by fetchContentNavigation()\nconst navigation = inject\u003CRef\u003CNavItem[]>>('navigation')\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CUHeader>\n    \u003Ctemplate #panel>\n      \u003CUNavigationTree :links=\"mapContentNavigation(navigation)\" />\n     \u003C/template>\n   \u003C/UHeader>\n\u003C/template>\n","Header.vue (v1)",[279,3650,3651,3659,3664,3696,3704,3708,3716,3724,3737,3758,3766,3774],{"__ignoreMap":277},[282,3652,3653,3655,3657],{"class":284,"line":285},[282,3654,1032],{"class":373},[282,3656,3507],{"class":434},[282,3658,3100],{"class":373},[282,3660,3661],{"class":284,"line":407},[282,3662,3663],{"class":3514},"// Content navigation provided by fetchContentNavigation()\n",[282,3665,3666,3668,3670,3672,3674,3676,3678,3680,3682,3684,3686,3688,3690,3692,3694],{"class":284,"line":413},[282,3667,823],{"class":822},[282,3669,833],{"class":377},[282,3671,1615],{"class":373},[282,3673,2080],{"class":422},[282,3675,1032],{"class":373},[282,3677,2085],{"class":288},[282,3679,1032],{"class":373},[282,3681,2034],{"class":288},[282,3683,1038],{"class":377},[282,3685,2094],{"class":373},[282,3687,425],{"class":377},[282,3689,471],{"class":373},[282,3691,851],{"class":291},[282,3693,471],{"class":373},[282,3695,730],{"class":377},[282,3697,3698,3700,3702],{"class":284,"line":431},[282,3699,3235],{"class":373},[282,3701,3507],{"class":434},[282,3703,3100],{"class":373},[282,3705,3706],{"class":284,"line":444},[282,3707,410],{"emptyLinePlaceholder":186},[282,3709,3710,3712,3714],{"class":284,"line":458},[282,3711,1032],{"class":373},[282,3713,3097],{"class":434},[282,3715,3100],{"class":373},[282,3717,3718,3720,3722],{"class":284,"line":477},[282,3719,3105],{"class":373},[282,3721,3574],{"class":434},[282,3723,3100],{"class":373},[282,3725,3726,3728,3730,3732,3735],{"class":284,"line":492},[282,3727,3115],{"class":373},[282,3729,3097],{"class":434},[282,3731,3585],{"class":373},[282,3733,3734],{"class":822},"panel",[282,3736,3100],{"class":373},[282,3738,3739,3741,3744,3747,3749,3751,3754,3756],{"class":284,"line":503},[282,3740,3176],{"class":373},[282,3742,3743],{"class":434},"UNavigationTree",[282,3745,3746],{"class":822}," :links",[282,3748,1615],{"class":373},[282,3750,2470],{"class":373},[282,3752,3753],{"class":291},"mapContentNavigation(navigation)",[282,3755,2470],{"class":373},[282,3757,3121],{"class":373},[282,3759,3760,3762,3764],{"class":284,"line":517},[282,3761,3623],{"class":373},[282,3763,3097],{"class":434},[282,3765,3100],{"class":373},[282,3767,3768,3770,3772],{"class":284,"line":532},[282,3769,3632],{"class":373},[282,3771,3574],{"class":434},[282,3773,3100],{"class":373},[282,3775,3776,3778,3780],{"class":284,"line":541},[282,3777,3235],{"class":373},[282,3779,3097],{"class":434},[282,3781,3100],{"class":373},[263,3783,3785],{"id":3784},"_5-update-landing-page","5. Update landing page",[210,3787,3788,3789,803,3792,2039],{},"We've decided to move the landing content from ",[279,3790,3791],{},"YML",[279,3793,50],{},[251,3795,3796],{},[210,3797,3798,3799,3802],{},"This decision was made because components used in Markdown no longer need to be exposed globally (nor do they need to be created in the ",[279,3800,3801],{},"components/content"," folder). Content v3 handles it under the hood.",[792,3804,3805,3809,3970,3979,3999,4700,4704,4713,4720],{"level":794},[796,3806,3808],{"id":3807},"update-content-configuration","Update content configuration",[271,3810,3812],{"className":812,"code":3811,"filename":345,"language":815,"meta":277,"style":277},"export default defineContentConfig({\n  collections: {\n    landing: defineCollection({\n      type: 'page',\n      source: 'index.md'\n    }),\n    docs: defineCollection({\n      type: 'page',\n      source: {\n        include: '**',\n        exclude: ['index.md']\n      },\n      ...\n    })\n  }\n})\n",[279,3813,3814,3826,3834,3846,3860,3873,3881,3893,3907,3915,3929,3945,3949,3954,3960,3964],{"__ignoreMap":277},[282,3815,3816,3818,3820,3822,3824],{"class":284,"line":285},[282,3817,416],{"class":369},[282,3819,419],{"class":369},[282,3821,378],{"class":422},[282,3823,425],{"class":377},[282,3825,428],{"class":373},[282,3827,3828,3830,3832],{"class":284,"line":407},[282,3829,435],{"class":434},[282,3831,438],{"class":373},[282,3833,441],{"class":373},[282,3835,3836,3838,3840,3842,3844],{"class":284,"line":413},[282,3837,447],{"class":434},[282,3839,438],{"class":373},[282,3841,384],{"class":422},[282,3843,425],{"class":377},[282,3845,428],{"class":373},[282,3847,3848,3850,3852,3854,3856,3858],{"class":284,"line":431},[282,3849,461],{"class":434},[282,3851,438],{"class":373},[282,3853,398],{"class":373},[282,3855,468],{"class":291},[282,3857,471],{"class":373},[282,3859,474],{"class":373},[282,3861,3862,3864,3866,3868,3871],{"class":284,"line":444},[282,3863,480],{"class":434},[282,3865,438],{"class":373},[282,3867,398],{"class":373},[282,3869,3870],{"class":291},"index.md",[282,3872,404],{"class":373},[282,3874,3875,3877,3879],{"class":284,"line":458},[282,3876,495],{"class":373},[282,3878,498],{"class":377},[282,3880,474],{"class":373},[282,3882,3883,3885,3887,3889,3891],{"class":284,"line":477},[282,3884,506],{"class":434},[282,3886,438],{"class":373},[282,3888,384],{"class":422},[282,3890,425],{"class":377},[282,3892,428],{"class":373},[282,3894,3895,3897,3899,3901,3903,3905],{"class":284,"line":492},[282,3896,461],{"class":434},[282,3898,438],{"class":373},[282,3900,398],{"class":373},[282,3902,468],{"class":291},[282,3904,471],{"class":373},[282,3906,474],{"class":373},[282,3908,3909,3911,3913],{"class":284,"line":503},[282,3910,480],{"class":434},[282,3912,438],{"class":373},[282,3914,441],{"class":373},[282,3916,3917,3919,3921,3923,3925,3927],{"class":284,"line":517},[282,3918,544],{"class":434},[282,3920,438],{"class":373},[282,3922,398],{"class":373},[282,3924,551],{"class":291},[282,3926,471],{"class":373},[282,3928,474],{"class":373},[282,3930,3931,3933,3935,3937,3939,3941,3943],{"class":284,"line":532},[282,3932,561],{"class":434},[282,3934,438],{"class":373},[282,3936,566],{"class":377},[282,3938,471],{"class":373},[282,3940,3870],{"class":291},[282,3942,471],{"class":373},[282,3944,575],{"class":377},[282,3946,3947],{"class":284,"line":541},[282,3948,581],{"class":373},[282,3950,3951],{"class":284,"line":558},[282,3952,3953],{"class":373},"      ...\n",[282,3955,3956,3958],{"class":284,"line":578},[282,3957,495],{"class":373},[282,3959,730],{"class":377},[282,3961,3962],{"class":284,"line":584},[282,3963,743],{"class":373},[282,3965,3966,3968],{"class":284,"line":603},[282,3967,749],{"class":373},[282,3969,730],{"class":377},[796,3971,3973,3974,3976,3977],{"id":3972},"use-contentrenderer-to-render-markdown","Use ",[279,3975,90],{}," to render ",[279,3978,50],{},[1371,3980,3981],{},[210,3982,3983,3986,3987,3990,3991,3994,3995,3998],{},[279,3984,3985],{},"prose"," property must be set to ",[279,3988,3989],{},"false"," in ",[279,3992,3993],{},"ContentRendered"," as we don't want ",[279,3996,3997],{},"Mardown"," to be applied with prose styling in the case of a landing page integrating non prose Vue components.",[808,4000,4001,4089],{},[271,4002,4004],{"className":3085,"code":4003,"filename":1106,"language":3088,"meta":277,"style":277},"\u003Ctemplate>\n  \u003CUContainer>\n    \u003CContentRenderer\n      v-if=\"page\"\n      :value=\"page\"\n      :prose=\"false\"\n    />\n  \u003C/UContainer>\n\u003C/template>\n",[279,4005,4006,4014,4022,4029,4042,4055,4068,4073,4081],{"__ignoreMap":277},[282,4007,4008,4010,4012],{"class":284,"line":285},[282,4009,1032],{"class":373},[282,4011,3097],{"class":434},[282,4013,3100],{"class":373},[282,4015,4016,4018,4020],{"class":284,"line":407},[282,4017,3105],{"class":373},[282,4019,3289],{"class":434},[282,4021,3100],{"class":373},[282,4023,4024,4026],{"class":284,"line":413},[282,4025,3115],{"class":373},[282,4027,4028],{"class":434},"ContentRenderer\n",[282,4030,4031,4034,4036,4038,4040],{"class":284,"line":431},[282,4032,4033],{"class":822},"      v-if",[282,4035,1615],{"class":373},[282,4037,2470],{"class":373},[282,4039,468],{"class":291},[282,4041,3194],{"class":373},[282,4043,4044,4047,4049,4051,4053],{"class":284,"line":444},[282,4045,4046],{"class":822},"      :value",[282,4048,1615],{"class":373},[282,4050,2470],{"class":373},[282,4052,468],{"class":291},[282,4054,3194],{"class":373},[282,4056,4057,4060,4062,4064,4066],{"class":284,"line":458},[282,4058,4059],{"class":822},"      :prose",[282,4061,1615],{"class":373},[282,4063,2470],{"class":373},[282,4065,3989],{"class":291},[282,4067,3194],{"class":373},[282,4069,4070],{"class":284,"line":477},[282,4071,4072],{"class":373},"    />\n",[282,4074,4075,4077,4079],{"class":284,"line":492},[282,4076,3226],{"class":373},[282,4078,3289],{"class":434},[282,4080,3100],{"class":373},[282,4082,4083,4085,4087],{"class":284,"line":503},[282,4084,3235],{"class":373},[282,4086,3097],{"class":434},[282,4088,3100],{"class":373},[271,4090,4093],{"className":3085,"code":4091,"filename":4092,"language":3088,"meta":277,"style":277},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CULandingHero\n      v-if=\"page.hero\"\n      v-bind=\"page.hero\"\n    >\n      \u003Ctemplate #headline>\n        \u003CUBadge\n          v-if=\"page.hero.headline\"\n          variant=\"subtle\"\n          size=\"lg\"\n          class=\"relative rounded-full font-semibold\"\n        >\n          \u003CNuxtLink\n            :to=\"page.hero.headline.to\"\n            target=\"_blank\"\n            class=\"focus:outline-none\"\n            tabindex=\"-1\"\n          >\n            \u003Cspan\n              class=\"absolute inset-0\"\n              aria-hidden=\"true\"\n            />\n          \u003C/NuxtLink>\n\n          {{ page.hero.headline.label }}\n\n          \u003CUIcon\n            v-if=\"page.hero.headline.icon\"\n            :name=\"page.hero.headline.icon\"\n            class=\"ml-1 w-4 h-4 pointer-events-none\"\n          />\n        \u003C/UBadge>\n      \u003C/template>\n\n      \u003Ctemplate #title>\n        \u003CMDC :value=\"page.hero.title\" />\n      \u003C/template>\n\n      \u003CMDC\n        :value=\"page.hero.code\"\n        class=\"prose prose-primary dark:prose-invert mx-auto\"\n      />\n    \u003C/ULandingHero>\n\n    \u003CULandingSection\n      :title=\"page.features.title\"\n      :links=\"page.features.links\"\n    >\n      \u003CUPageGrid>\n        \u003CULandingCard\n          v-for=\"(item, index) of page.features.items\"\n          :key=\"index\"\n          v-bind=\"item\"\n        />\n      \u003C/UPageGrid>\n    \u003C/ULandingSection>\n  \u003C/div>\n\u003C/template>\n","index.vue (v1)",[279,4094,4095,4103,4111,4118,4131,4144,4149,4162,4169,4183,4197,4211,4225,4230,4237,4251,4265,4279,4293,4298,4306,4320,4334,4339,4349,4353,4359,4364,4372,4387,4401,4415,4421,4431,4440,4445,4458,4480,4489,4494,4502,4517,4532,4537,4547,4552,4560,4575,4590,4595,4605,4613,4628,4642,4657,4663,4672,4682,4691],{"__ignoreMap":277},[282,4096,4097,4099,4101],{"class":284,"line":285},[282,4098,1032],{"class":373},[282,4100,3097],{"class":434},[282,4102,3100],{"class":373},[282,4104,4105,4107,4109],{"class":284,"line":407},[282,4106,3105],{"class":373},[282,4108,3108],{"class":434},[282,4110,3100],{"class":373},[282,4112,4113,4115],{"class":284,"line":413},[282,4114,3115],{"class":373},[282,4116,4117],{"class":434},"ULandingHero\n",[282,4119,4120,4122,4124,4126,4129],{"class":284,"line":431},[282,4121,4033],{"class":822},[282,4123,1615],{"class":373},[282,4125,2470],{"class":373},[282,4127,4128],{"class":291},"page.hero",[282,4130,3194],{"class":373},[282,4132,4133,4136,4138,4140,4142],{"class":284,"line":444},[282,4134,4135],{"class":822},"      v-bind",[282,4137,1615],{"class":373},[282,4139,2470],{"class":373},[282,4141,4128],{"class":291},[282,4143,3194],{"class":373},[282,4145,4146],{"class":284,"line":458},[282,4147,4148],{"class":373},"    >\n",[282,4150,4151,4153,4155,4157,4160],{"class":284,"line":477},[282,4152,3176],{"class":373},[282,4154,3097],{"class":434},[282,4156,3585],{"class":373},[282,4158,4159],{"class":822},"headline",[282,4161,3100],{"class":373},[282,4163,4164,4166],{"class":284,"line":492},[282,4165,3296],{"class":373},[282,4167,4168],{"class":434},"UBadge\n",[282,4170,4171,4174,4176,4178,4181],{"class":284,"line":503},[282,4172,4173],{"class":822},"          v-if",[282,4175,1615],{"class":373},[282,4177,2470],{"class":373},[282,4179,4180],{"class":291},"page.hero.headline",[282,4182,3194],{"class":373},[282,4184,4185,4188,4190,4192,4195],{"class":284,"line":517},[282,4186,4187],{"class":822},"          variant",[282,4189,1615],{"class":373},[282,4191,2470],{"class":373},[282,4193,4194],{"class":291},"subtle",[282,4196,3194],{"class":373},[282,4198,4199,4202,4204,4206,4209],{"class":284,"line":532},[282,4200,4201],{"class":822},"          size",[282,4203,1615],{"class":373},[282,4205,2470],{"class":373},[282,4207,4208],{"class":291},"lg",[282,4210,3194],{"class":373},[282,4212,4213,4216,4218,4220,4223],{"class":284,"line":541},[282,4214,4215],{"class":822},"          class",[282,4217,1615],{"class":373},[282,4219,2470],{"class":373},[282,4221,4222],{"class":291},"relative rounded-full font-semibold",[282,4224,3194],{"class":373},[282,4226,4227],{"class":284,"line":558},[282,4228,4229],{"class":373},"        >\n",[282,4231,4232,4234],{"class":284,"line":578},[282,4233,3306],{"class":373},[282,4235,4236],{"class":434},"NuxtLink\n",[282,4238,4239,4242,4244,4246,4249],{"class":284,"line":584},[282,4240,4241],{"class":822},"            :to",[282,4243,1615],{"class":373},[282,4245,2470],{"class":373},[282,4247,4248],{"class":291},"page.hero.headline.to",[282,4250,3194],{"class":373},[282,4252,4253,4256,4258,4260,4263],{"class":284,"line":603},[282,4254,4255],{"class":822},"            target",[282,4257,1615],{"class":373},[282,4259,2470],{"class":373},[282,4261,4262],{"class":291},"_blank",[282,4264,3194],{"class":373},[282,4266,4267,4270,4272,4274,4277],{"class":284,"line":629},[282,4268,4269],{"class":822},"            class",[282,4271,1615],{"class":373},[282,4273,2470],{"class":373},[282,4275,4276],{"class":291},"focus:outline-none",[282,4278,3194],{"class":373},[282,4280,4281,4284,4286,4288,4291],{"class":284,"line":649},[282,4282,4283],{"class":822},"            tabindex",[282,4285,1615],{"class":373},[282,4287,2470],{"class":373},[282,4289,4290],{"class":291},"-1",[282,4292,3194],{"class":373},[282,4294,4295],{"class":284,"line":667},[282,4296,4297],{"class":373},"          >\n",[282,4299,4300,4303],{"class":284,"line":685},[282,4301,4302],{"class":373},"            \u003C",[282,4304,4305],{"class":434},"span\n",[282,4307,4308,4311,4313,4315,4318],{"class":284,"line":709},[282,4309,4310],{"class":822},"              class",[282,4312,1615],{"class":373},[282,4314,2470],{"class":373},[282,4316,4317],{"class":291},"absolute inset-0",[282,4319,3194],{"class":373},[282,4321,4322,4325,4327,4329,4332],{"class":284,"line":724},[282,4323,4324],{"class":822},"              aria-hidden",[282,4326,1615],{"class":373},[282,4328,2470],{"class":373},[282,4330,4331],{"class":291},"true",[282,4333,3194],{"class":373},[282,4335,4336],{"class":284,"line":733},[282,4337,4338],{"class":373},"            />\n",[282,4340,4341,4344,4347],{"class":284,"line":740},[282,4342,4343],{"class":373},"          \u003C/",[282,4345,4346],{"class":434},"NuxtLink",[282,4348,3100],{"class":373},[282,4350,4351],{"class":284,"line":746},[282,4352,410],{"emptyLinePlaceholder":186},[282,4354,4356],{"class":284,"line":4355},26,[282,4357,4358],{"class":377},"          {{ page.hero.headline.label }}\n",[282,4360,4362],{"class":284,"line":4361},27,[282,4363,410],{"emptyLinePlaceholder":186},[282,4365,4367,4369],{"class":284,"line":4366},28,[282,4368,3306],{"class":373},[282,4370,4371],{"class":434},"UIcon\n",[282,4373,4375,4378,4380,4382,4385],{"class":284,"line":4374},29,[282,4376,4377],{"class":822},"            v-if",[282,4379,1615],{"class":373},[282,4381,2470],{"class":373},[282,4383,4384],{"class":291},"page.hero.headline.icon",[282,4386,3194],{"class":373},[282,4388,4390,4393,4395,4397,4399],{"class":284,"line":4389},30,[282,4391,4392],{"class":822},"            :name",[282,4394,1615],{"class":373},[282,4396,2470],{"class":373},[282,4398,4384],{"class":291},[282,4400,3194],{"class":373},[282,4402,4404,4406,4408,4410,4413],{"class":284,"line":4403},31,[282,4405,4269],{"class":822},[282,4407,1615],{"class":373},[282,4409,2470],{"class":373},[282,4411,4412],{"class":291},"ml-1 w-4 h-4 pointer-events-none",[282,4414,3194],{"class":373},[282,4416,4418],{"class":284,"line":4417},32,[282,4419,4420],{"class":373},"          />\n",[282,4422,4424,4426,4429],{"class":284,"line":4423},33,[282,4425,3326],{"class":373},[282,4427,4428],{"class":434},"UBadge",[282,4430,3100],{"class":373},[282,4432,4434,4436,4438],{"class":284,"line":4433},34,[282,4435,3335],{"class":373},[282,4437,3097],{"class":434},[282,4439,3100],{"class":373},[282,4441,4443],{"class":284,"line":4442},35,[282,4444,410],{"emptyLinePlaceholder":186},[282,4446,4448,4450,4452,4454,4456],{"class":284,"line":4447},36,[282,4449,3176],{"class":373},[282,4451,3097],{"class":434},[282,4453,3585],{"class":373},[282,4455,1292],{"class":822},[282,4457,3100],{"class":373},[282,4459,4461,4463,4466,4469,4471,4473,4476,4478],{"class":284,"line":4460},37,[282,4462,3296],{"class":373},[282,4464,4465],{"class":434},"MDC",[282,4467,4468],{"class":822}," :value",[282,4470,1615],{"class":373},[282,4472,2470],{"class":373},[282,4474,4475],{"class":291},"page.hero.title",[282,4477,2470],{"class":373},[282,4479,3121],{"class":373},[282,4481,4483,4485,4487],{"class":284,"line":4482},38,[282,4484,3335],{"class":373},[282,4486,3097],{"class":434},[282,4488,3100],{"class":373},[282,4490,4492],{"class":284,"line":4491},39,[282,4493,410],{"emptyLinePlaceholder":186},[282,4495,4497,4499],{"class":284,"line":4496},40,[282,4498,3176],{"class":373},[282,4500,4501],{"class":434},"MDC\n",[282,4503,4505,4508,4510,4512,4515],{"class":284,"line":4504},41,[282,4506,4507],{"class":822},"        :value",[282,4509,1615],{"class":373},[282,4511,2470],{"class":373},[282,4513,4514],{"class":291},"page.hero.code",[282,4516,3194],{"class":373},[282,4518,4520,4523,4525,4527,4530],{"class":284,"line":4519},42,[282,4521,4522],{"class":822},"        class",[282,4524,1615],{"class":373},[282,4526,2470],{"class":373},[282,4528,4529],{"class":291},"prose prose-primary dark:prose-invert mx-auto",[282,4531,3194],{"class":373},[282,4533,4535],{"class":284,"line":4534},43,[282,4536,3212],{"class":373},[282,4538,4540,4542,4545],{"class":284,"line":4539},44,[282,4541,3217],{"class":373},[282,4543,4544],{"class":434},"ULandingHero",[282,4546,3100],{"class":373},[282,4548,4550],{"class":284,"line":4549},45,[282,4551,410],{"emptyLinePlaceholder":186},[282,4553,4555,4557],{"class":284,"line":4554},46,[282,4556,3115],{"class":373},[282,4558,4559],{"class":434},"ULandingSection\n",[282,4561,4563,4566,4568,4570,4573],{"class":284,"line":4562},47,[282,4564,4565],{"class":822},"      :title",[282,4567,1615],{"class":373},[282,4569,2470],{"class":373},[282,4571,4572],{"class":291},"page.features.title",[282,4574,3194],{"class":373},[282,4576,4578,4581,4583,4585,4588],{"class":284,"line":4577},48,[282,4579,4580],{"class":822},"      :links",[282,4582,1615],{"class":373},[282,4584,2470],{"class":373},[282,4586,4587],{"class":291},"page.features.links",[282,4589,3194],{"class":373},[282,4591,4593],{"class":284,"line":4592},49,[282,4594,4148],{"class":373},[282,4596,4598,4600,4603],{"class":284,"line":4597},50,[282,4599,3176],{"class":373},[282,4601,4602],{"class":434},"UPageGrid",[282,4604,3100],{"class":373},[282,4606,4608,4610],{"class":284,"line":4607},51,[282,4609,3296],{"class":373},[282,4611,4612],{"class":434},"ULandingCard\n",[282,4614,4616,4619,4621,4623,4626],{"class":284,"line":4615},52,[282,4617,4618],{"class":822},"          v-for",[282,4620,1615],{"class":373},[282,4622,2470],{"class":373},[282,4624,4625],{"class":291},"(item, index) of page.features.items",[282,4627,3194],{"class":373},[282,4629,4631,4634,4636,4638,4640],{"class":284,"line":4630},53,[282,4632,4633],{"class":822},"          :key",[282,4635,1615],{"class":373},[282,4637,2470],{"class":373},[282,4639,1136],{"class":291},[282,4641,3194],{"class":373},[282,4643,4645,4648,4650,4652,4655],{"class":284,"line":4644},54,[282,4646,4647],{"class":822},"          v-bind",[282,4649,1615],{"class":373},[282,4651,2470],{"class":373},[282,4653,4654],{"class":291},"item",[282,4656,3194],{"class":373},[282,4658,4660],{"class":284,"line":4659},55,[282,4661,4662],{"class":373},"        />\n",[282,4664,4666,4668,4670],{"class":284,"line":4665},56,[282,4667,3335],{"class":373},[282,4669,4602],{"class":434},[282,4671,3100],{"class":373},[282,4673,4675,4677,4680],{"class":284,"line":4674},57,[282,4676,3217],{"class":373},[282,4678,4679],{"class":434},"ULandingSection",[282,4681,3100],{"class":373},[282,4683,4685,4687,4689],{"class":284,"line":4684},58,[282,4686,3226],{"class":373},[282,4688,3108],{"class":434},[282,4690,3100],{"class":373},[282,4692,4694,4696,4698],{"class":284,"line":4693},59,[282,4695,3235],{"class":373},[282,4697,3097],{"class":434},[282,4699,3100],{"class":373},[796,4701,4703],{"id":4702},"migrate-vue-components-to-mdc","Migrate Vue components to MDC",[210,4705,4706,4707,4709,4710,230],{},"Move all components in ",[279,4708,3870],{}," following the ",[756,4711,4712],{"href":51},"MDC syntax",[210,4714,4715,4716,4719],{},"Landing components have been reorganised and standardised as generic ",[279,4717,4718],{},"Page"," components.",[2557,4721,4722,4731,4739],{},[2560,4723,4724,4727,4728],{},[279,4725,4726],{},"LandingHero"," => ",[279,4729,4730],{},"PageHero",[2560,4732,4733,4727,4736],{},[279,4734,4735],{},"LandingSection",[279,4737,4738],{},"PageSection",[2560,4740,4741,4727,4744,4747,4748,4751,4752],{},[279,4742,4743],{},"LandingCard",[279,4745,4746],{},"PageCard"," (we'll use the ",[279,4749,4750],{},"PageFeature"," instead)",[251,4753,4755],{"to":4754},"https://github.com/nuxt-ui-pro/docs/blob/v3/content/index.md",[210,4756,4757,4758,4760],{},"Have a look at the final ",[279,4759,50],{}," result on GitHub.",[263,4762,4764],{"id":4763},"_6-migrate-docs-page","6. Migrate docs page",[792,4766,4767,4771,5048,5052],{"level":794},[796,4768,4770],{"id":4769},"layout","Layout",[2557,4772,4773,4782],{},[2560,4774,4775,4778,4779,2039],{},[279,4776,4777],{},"Aside"," component has been renamed to ",[279,4780,4781],{},"PageAside",[2560,4783,4784,4786,4787,4789,4790,230,4792],{},[279,4785,3491],{}," component can be used (instead of ",[279,4788,3483],{},") to display the content navigation returned by ",[279,4791,72],{},[808,4793,4794,4927],{},[271,4795,4798],{"className":3085,"code":4796,"filename":4797,"language":3088,"meta":277,"style":277},"\u003Ctemplate>\n  \u003CUContainer>\n    \u003CUPage>\n      \u003Ctemplate #left>\n        \u003CUPageAside>\n          \u003CUContentNavigation\n            highlight\n            :navigation=\"navigation\"\n          />\n        \u003C/UPageAside>\n      \u003C/template>\n\n      \u003Cslot />\n    \u003C/UPage>\n  \u003C/UContainer>\n\u003C/template>\n","layout/docs.vue (v3)",[279,4799,4800,4808,4816,4824,4837,4846,4852,4857,4870,4874,4882,4890,4894,4903,4911,4919],{"__ignoreMap":277},[282,4801,4802,4804,4806],{"class":284,"line":285},[282,4803,1032],{"class":373},[282,4805,3097],{"class":434},[282,4807,3100],{"class":373},[282,4809,4810,4812,4814],{"class":284,"line":407},[282,4811,3105],{"class":373},[282,4813,3289],{"class":434},[282,4815,3100],{"class":373},[282,4817,4818,4820,4822],{"class":284,"line":413},[282,4819,3115],{"class":373},[282,4821,3299],{"class":434},[282,4823,3100],{"class":373},[282,4825,4826,4828,4830,4832,4835],{"class":284,"line":431},[282,4827,3176],{"class":373},[282,4829,3097],{"class":434},[282,4831,3585],{"class":373},[282,4833,4834],{"class":822},"left",[282,4836,3100],{"class":373},[282,4838,4839,4841,4844],{"class":284,"line":444},[282,4840,3296],{"class":373},[282,4842,4843],{"class":434},"UPageAside",[282,4845,3100],{"class":373},[282,4847,4848,4850],{"class":284,"line":458},[282,4849,3306],{"class":373},[282,4851,3597],{"class":434},[282,4853,4854],{"class":284,"line":477},[282,4855,4856],{"class":822},"            highlight\n",[282,4858,4859,4862,4864,4866,4868],{"class":284,"line":492},[282,4860,4861],{"class":822},"            :navigation",[282,4863,1615],{"class":373},[282,4865,2470],{"class":373},[282,4867,851],{"class":291},[282,4869,3194],{"class":373},[282,4871,4872],{"class":284,"line":503},[282,4873,4420],{"class":373},[282,4875,4876,4878,4880],{"class":284,"line":517},[282,4877,3326],{"class":373},[282,4879,4843],{"class":434},[282,4881,3100],{"class":373},[282,4883,4884,4886,4888],{"class":284,"line":532},[282,4885,3335],{"class":373},[282,4887,3097],{"class":434},[282,4889,3100],{"class":373},[282,4891,4892],{"class":284,"line":541},[282,4893,410],{"emptyLinePlaceholder":186},[282,4895,4896,4898,4901],{"class":284,"line":558},[282,4897,3176],{"class":373},[282,4899,4900],{"class":434},"slot",[282,4902,3121],{"class":373},[282,4904,4905,4907,4909],{"class":284,"line":578},[282,4906,3217],{"class":373},[282,4908,3299],{"class":434},[282,4910,3100],{"class":373},[282,4912,4913,4915,4917],{"class":284,"line":584},[282,4914,3226],{"class":373},[282,4916,3289],{"class":434},[282,4918,3100],{"class":373},[282,4920,4921,4923,4925],{"class":284,"line":603},[282,4922,3235],{"class":373},[282,4924,3097],{"class":434},[282,4926,3100],{"class":373},[271,4928,4931],{"className":3085,"code":4929,"filename":4930,"language":3088,"meta":277,"style":277},"\u003Ctemplate>\n  \u003CUContainer>\n    \u003CUPage>\n      \u003Ctemplate #left>\n        \u003CUAside>\n          \u003CUNavigationTree :links=\"mapContentNavigation(navigation)\" />\n        \u003C/UAside>\n      \u003C/template>\n\n      \u003Cslot />\n    \u003C/UPage>\n  \u003C/UContainer>\n\u003C/template>\n","layout/docs.vue (v1)",[279,4932,4933,4941,4949,4957,4969,4978,4996,5004,5012,5016,5024,5032,5040],{"__ignoreMap":277},[282,4934,4935,4937,4939],{"class":284,"line":285},[282,4936,1032],{"class":373},[282,4938,3097],{"class":434},[282,4940,3100],{"class":373},[282,4942,4943,4945,4947],{"class":284,"line":407},[282,4944,3105],{"class":373},[282,4946,3289],{"class":434},[282,4948,3100],{"class":373},[282,4950,4951,4953,4955],{"class":284,"line":413},[282,4952,3115],{"class":373},[282,4954,3299],{"class":434},[282,4956,3100],{"class":373},[282,4958,4959,4961,4963,4965,4967],{"class":284,"line":431},[282,4960,3176],{"class":373},[282,4962,3097],{"class":434},[282,4964,3585],{"class":373},[282,4966,4834],{"class":822},[282,4968,3100],{"class":373},[282,4970,4971,4973,4976],{"class":284,"line":444},[282,4972,3296],{"class":373},[282,4974,4975],{"class":434},"UAside",[282,4977,3100],{"class":373},[282,4979,4980,4982,4984,4986,4988,4990,4992,4994],{"class":284,"line":458},[282,4981,3306],{"class":373},[282,4983,3743],{"class":434},[282,4985,3746],{"class":822},[282,4987,1615],{"class":373},[282,4989,2470],{"class":373},[282,4991,3753],{"class":291},[282,4993,2470],{"class":373},[282,4995,3121],{"class":373},[282,4997,4998,5000,5002],{"class":284,"line":477},[282,4999,3326],{"class":373},[282,5001,4975],{"class":434},[282,5003,3100],{"class":373},[282,5005,5006,5008,5010],{"class":284,"line":492},[282,5007,3335],{"class":373},[282,5009,3097],{"class":434},[282,5011,3100],{"class":373},[282,5013,5014],{"class":284,"line":503},[282,5015,410],{"emptyLinePlaceholder":186},[282,5017,5018,5020,5022],{"class":284,"line":517},[282,5019,3176],{"class":373},[282,5021,4900],{"class":434},[282,5023,3121],{"class":373},[282,5025,5026,5028,5030],{"class":284,"line":532},[282,5027,3217],{"class":373},[282,5029,3299],{"class":434},[282,5031,3100],{"class":373},[282,5033,5034,5036,5038],{"class":284,"line":541},[282,5035,3226],{"class":373},[282,5037,3289],{"class":434},[282,5039,3100],{"class":373},[282,5041,5042,5044,5046],{"class":284,"line":558},[282,5043,3235],{"class":373},[282,5045,3097],{"class":434},[282,5047,3100],{"class":373},[796,5049,5051],{"id":5050},"catch-all-pages","Catch-all pages",[2557,5053,5054,5063,5072],{},[2560,5055,5056,5059,5060],{},[279,5057,5058],{},"Divider"," has been renamed to ",[279,5061,5062],{},"Separator",[2560,5064,5065,5068,5069],{},[279,5066,5067],{},"findPageHeadline"," must be imported from ",[279,5070,5071],{},"#ui-pro/utils/content",[2560,5073,5074,5076,5077,3477],{},[279,5075,3985],{}," property does not exist no more on ",[279,5078,5079],{},"PageBody",[251,5081,5082],{"to":253},[210,5083,5084],{},"That's it! The docs starter is now fully running on both UI and Content v3 🎉",[258,5086,5088],{"id":5087},"edit-on-studio","Edit on Studio",[210,5090,5091],{},"If you're using Nuxt Studio to edit your documentation you also need to migrate the related code.",[210,5093,5094,5095,5097,5098,5100,5101,5103],{},"The Studio module has been deprecated and a new generic ",[279,5096,2134],{}," has been implemented directly into Nuxt Content, you can remove the ",[279,5099,2138],{}," package from your dependencies and from the",[279,5102,2142],{}," modules. Instead you just need to enable the preview mode in the Nuxt configuration file by binding the Studio API.",[271,5105,5106],{"className":812,"code":2149,"filename":2142,"language":815,"meta":277,"style":277},[279,5107,5108,5120,5128,5136,5148,5152,5156],{"__ignoreMap":277},[282,5109,5110,5112,5114,5116,5118],{"class":284,"line":285},[282,5111,416],{"class":369},[282,5113,419],{"class":369},[282,5115,2160],{"class":422},[282,5117,425],{"class":377},[282,5119,428],{"class":373},[282,5121,5122,5124,5126],{"class":284,"line":407},[282,5123,2169],{"class":434},[282,5125,438],{"class":373},[282,5127,441],{"class":373},[282,5129,5130,5132,5134],{"class":284,"line":413},[282,5131,2178],{"class":434},[282,5133,438],{"class":373},[282,5135,441],{"class":373},[282,5137,5138,5140,5142,5144,5146],{"class":284,"line":431},[282,5139,2187],{"class":434},[282,5141,438],{"class":373},[282,5143,398],{"class":373},[282,5145,2194],{"class":291},[282,5147,404],{"class":373},[282,5149,5150],{"class":284,"line":444},[282,5151,2201],{"class":373},[282,5153,5154],{"class":284,"line":458},[282,5155,2206],{"class":373},[282,5157,5158,5160],{"class":284,"line":477},[282,5159,749],{"class":373},[282,5161,730],{"class":377},[210,5163,5164,5165,2223,5167,803,5169,230],{},"In order to keep the app config file updatable from Studio you need to update the helper import of the ",[279,5166,2222],{},[279,5168,2226],{},[279,5170,2229],{},[5172,5173],"video",{":autoplay":4331,":controls":4331,":loop":4331,"poster":5174,"src":5175},"https://res.cloudinary.com/nuxt/video/upload/v1737458923/studio/docs-v3_lqfasl.png","https://res.cloudinary.com/nuxt/video/upload/v1737458923/studio/docs-v3_lqfasl.mp4",[5177,5178,5179],"style",{},"html pre.shiki code .sYGMc, html code.shiki .sYGMc{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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 .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 .s86vT, html code.shiki .s86vT{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sndM8, html code.shiki .sndM8{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .swgpB, html code.shiki .swgpB{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sd2Uz, html code.shiki .sd2Uz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s50WR, html code.shiki .s50WR{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sPKOg, html code.shiki .sPKOg{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sK9QF, html code.shiki .sK9QF{--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 .syuKq, html code.shiki .syuKq{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":277,"searchDepth":431,"depth":431,"links":5181},[5182,5209,5233],{"id":260,"depth":407,"text":261,"children":5183},[5184,5185,5187,5194,5200,5206,5207,5208],{"id":265,"depth":413,"text":266},{"id":341,"depth":413,"text":5186},"2. Create content.config.ts file",{"id":786,"depth":413,"text":5188,"children":5189},"3. Migrate app.vue",[5190,5192],{"id":798,"depth":431,"text":5191},"Navigation fetch can be updated by moving from fetchContentNavigation to queryCollectionNavigation method",{"id":924,"depth":431,"text":5193},"Content search command palette data can use the new queryCollectionSearchSections method",{"id":1088,"depth":413,"text":1089,"children":5195},[5196,5198],{"id":1094,"depth":431,"text":5197},"Home page data fetching can be updated by moving from queryContent to queryCollection method",{"id":1243,"depth":431,"text":5199},"useSeoMeta can be populated using the seo field provided by the page type",{"id":1386,"depth":413,"text":1387,"children":5201},[5202,5204],{"id":1392,"depth":431,"text":5203},"Docs page data and surround fetching can be updated and mutualised by moving from queryContent to queryCollection and queryCollectionItemSurroundings methods",{"id":1877,"depth":431,"text":5205},"Populate useSeoMeta with the seo field provided by the page type",{"id":2024,"depth":413,"text":2025},{"id":2107,"depth":413,"text":2108},{"id":2121,"depth":413,"text":2122},{"id":2242,"depth":407,"text":2243,"children":5210},[5211,5217,5219,5221,5223,5229],{"id":2252,"depth":413,"text":2253,"children":5212},[5213,5214,5215,5216],{"id":2263,"depth":431,"text":2264},{"id":2323,"depth":431,"text":2324},{"id":2447,"depth":431,"text":2448},{"id":2547,"depth":431,"text":2548},{"id":2771,"depth":413,"text":5218},"2. Update ui overloads in app.config.ts",{"id":3070,"depth":413,"text":5220},"3. Migrate error.vue page",{"id":3445,"depth":413,"text":5222},"4. Migrate app.vue page",{"id":3784,"depth":413,"text":3785,"children":5224},[5225,5226,5228],{"id":3807,"depth":431,"text":3808},{"id":3972,"depth":431,"text":5227},"Use ContentRenderer to render Markdown",{"id":4702,"depth":431,"text":4703},{"id":4763,"depth":413,"text":4764,"children":5230},[5231,5232],{"id":4769,"depth":431,"text":4770},{"id":5050,"depth":431,"text":5051},{"id":5087,"depth":407,"text":5088},"2025-01-21T01:00:00.000Z","How to upgrade your Nuxt UI Pro documentation to Content and UI v3",{"src":5237},"/blog/migrate-docs-starter.png",{},"/blog/ui-pro-docs-migration",{"title":193,"description":5235},"blog/ui-pro-docs-migration",{"id":5243,"title":229,"authors":5244,"body":5259,"category":6326,"date":6327,"description":6328,"draft":42,"extension":1791,"image":6329,"meta":6332,"navigation":186,"path":6333,"seo":6334,"stem":6336},"posts/blog/v3.md",[5245,5247,5253],{"name":196,"avatar":5246,"to":199,"username":200},{"src":198},{"name":5248,"avatar":5249,"to":5251,"username":5252},"Ahad Birang",{"src":5250},"https://avatars.githubusercontent.com/u/2047945?v=4","https://x.com/farnabaz","farnabaz",{"name":5254,"avatar":5255,"to":5257,"username":5258},"Sébastien Chopin",{"src":5256},"https://avatars.githubusercontent.com/u/904724?v=4","https://x.com/atinux","atinux",{"type":202,"value":5260,"toc":6308},[5261,5267,5270,5274,5277,5291,5300,5307,5311,5330,5333,5344,5348,5351,5355,5358,5364,5372,5378,5381,5660,5665,5669,5672,5694,5697,5936,5940,5943,5964,5967,6141,6145,6148,6152,6158,6163,6167,6186,6189,6200,6206,6265,6268,6274,6287,6305],[205,5262,5264],{"id":5263},"announcing-nuxt-content-30",[213,5265,5266],{},"Announcing Nuxt Content 3.0",[210,5268,5269],{},"We are thrilled to announce the first stable version of Nuxt Content 3.0.0 ✨",[258,5271,5273],{"id":5272},"performance-improvements","🚀 Performance Improvements",[210,5275,5276],{},"Nuxt Content v3 moves away from a file-based storage approach to an SQL database system. Using a database instead of the file-based storage reduces many I/O operations when querying large datasets.",[1371,5278,5279],{},[210,5280,5281,5282,3456,5284,5287,5288,5290],{},"The new database system enhances the way your data files are stored and structured, ensuring better performance and scalability. This update is entirely behind the scenes and does not affect the file types you can use in Content (",[279,5283,184],{},[279,5285,5286],{},"json",", and ",[279,5289,2583],{}," ).",[210,5292,5293,5294,237,5297,230],{},"This switch is transparent to users and Nuxt Content still provides a zero config support for development mode, ",[756,5295,5296],{"href":109},"server hosting",[756,5298,5299],{"href":117},"static generation",[210,5301,5302,5303,5306],{},"Furthermore, ",[756,5304,5305],{"href":113},"serverless"," hosting is now supported and client-side navigation performance has been improved.",[263,5308,5310],{"id":5309},"serverless-compatibility","Serverless Compatibility",[210,5312,5313,5314,3456,5319,5324,5325,230],{},"A key challenge with Nuxt Content v2 was the large bundle size required to store all content files. It was an issue when deploying to serverless or edge platforms like ",[756,5315,5318],{"href":5316,"rel":5317},"https://netlify.com",[773],"Netlify",[756,5320,5323],{"href":5321,"rel":5322},"https://hub.nuxt.com",[773],"NuxtHub"," or ",[756,5326,5329],{"href":5327,"rel":5328},"https://vercel.com",[773],"Vercel",[210,5331,5332],{},"In serverless environments, each user request triggers a fresh instance of your Nuxt server, it starts from scratch each time. This \"stateless\" nature means you can't store data in server memory or use file-based databases like SQLite. That's why we've implemented database adaptors that persist data independently of your server instances.",[1371,5334,5335],{},[210,5336,5337,5338,5343],{},"We're manually switching to the appropriate provider (Vercel / Postgres, NuxtHub / D1...) according to the ",[756,5339,5342],{"href":5340,"rel":5341},"https://cfec52f9.content-f0q.pages.dev/docs/getting-started/configuration#database",[773],"database type"," you've set in your config.",[263,5345,5347],{"id":5346},"wasm-sqlite-in-browser","WASM SQLite in Browser",[210,5349,5350],{},"For client-side navigation, the module uses a similar approach. When the application executes the first content query, it downloads the generated dump from the server and initializes a local SQLite database within the browser. From that point onward, all queries are executed locally without needing to call the server: significantly improving the responsiveness of the application and providing a seamless user experience.",[258,5352,5354],{"id":5353},"️-content-collections","🗄️ Content Collections",[210,5356,5357],{},"Collections are groups of related content items within your Nuxt Content project. They help organize and manage large datasets more efficiently.",[263,5359,5361],{"id":5360},"define-collections",[213,5362,5363],{},"Define Collections",[210,5365,5366,5367,5371],{},"You can now define collections in the ",[756,5368,5369],{"href":17},[279,5370,345],{}," file to configure the database structure, utility types, and methods for finding, parsing, and querying content.",[263,5373,5375],{"id":5374},"collections-schema",[213,5376,5377],{},"Collections Schema",[210,5379,5380],{},"Schemas enforce consistency within collections and improve TypeScript typings for better integration with Nuxt Content utilities.",[271,5382,5384],{"className":812,"code":5383,"filename":345,"language":815,"meta":277,"style":277},"import { defineCollection, z } from '@nuxt/content'\n\n// Export collections\nexport const collections = {\n  // Define collection using `defineCollection` utility\n  posts: defineCollection({\n    // Specify the type of content in this collection\n    type: 'page',\n    // Load every file matching this pattern\n    source: 'blog/**/*.md',\n    // Define custom schema for this collection\n    schema: z.object({\n      date: z.date(),\n      image: z.object({\n        src: z.string(),\n        alt: z.string()\n      }),\n      badge: z.object({\n        label: z.string(),\n        color: z.string()\n      })\n    })\n  }),\n}\n",[279,5385,5386,5408,5412,5417,5431,5436,5449,5454,5469,5474,5490,5495,5512,5530,5547,5564,5579,5587,5604,5621,5636,5642,5648,5656],{"__ignoreMap":277},[282,5387,5388,5390,5392,5394,5396,5398,5400,5402,5404,5406],{"class":284,"line":285},[282,5389,370],{"class":369},[282,5391,374],{"class":373},[282,5393,384],{"class":377},[282,5395,381],{"class":373},[282,5397,389],{"class":377},[282,5399,392],{"class":373},[282,5401,395],{"class":369},[282,5403,398],{"class":373},[282,5405,401],{"class":291},[282,5407,404],{"class":373},[282,5409,5410],{"class":284,"line":407},[282,5411,410],{"emptyLinePlaceholder":186},[282,5413,5414],{"class":284,"line":413},[282,5415,5416],{"class":3514},"// Export collections\n",[282,5418,5419,5421,5424,5427,5429],{"class":284,"line":431},[282,5420,416],{"class":369},[282,5422,5423],{"class":822}," const",[282,5425,5426],{"class":377}," collections ",[282,5428,1615],{"class":373},[282,5430,441],{"class":373},[282,5432,5433],{"class":284,"line":444},[282,5434,5435],{"class":3514},"  // Define collection using `defineCollection` utility\n",[282,5437,5438,5441,5443,5445,5447],{"class":284,"line":458},[282,5439,5440],{"class":434},"  posts",[282,5442,438],{"class":373},[282,5444,384],{"class":422},[282,5446,425],{"class":377},[282,5448,428],{"class":373},[282,5450,5451],{"class":284,"line":477},[282,5452,5453],{"class":3514},"    // Specify the type of content in this collection\n",[282,5455,5456,5459,5461,5463,5465,5467],{"class":284,"line":492},[282,5457,5458],{"class":434},"    type",[282,5460,438],{"class":373},[282,5462,398],{"class":373},[282,5464,468],{"class":291},[282,5466,471],{"class":373},[282,5468,474],{"class":373},[282,5470,5471],{"class":284,"line":503},[282,5472,5473],{"class":3514},"    // Load every file matching this pattern\n",[282,5475,5476,5479,5481,5483,5486,5488],{"class":284,"line":517},[282,5477,5478],{"class":434},"    source",[282,5480,438],{"class":373},[282,5482,398],{"class":373},[282,5484,5485],{"class":291},"blog/**/*.md",[282,5487,471],{"class":373},[282,5489,474],{"class":373},[282,5491,5492],{"class":284,"line":532},[282,5493,5494],{"class":3514},"    // Define custom schema for this collection\n",[282,5496,5497,5500,5502,5504,5506,5508,5510],{"class":284,"line":541},[282,5498,5499],{"class":434},"    schema",[282,5501,438],{"class":373},[282,5503,389],{"class":377},[282,5505,230],{"class":373},[282,5507,596],{"class":422},[282,5509,425],{"class":377},[282,5511,428],{"class":373},[282,5513,5514,5517,5519,5521,5523,5526,5528],{"class":284,"line":558},[282,5515,5516],{"class":434},"      date",[282,5518,438],{"class":373},[282,5520,389],{"class":377},[282,5522,230],{"class":373},[282,5524,5525],{"class":422},"date",[282,5527,644],{"class":377},[282,5529,474],{"class":373},[282,5531,5532,5535,5537,5539,5541,5543,5545],{"class":284,"line":578},[282,5533,5534],{"class":434},"      image",[282,5536,438],{"class":373},[282,5538,389],{"class":377},[282,5540,230],{"class":373},[282,5542,596],{"class":422},[282,5544,425],{"class":377},[282,5546,428],{"class":373},[282,5548,5549,5552,5554,5556,5558,5560,5562],{"class":284,"line":584},[282,5550,5551],{"class":434},"        src",[282,5553,438],{"class":373},[282,5555,389],{"class":377},[282,5557,230],{"class":373},[282,5559,641],{"class":422},[282,5561,644],{"class":377},[282,5563,474],{"class":373},[282,5565,5566,5569,5571,5573,5575,5577],{"class":284,"line":603},[282,5567,5568],{"class":434},"        alt",[282,5570,438],{"class":373},[282,5572,389],{"class":377},[282,5574,230],{"class":373},[282,5576,641],{"class":422},[282,5578,706],{"class":377},[282,5580,5581,5583,5585],{"class":284,"line":629},[282,5582,727],{"class":373},[282,5584,498],{"class":377},[282,5586,474],{"class":373},[282,5588,5589,5592,5594,5596,5598,5600,5602],{"class":284,"line":649},[282,5590,5591],{"class":434},"      badge",[282,5593,438],{"class":373},[282,5595,389],{"class":377},[282,5597,230],{"class":373},[282,5599,596],{"class":422},[282,5601,425],{"class":377},[282,5603,428],{"class":373},[282,5605,5606,5609,5611,5613,5615,5617,5619],{"class":284,"line":667},[282,5607,5608],{"class":434},"        label",[282,5610,438],{"class":373},[282,5612,389],{"class":377},[282,5614,230],{"class":373},[282,5616,641],{"class":422},[282,5618,644],{"class":377},[282,5620,474],{"class":373},[282,5622,5623,5626,5628,5630,5632,5634],{"class":284,"line":685},[282,5624,5625],{"class":434},"        color",[282,5627,438],{"class":373},[282,5629,389],{"class":377},[282,5631,230],{"class":373},[282,5633,641],{"class":422},[282,5635,706],{"class":377},[282,5637,5638,5640],{"class":284,"line":709},[282,5639,727],{"class":373},[282,5641,730],{"class":377},[282,5643,5644,5646],{"class":284,"line":724},[282,5645,495],{"class":373},[282,5647,730],{"class":377},[282,5649,5650,5652,5654],{"class":284,"line":733},[282,5651,1542],{"class":373},[282,5653,498],{"class":377},[282,5655,474],{"class":373},[282,5657,5658],{"class":284,"line":740},[282,5659,2768],{"class":373},[251,5661,5662],{"to":32},[210,5663,5664],{},"Learn more about collections in the documentation.",[258,5666,5668],{"id":5667},"simplified-vue-utils","🔧 Simplified Vue Utils",[210,5670,5671],{},"We simplified the utils to now expose:",[2557,5673,5674,5679,5684,5689],{},[2560,5675,5676,5678],{},[756,5677,68],{"href":69}," to fetch your collections with our powerful query builder",[2560,5680,5681,5683],{},[756,5682,72],{"href":73}," to fetch the generated navigation for a specific collection",[2560,5685,5686,5688],{},[756,5687,76],{"href":77}," to fetch sibling content for a specific path",[2560,5690,5691,5693],{},[756,5692,80],{"href":81}," to fetch searchable sections from a collection for enhanced content discovery",[210,5695,5696],{},"These four utils allow your to efficiently fetch and query your content within your Vue pages and components:",[271,5698,5701],{"className":3085,"code":5699,"filename":5700,"language":3088,"meta":277,"style":277},"\u003Cscript setup lang=\"ts\">\nconst { data: posts } = await useAsyncData('blog', () => {\n  return queryCollection('blog').all()\n})\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Ch1>Blog\u003C/h1>\n    \u003Cul>\n      \u003Cli v-for=\"post in posts\" :key=\"post.id\">\n        \u003CNuxtLink :to=\"post.path\">{{ post.title }}\u003C/NuxtLink>\n      \u003C/li>\n    \u003C/ul>\n  \u003C/div>\n\u003C/template>\n","pages/blog.vue",[279,5702,5703,5725,5762,5785,5791,5799,5803,5811,5819,5835,5843,5875,5904,5912,5920,5928],{"__ignoreMap":277},[282,5704,5705,5707,5709,5712,5715,5717,5719,5721,5723],{"class":284,"line":285},[282,5706,1032],{"class":373},[282,5708,3507],{"class":434},[282,5710,5711],{"class":822}," setup",[282,5713,5714],{"class":822}," lang",[282,5716,1615],{"class":373},[282,5718,2470],{"class":373},[282,5720,815],{"class":291},[282,5722,2470],{"class":373},[282,5724,3100],{"class":373},[282,5726,5727,5729,5731,5733,5735,5738,5740,5742,5744,5746,5748,5750,5752,5754,5756,5758,5760],{"class":284,"line":407},[282,5728,823],{"class":822},[282,5730,374],{"class":373},[282,5732,828],{"class":434},[282,5734,438],{"class":373},[282,5736,5737],{"class":377}," posts ",[282,5739,749],{"class":373},[282,5741,838],{"class":373},[282,5743,841],{"class":369},[282,5745,844],{"class":422},[282,5747,425],{"class":377},[282,5749,471],{"class":373},[282,5751,189],{"class":291},[282,5753,471],{"class":373},[282,5755,381],{"class":373},[282,5757,858],{"class":373},[282,5759,861],{"class":822},[282,5761,441],{"class":373},[282,5763,5764,5767,5769,5771,5773,5775,5777,5779,5781,5783],{"class":284,"line":413},[282,5765,5766],{"class":369},"  return",[282,5768,1147],{"class":422},[282,5770,425],{"class":434},[282,5772,471],{"class":373},[282,5774,189],{"class":291},[282,5776,471],{"class":373},[282,5778,498],{"class":434},[282,5780,230],{"class":373},[282,5782,1446],{"class":422},[282,5784,706],{"class":434},[282,5786,5787,5789],{"class":284,"line":431},[282,5788,749],{"class":373},[282,5790,730],{"class":377},[282,5792,5793,5795,5797],{"class":284,"line":444},[282,5794,3235],{"class":373},[282,5796,3507],{"class":434},[282,5798,3100],{"class":373},[282,5800,5801],{"class":284,"line":458},[282,5802,410],{"emptyLinePlaceholder":186},[282,5804,5805,5807,5809],{"class":284,"line":477},[282,5806,1032],{"class":373},[282,5808,3097],{"class":434},[282,5810,3100],{"class":373},[282,5812,5813,5815,5817],{"class":284,"line":492},[282,5814,3105],{"class":373},[282,5816,3108],{"class":434},[282,5818,3100],{"class":373},[282,5820,5821,5823,5825,5827,5829,5831,5833],{"class":284,"line":503},[282,5822,3115],{"class":373},[282,5824,205],{"class":434},[282,5826,1041],{"class":373},[282,5828,181],{"class":377},[282,5830,3235],{"class":373},[282,5832,205],{"class":434},[282,5834,3100],{"class":373},[282,5836,5837,5839,5841],{"class":284,"line":517},[282,5838,3115],{"class":373},[282,5840,2557],{"class":434},[282,5842,3100],{"class":373},[282,5844,5845,5847,5849,5852,5854,5856,5859,5861,5864,5866,5868,5871,5873],{"class":284,"line":532},[282,5846,3176],{"class":373},[282,5848,2560],{"class":434},[282,5850,5851],{"class":822}," v-for",[282,5853,1615],{"class":373},[282,5855,2470],{"class":373},[282,5857,5858],{"class":291},"post in posts",[282,5860,2470],{"class":373},[282,5862,5863],{"class":822}," :key",[282,5865,1615],{"class":373},[282,5867,2470],{"class":373},[282,5869,5870],{"class":291},"post.id",[282,5872,2470],{"class":373},[282,5874,3100],{"class":373},[282,5876,5877,5879,5881,5884,5886,5888,5891,5893,5895,5898,5900,5902],{"class":284,"line":541},[282,5878,3296],{"class":373},[282,5880,4346],{"class":434},[282,5882,5883],{"class":822}," :to",[282,5885,1615],{"class":373},[282,5887,2470],{"class":373},[282,5889,5890],{"class":291},"post.path",[282,5892,2470],{"class":373},[282,5894,1041],{"class":373},[282,5896,5897],{"class":377},"{{ post.title }}",[282,5899,3235],{"class":373},[282,5901,4346],{"class":434},[282,5903,3100],{"class":373},[282,5905,5906,5908,5910],{"class":284,"line":558},[282,5907,3335],{"class":373},[282,5909,2560],{"class":434},[282,5911,3100],{"class":373},[282,5913,5914,5916,5918],{"class":284,"line":578},[282,5915,3217],{"class":373},[282,5917,2557],{"class":434},[282,5919,3100],{"class":373},[282,5921,5922,5924,5926],{"class":284,"line":584},[282,5923,3226],{"class":373},[282,5925,3108],{"class":434},[282,5927,3100],{"class":373},[282,5929,5930,5932,5934],{"class":284,"line":603},[282,5931,3235],{"class":373},[282,5933,3097],{"class":434},[282,5935,3100],{"class":373},[258,5937,5939],{"id":5938},"built-in-components","📦 Built-in Components",[210,5941,5942],{},"We've updated the components to include only the essentials:",[2557,5944,5945,5950,5959],{},[2560,5946,5947,5949],{},[756,5948,3993],{"href":91}," to render the parsed Markdown to HTML & Vue components",[2560,5951,5952,5954,5955,5958],{},[756,5953,94],{"href":95}," replaced ",[279,5956,5957],{},"ContentSlot"," as we now support unwrapping using a directive, making your Vue components perfectly compatible to be used in both Vue & Markdown",[2560,5960,5961,5963],{},[756,5962,98],{"href":99}," are pre-designed components tailored for MDC syntax, with integrated styling for a good appearance",[210,5965,5966],{},"Here's an example of displaying the content of a Markdown file:",[271,5968,5971],{"className":3085,"code":5969,"filename":5970,"language":3088,"meta":277,"style":277},"\u003Cscript lang=\"ts\" setup>\nconst { data: page } = await useAsyncData(() => {\n  return queryCollection('content').path('/about').first()\n})\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CContentRenderer v-if=\"page\" :value=\"page\" />\n  \u003Cp v-else>About page not written yet.\u003C/p>\n\u003C/template>\n","pages/about.vue",[279,5972,5973,5993,6021,6058,6064,6072,6076,6084,6113,6133],{"__ignoreMap":277},[282,5974,5975,5977,5979,5981,5983,5985,5987,5989,5991],{"class":284,"line":285},[282,5976,1032],{"class":373},[282,5978,3507],{"class":434},[282,5980,5714],{"class":822},[282,5982,1615],{"class":373},[282,5984,2470],{"class":373},[282,5986,815],{"class":291},[282,5988,2470],{"class":373},[282,5990,5711],{"class":822},[282,5992,3100],{"class":373},[282,5994,5995,5997,5999,6001,6003,6005,6007,6009,6011,6013,6015,6017,6019],{"class":284,"line":407},[282,5996,823],{"class":822},[282,5998,374],{"class":373},[282,6000,828],{"class":434},[282,6002,438],{"class":373},[282,6004,1121],{"class":377},[282,6006,749],{"class":373},[282,6008,838],{"class":373},[282,6010,841],{"class":369},[282,6012,844],{"class":422},[282,6014,425],{"class":377},[282,6016,644],{"class":373},[282,6018,861],{"class":822},[282,6020,441],{"class":373},[282,6022,6023,6025,6027,6029,6031,6033,6035,6037,6039,6041,6043,6045,6048,6050,6052,6054,6056],{"class":284,"line":413},[282,6024,5766],{"class":369},[282,6026,1147],{"class":422},[282,6028,425],{"class":434},[282,6030,471],{"class":373},[282,6032,3588],{"class":291},[282,6034,471],{"class":373},[282,6036,498],{"class":434},[282,6038,230],{"class":373},[282,6040,1162],{"class":422},[282,6042,425],{"class":434},[282,6044,471],{"class":373},[282,6046,6047],{"class":291},"/about",[282,6049,471],{"class":373},[282,6051,498],{"class":434},[282,6053,230],{"class":373},[282,6055,1178],{"class":422},[282,6057,706],{"class":434},[282,6059,6060,6062],{"class":284,"line":431},[282,6061,749],{"class":373},[282,6063,730],{"class":377},[282,6065,6066,6068,6070],{"class":284,"line":444},[282,6067,3235],{"class":373},[282,6069,3507],{"class":434},[282,6071,3100],{"class":373},[282,6073,6074],{"class":284,"line":458},[282,6075,410],{"emptyLinePlaceholder":186},[282,6077,6078,6080,6082],{"class":284,"line":477},[282,6079,1032],{"class":373},[282,6081,3097],{"class":434},[282,6083,3100],{"class":373},[282,6085,6086,6088,6090,6093,6095,6097,6099,6101,6103,6105,6107,6109,6111],{"class":284,"line":492},[282,6087,3105],{"class":373},[282,6089,90],{"class":434},[282,6091,6092],{"class":822}," v-if",[282,6094,1615],{"class":373},[282,6096,2470],{"class":373},[282,6098,468],{"class":291},[282,6100,2470],{"class":373},[282,6102,4468],{"class":822},[282,6104,1615],{"class":373},[282,6106,2470],{"class":373},[282,6108,468],{"class":291},[282,6110,2470],{"class":373},[282,6112,3121],{"class":373},[282,6114,6115,6117,6119,6122,6124,6127,6129,6131],{"class":284,"line":503},[282,6116,3105],{"class":373},[282,6118,210],{"class":434},[282,6120,6121],{"class":822}," v-else",[282,6123,1041],{"class":373},[282,6125,6126],{"class":377},"About page not written yet.",[282,6128,3235],{"class":373},[282,6130,210],{"class":434},[282,6132,3100],{"class":373},[282,6134,6135,6137,6139],{"class":284,"line":517},[282,6136,3235],{"class":373},[282,6138,3097],{"class":434},[282,6140,3100],{"class":373},[258,6142,6144],{"id":6143},"typescript-integration","🔷 TypeScript Integration",[210,6146,6147],{},"The new collections system provides automatic TypeScript types for all your data. Every utility and API is strongly typed based on your collection definitions, ensuring robust type safety throughout development.",[258,6149,6151],{"id":6150},"️-migrating-from-v2","⬆️ Migrating from V2",[210,6153,6154,6155,230],{},"Migration should be as easy as possible, this is why we wrote the ",[756,6156,6157],{"href":21},"migration guide",[1371,6159,6160],{},[210,6161,6162],{},"Note that we've decided to remove the document-driven mode to simplify the module usage.",[258,6164,6166],{"id":6165},"️-studio-integration","🖼️ Studio Integration",[210,6168,6169,6173,6174,6177,6178,3456,6180,6182,6183,6185],{},[756,6170,6172],{"href":6171},"/studio","Nuxt Studio"," is a platform to visually edit your ",[213,6175,6176],{},"Nuxt Content"," projects in production. With support for ",[279,6179,50],{},[279,6181,54],{},", or ",[279,6184,58],{}," files, our editor ensures versatility and ease of use.",[263,6187,2134],{"id":6188},"preview-api",[210,6190,6191,6192,6197,6198,230],{},"Previously an independent module, the ",[756,6193,6196],{"href":6194,"rel":6195},"https://github.com/nuxtlabs/studio-module",[773],"Studio module"," has been updated to be more generic and is now integrated directly into Nuxt Content as a ",[279,6199,2134],{},[210,6201,6202,6203,6205],{},"Enabling the preview functionality in Studio is easier than ever—simply configure the Studio API as your ",[279,6204,2134],{}," in your Nuxt Content settings:",[271,6207,6209],{"className":812,"code":6208,"filename":2142,"language":815,"meta":277,"style":277},"export default defineNuxtConfig({\n  content: {\n    preview: {\n      api: 'https://api.nuxt.studio'\n    }\n  }\n})\n",[279,6210,6211,6223,6231,6239,6251,6255,6259],{"__ignoreMap":277},[282,6212,6213,6215,6217,6219,6221],{"class":284,"line":285},[282,6214,416],{"class":369},[282,6216,419],{"class":369},[282,6218,2160],{"class":422},[282,6220,425],{"class":377},[282,6222,428],{"class":373},[282,6224,6225,6227,6229],{"class":284,"line":407},[282,6226,2169],{"class":434},[282,6228,438],{"class":373},[282,6230,441],{"class":373},[282,6232,6233,6235,6237],{"class":284,"line":413},[282,6234,2178],{"class":434},[282,6236,438],{"class":373},[282,6238,441],{"class":373},[282,6240,6241,6243,6245,6247,6249],{"class":284,"line":431},[282,6242,2187],{"class":434},[282,6244,438],{"class":373},[282,6246,398],{"class":373},[282,6248,2194],{"class":291},[282,6250,404],{"class":373},[282,6252,6253],{"class":284,"line":444},[282,6254,2201],{"class":373},[282,6256,6257],{"class":284,"line":458},[282,6258,743],{"class":373},[282,6260,6261,6263],{"class":284,"line":477},[282,6262,749],{"class":373},[282,6264,730],{"class":377},[210,6266,6267],{},"This simplification means no extra module is required for Studio, making setup faster. Furthermore, the Preview API is now generic, enabling other providers to deliver great editing experiences on top of Nuxt Content.",[263,6269,6271],{"id":6270},"unified-documentation",[213,6272,6273],{},"Unified Documentation",[210,6275,6276,6277,237,6279,6281,6282,230],{},"In addition to this integration, we’ve unified the ",[213,6278,236],{},[213,6280,150],{}," documentation and websites into a single comprehensive resource. Only the Studio platform (available once the user is logged-in) remains as a ",[756,6283,6286],{"href":6284,"rel":6285},"https://nuxt.studio",[773],"standalone site",[210,6288,6289,6292,6293,237,6296,6299,6300,237,6302,6304],{},[213,6290,6291],{},"We can now take advantage of data structures and collections in Studio",". The Studio platform supports and adapts its behaviour to ",[213,6294,6295],{},"collections",[213,6297,6298],{},"user-defined schemas",". This enhancement will allow schema-generated forms for both ",[279,6301,54],{},[279,6303,58],{}," files as well as front-matter within Markdown files.",[5177,6306,6307],{},"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 .s86vT, html code.shiki .s86vT{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sndM8, html code.shiki .sndM8{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sIEYB, html code.shiki .sIEYB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .syuKq, html code.shiki .syuKq{--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 .s50WR, html code.shiki .s50WR{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sd2Uz, html code.shiki .sd2Uz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .swgpB, html code.shiki .swgpB{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":277,"searchDepth":431,"depth":431,"links":6309},[6310,6314,6318,6319,6320,6321,6322],{"id":5272,"depth":407,"text":5273,"children":6311},[6312,6313],{"id":5309,"depth":413,"text":5310},{"id":5346,"depth":413,"text":5347},{"id":5353,"depth":407,"text":5354,"children":6315},[6316,6317],{"id":5360,"depth":413,"text":5363},{"id":5374,"depth":413,"text":5377},{"id":5667,"depth":407,"text":5668},{"id":5938,"depth":407,"text":5939},{"id":6143,"depth":407,"text":6144},{"id":6150,"depth":407,"text":6151},{"id":6165,"depth":407,"text":6166,"children":6323},[6324,6325],{"id":6188,"depth":413,"text":2134},{"id":6270,"depth":413,"text":6273},"Release","2025-01-16T01:00:00.000Z","Content version 3 is out - introducing SQL based storage, collections, preview API for a better Studio integration and tons of performance improvements. ",{"src":6330,"alt":6331},"/blog/nuxt-content-v3.png","Version 3 of Nuxt Content",{},"/blog/v3",{"title":6335,"description":6328},"Announcing Nuxt Content version 3","blog/v3",{"id":6338,"title":6339,"authors":6340,"body":6349,"category":6552,"date":6553,"description":6554,"draft":42,"extension":1791,"image":6555,"meta":6556,"navigation":186,"path":6557,"seo":6558,"stem":6559},"posts/blog/visual-editor.md","Behind the scenes of Nuxt Studio's visual editor",[6341,6343],{"name":196,"avatar":6342,"to":199,"username":200},{"src":198},{"name":6344,"avatar":6345,"to":6347,"username":6348},"Ferdinand Coumau",{"src":6346},"https://avatars.githubusercontent.com/u/98885012?v=4","https://x.com/CoumauFerdinand","CoumauFerdinand",{"type":202,"value":6350,"toc":6537},[6351,6356,6359,6366,6369,6376,6379,6385,6391,6399,6402,6408,6414,6428,6434,6443,6446,6452,6458,6464,6467,6473,6488,6491,6494,6500,6503,6523,6529,6532,6535],[258,6352,6354],{"id":6353},"introduction",[213,6355,10],{},[210,6357,6358],{},"Nuxt Studio offers a versatile workspace for both developers and content writers, giving them the freedom to choose between two distinct editors for content creation and management: the Markdown editor and the Visual editor.",[210,6360,6361],{},[6362,6363],"img",{"alt":6364,"src":6365},"Select your favorit editor from the project settings","/blog/favorite-editor.webp",[210,6367,6368],{},"Each editor serves its own purpose—some users are used to Markdown edition, while others prefer a non-technical, visual approach.",[210,6370,6371,6372,6375],{},"At the end, ",[213,6373,6374],{},"Markdown syntax is the final output"," for both editors.",[210,6377,6378],{},"This article explains the technical processes behind the visual editor, exploring how it interprets Markdown, converts it back, and why this process might occasionally lead to changes from the original content.",[258,6380,6382],{"id":6381},"markdown-editor",[213,6383,6384],{},"Markdown Editor",[210,6386,6387],{},[6362,6388],{"alt":6389,"src":6390},"Edit directly markdown on Nuxt Studio","/blog/markdown-editor.webp",[210,6392,6393,6394,6398],{},"The Markdown editor in Nuxt Studio provides full control over your content, allowing you to write directly in ",[756,6395,4465],{"href":6396,"rel":6397},"https://content.nuxt.com/usage/markdown",[773]," (an empowered Markdown syntax). This syntax enables integration of Vue components directly into your Markdown files, offering more flexibility to structure your pages.",[210,6400,6401],{},"When your file is saved with the Markdown editor, the content is stored exactly as you've written it, preserving all specific syntax and formatting. This editor is ideal for users comfortable with Markdown who want precise control over the layout and structure of their content.",[258,6403,6405],{"id":6404},"visual-editor",[213,6406,6407],{},"Visual Editor",[210,6409,6410],{},[6362,6411],{"alt":6412,"src":6413},"Edit your content with a visual editor on Nuxt Studio","/blog/visual-editor.webp",[210,6415,6416,6417,237,6422,6427],{},"The Visual Editor is a sort of WYSIWYG (What You See Is What You Get) tool built on top of ",[756,6418,6421],{"href":6419,"rel":6420},"https://tiptap.dev/",[773],"TipTap",[756,6423,6426],{"href":6424,"rel":6425},"https://prosemirror.net/",[773],"ProseMirror",", designed to abstract away the complexities of Markdown syntax and offer a more intuitive, visual editing experience. This editor is particularly user-friendly for those who prefer not to deal with raw Markdown code.",[263,6429,6431],{"id":6430},"how-the-visual-editor-processes-files",[213,6432,6433],{},"How the visual editor processes files",[210,6435,6436,6437,6442],{},"When you open a Markdown file with the Visual Editor, Nuxt Studio first parses the original Markdown file. Using the ",[756,6438,6441],{"href":6439,"rel":6440},"https://github.com/nuxt-modules/mdc",[773],"MDC module",", it generates an Abstract Syntax Tree (AST). This AST is then converted into a TipTap-compatible format (TipTap AST), allowing the editor to accurately render the document visually.",[210,6444,6445],{},"Once the Visual Editor displays the content, users can make updates in a visually intuitive way. Behind the scenes, the editor continuously transforms the TipTap AST back into MDC AST then MDC syntax, ensuring that your content remains in Markdown format.",[263,6447,6449],{"id":6448},"why-changes-might-occur-in-the-original-markdown-file-without-user-modification",[213,6450,6451],{},"Why Changes might occur in the original markdown file without user modification",[210,6453,6454],{},[6362,6455],{"alt":6456,"src":6457},"Alert is displayed when automatic markdown parsing is detected","/blog/automatic-parsing-modal.webp",[796,6459,6461],{"id":6460},"non-critical-changes",[213,6462,6463],{},"Non-Critical Changes",[210,6465,6466],{},"As the Visual Editor translates the visual formatting back into Markdown, it applies a parsing algorithm that applies predefined Markdown standards. In some cases, these standards may differ slightly from the original content. These changes are typically non-impactful and are only another working syntax of the Markdown, the rendered website should remain consistent with the original.",[796,6468,6470],{"id":6469},"critical-changes",[213,6471,6472],{},"Critical Changes",[210,6474,6475,6476,6481,6482,6487],{},"Ideally, every feature in Markdown has a direct and accurate equivalent in the Visual Editor. We've built custom TipTap extensions to support custom MDC syntax such as ",[756,6477,6480],{"href":6478,"rel":6479},"https://content.nuxt.com/usage/markdown#vue-components",[773],"Vue components"," edition or ",[756,6483,6486],{"href":6484,"rel":6485},"https://content.nuxt.com/usage/markdown#front-matter",[773],"front-matter",". However, in rare cases, particularly with complex or unconventional Markdown elements, the Visual Editor may not fully support or correctly interpret these elements. When this happens, the editor might approximate, simplify, or even omit these elements during the parsing process.",[210,6489,6490],{},"Such discrepancies can result in data loss or regressions when converting back to Markdown. While these occurrences are rare, they can disrupt the intended display or functionality of your content.",[210,6492,6493],{},"Our primary objective is to prevent any loss of content and to maintain the integrity of your Markdown files. If you encounter any issues where the transition from visual to Markdown isn’t perfect, we encourage you to report them on our Discord server. Your feedback is invaluable in helping us refine and improve the Visual Editor, ensuring it meets the needs of all users.",[258,6495,6497],{"id":6496},"best-practices-to-minimize-unintended-changes",[213,6498,6499],{},"Best practices to minimize unintended changes",[210,6501,6502],{},"To avoid losing crucial formatting or content, consider the following best practices:",[2557,6504,6505,6511,6517],{},[2560,6506,6507,6510],{},[213,6508,6509],{},"Avoid using complex HTML structures",". As the MDC syntax allows you to integrate Vue components, It's more effective to create reusable components that can be easily inserted into the Markdown and edited within the editor, rather than relying on intricate HTML code.",[2560,6512,6513,6516],{},[213,6514,6515],{},"Use one editor consistently."," Whenever possible, select the editor that best suits your needs and stick with it for the entire page.",[2560,6518,6519,6522],{},[213,6520,6521],{},"Review changes after switching from an editor to the other."," After switching editors, always review the Markdown (on the review page) and check the preview to ensure no important elements have been altered.",[258,6524,6526],{"id":6525},"conclusion",[213,6527,6528],{},"Conclusion",[210,6530,6531],{},"Switching between the Markdown editor and the visual editor in Nuxt Studio offers flexibility, but it's important to be aware of the technical implications.",[210,6533,6534],{},"Understanding how the visual editor processes and converts Markdown can help ensure that what you craft in Markdown is accurately displayed in the visual editor, allowing non-technical users to easily edit everything without altering the original Markdown file.",[263,6536],{"id":277},{"title":277,"searchDepth":431,"depth":431,"links":6538},[6539,6540,6541,6548,6549],{"id":6353,"depth":407,"text":10},{"id":6381,"depth":407,"text":6384},{"id":6404,"depth":407,"text":6407,"children":6542},[6543,6544],{"id":6430,"depth":413,"text":6433},{"id":6448,"depth":413,"text":6451,"children":6545},[6546,6547],{"id":6460,"depth":431,"text":6463},{"id":6469,"depth":431,"text":6472},{"id":6496,"depth":407,"text":6499},{"id":6525,"depth":407,"text":6528,"children":6550},[6551],{"id":277,"depth":413,"text":277},"studio","2024-09-04T00:00:00.000Z","Discover the inner workings of Nuxt Studio's visual editor and how it interprets the Markdown syntax and generate it back.",{"src":6413},{},"/blog/visual-editor",{"title":6339,"description":6554},"blog/visual-editor",{"id":6561,"title":6562,"authors":6563,"body":6566,"category":6552,"date":6768,"description":6769,"draft":42,"extension":1791,"image":6770,"meta":6772,"navigation":186,"path":6773,"seo":6774,"stem":6775},"posts/blog/studio-v2.md","Introducing Nuxt Studio v2",[6564],{"name":196,"avatar":6565,"to":199,"username":200},{"src":198},{"type":202,"value":6567,"toc":6759},[6568,6585,6588,6601,6607,6613,6620,6626,6632,6643,6652,6658,6665,6668,6674,6679,6683,6689,6692,6704,6712,6716,6725,6740,6744,6747,6752,6757],[6569,6570,6571],"warning",{},[210,6572,6573,6574,237,6578,6581,6582,230],{},"This article was published before the merge of the ",[756,6575,236],{"href":6576,"rel":6577},"https://github.com/nuxt/content",[773],[756,6579,150],{"href":6194,"rel":6580},[773]," modules on January 6, 2025. As a result, it may contain some inconsistencies. The Studio module is now deprecated and available as an opt-in feature of the Content module. Learn how to enable it in ",[756,6583,6584],{"href":6},"this guide",[210,6586,6587],{},"We are excited to announce the release of Nuxt Studio v2, a major update bringing a brand new interface designed specifically for our users, based on their feedback.",[6589,6590,6591],"tip",{},[210,6592,6593,6594,6596,6597,6600],{},"Studio is optimized for ",[213,6595,6176],{}," project but the only real requirement is to have a ",[6598,6599,3588],"em",{}," folder with Markdown files. This simple setup is enough to start editing and publishing your files with the platform.",[263,6602,6604],{"id":6603},"a-more-intuitive-interface",[213,6605,6606],{},"A more intuitive interface",[210,6608,6609],{},[6362,6610],{"alt":6611,"src":6612},"Nuxt studio v2 interface","/blog/v2-interface.webp",[210,6614,6615,6616,6619],{},"The main improvement in Version 2 is a ",[213,6617,6618],{},"complete rework of the interface",". We have designed it to be more intuitive and user-friendly, especially for non-technical users. Our goal was to simplify the user experience, making it easier to create and set up projects with minimal hassle. The new interface is light, straightforward, and designed to streamline your workflow.",[263,6621,6623],{"id":6622},"google-authentication",[213,6624,6625],{},"Google authentication",[210,6627,6628],{},[6362,6629],{"alt":6630,"src":6631},"Google and GitHub authentication","/blog/google-github.webp",[210,6633,6634,6635,6638,6639,6642],{},"We now have two different authentication methods. You can either login with ",[213,6636,6637],{},"GitHub"," or with ",[213,6640,6641],{},"Google",". Both methods give you the same edition rights but since Studio is synchronized with GitHub, some features are specific to GitHub users, especially project creation.",[6569,6644,6645],{},[210,6646,6647,6648,6651],{},"Since a Google user can not create a project, he has to ",[213,6649,6650],{},"join a team"," with existing projects to edit them.",[263,6653,6655],{"id":6654},"minimal-setup-to-edit-your-files",[213,6656,6657],{},"Minimal setup to edit your files",[210,6659,6660,6661,6664],{},"You can now edit your content ",[213,6662,6663],{},"without any setup",", just import your repository and this is it. You can navigate through your files and medias, edit your content and publish on GitHub.",[210,6666,6667],{},"Collaboration is available for teams.",[210,6669,6670],{},[6362,6671],{"alt":6672,"src":6673},"Notion-like editor with collaboration","/blog/collaborate.webp",[6569,6675,6676],{},[210,6677,6678],{},"Medias in the editor are not displayed until you set up the live preview (see section below).",[263,6680,6682],{"id":6681},"simplified-setup-for-live-preview","Simplified setup for live preview",[210,6684,6685],{},[6362,6686],{"alt":6687,"src":6688},"preview enable between notion like editor and website","/blog/preview.webp",[210,6690,6691],{},"As the live preview feature requires a deployed URL, we made it as simple as possible to set it up.",[210,6693,6694,6695,6700,6701],{},"While GitHub pages deployment remains available and still does not require any configuration on your end, requirements have been simplified for self-hosted project as we removed the token verification. ",[756,6696,6699],{"href":6697,"rel":6698},"https://nuxt.studio/docs/get-started/setup#enable-the-live-preview",[773],"Enabling the Studio module"," is the ",[213,6702,6703],{},"only remaining requirement.",[6569,6705,6706],{"to":6194},[210,6707,6708,6709,6711],{},"It's crucial to use the latest version of the ",[213,6710,6196],{}," to ensure compatibility and access to new features.",[263,6713,6715],{"id":6714},"new-documentation","New documentation",[210,6717,6718,6719,6724],{},"With a revamped platform comes a ",[756,6720,6723],{"href":6721,"rel":6722},"https://nuxt.studio/docs/get-started/introduction",[773],"new documentation",". Don't hesitate to check it out to learn everything about the new Studio.",[210,6726,6727,6728,6733,6734,6739],{},"Whether you are an ",[756,6729,6732],{"href":6730,"rel":6731},"https://nuxt.studio/docs/editors/introduction",[773],"editor"," or a ",[756,6735,6738],{"href":6736,"rel":6737},"https://nuxt.studio/docs/developers/introduction",[773],"developer"," you now have your dedicated section in the docs.",[263,6741,6743],{"id":6742},"a-new-direction-for-studio","A new direction for Studio",[210,6745,6746],{},"Most available CMS solutions have to choose between being very customizable for developers or highly user friendly for content editors, with Studio we want to do both.",[210,6748,6749,230],{},[213,6750,6751],{},"The developer provides the tools for the editors to focus on content, without requiring any technical knowledge",[6589,6753,6754],{},[210,6755,6756],{},"Our Notion-like editor has a bright future ahead, and we want to develop it collaboratively with the community.",[263,6758],{"id":277},{"title":277,"searchDepth":431,"depth":431,"links":6760},[6761,6762,6763,6764,6765,6766,6767],{"id":6603,"depth":413,"text":6606},{"id":6622,"depth":413,"text":6625},{"id":6654,"depth":413,"text":6657},{"id":6681,"depth":413,"text":6682},{"id":6714,"depth":413,"text":6715},{"id":6742,"depth":413,"text":6743},{"id":277,"depth":413,"text":277},"2024-06-13T00:00:00.000Z","We are excited to announce the v2 release of Nuxt Studio, the new editing experience for your Nuxt Content website",{"src":6771},"/blog/nuxt-studio-v2.png",{},"/blog/studio-v2",{"title":6562,"description":6769},"blog/studio-v2",1738777682589]