[{"data":1,"prerenderedAt":1547},["ShallowReactive",2],{"navigation_docs":3,"-docs-getting-started-migration":205,"-docs-getting-started-migration-surround":1542},[4,24,51,73,95,112,158,171],{"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":50},"Collections","i-lucide-database","/docs/collections","docs/2.collections",[30,34,38,42,46],{"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",{"title":43,"path":44,"stem":45},"Validators","/docs/collections/validators","docs/2.collections/4.validators",{"title":47,"path":48,"stem":49},"Components","/docs/collections/inherit-schema-from-component","docs/2.collections/5.inherit-schema-from-component",false,{"title":52,"icon":53,"path":54,"stem":55,"children":56,"page":50},"Files","i-lucide-file","/docs/files","docs/3.files",[57,61,65,69],{"title":58,"path":59,"stem":60},"Markdown","/docs/files/markdown","docs/3.files/1.markdown",{"title":62,"path":63,"stem":64},"YAML","/docs/files/yaml","docs/3.files/2.yaml",{"title":66,"path":67,"stem":68},"JSON","/docs/files/json","docs/3.files/3.json",{"title":70,"path":71,"stem":72},"CSV","/docs/files/csv","docs/3.files/4.csv",{"title":74,"icon":75,"path":76,"stem":77,"children":78,"page":50},"Query Utils","i-lucide-square-function","/docs/utils","docs/4.utils",[79,83,87,91],{"title":80,"path":81,"stem":82},"queryCollection","/docs/utils/query-collection","docs/4.utils/1.query-collection",{"title":84,"path":85,"stem":86},"queryCollectionNavigation","/docs/utils/query-collection-navigation","docs/4.utils/2.query-collection-navigation",{"title":88,"path":89,"stem":90},"queryCollectionItemSurroundings","/docs/utils/query-collection-item-surroundings","docs/4.utils/3.query-collection-item-surroundings",{"title":92,"path":93,"stem":94},"queryCollectionSearchSections","/docs/utils/query-collection-search-sections","docs/4.utils/4.query-collection-search-sections",{"title":47,"icon":96,"path":97,"stem":98,"children":99,"page":50},"i-lucide-square-code","/docs/components","docs/5.components",[100,104,108],{"title":101,"path":102,"stem":103},"ContentRenderer","/docs/components/content-renderer","docs/5.components/0.content-renderer",{"title":105,"path":106,"stem":107},"Slot","/docs/components/slot","docs/5.components/1.slot",{"title":109,"path":110,"stem":111},"Prose Components","/docs/components/prose","docs/5.components/2.prose",{"title":113,"icon":114,"path":115,"stem":116,"children":117,"page":50},"Deploy","i-lucide-cloud-upload","/docs/deploy","docs/6.deploy",[118,122,126,130,134,138,142,146,150,154],{"title":119,"path":120,"stem":121},"Server","/docs/deploy/server","docs/6.deploy/1.server",{"title":123,"path":124,"stem":125},"Static","/docs/deploy/static","docs/6.deploy/10.static",{"title":127,"path":128,"stem":129},"Serverless","/docs/deploy/serverless","docs/6.deploy/2.serverless",{"title":131,"path":132,"stem":133},"NuxtHub","/docs/deploy/nuxthub","docs/6.deploy/3.nuxthub",{"title":135,"path":136,"stem":137},"Cloudflare Pages","/docs/deploy/cloudflare-pages","docs/6.deploy/4.cloudflare-pages",{"title":139,"path":140,"stem":141},"Cloudflare Workers","/docs/deploy/cloudflare-workers","docs/6.deploy/5.cloudflare-workers",{"title":143,"path":144,"stem":145},"Vercel","/docs/deploy/vercel","docs/6.deploy/6.vercel",{"title":147,"path":148,"stem":149},"Netlify","/docs/deploy/netlify","docs/6.deploy/7.netlify",{"title":151,"path":152,"stem":153},"AWS Amplify","/docs/deploy/aws-amplify","docs/6.deploy/8.aws-amplify",{"title":155,"path":156,"stem":157},"Docker","/docs/deploy/docker","docs/6.deploy/9.docker",{"title":159,"icon":114,"path":160,"stem":161,"children":162,"page":50},"Integrations","/docs/integrations","docs/7.integrations",[163,167],{"title":164,"path":165,"stem":166},"Nuxt i18n","/docs/integrations/i18n","docs/7.integrations/01.i18n",{"title":168,"path":169,"stem":170},"Nuxt LLMs","/docs/integrations/llms","docs/7.integrations/02.llms",{"title":172,"icon":173,"path":174,"stem":175,"children":176,"page":50},"Advanced","i-lucide-code-xml","/docs/advanced","docs/8.advanced",[177,181,185,189,193,197,201],{"title":178,"path":179,"stem":180},"Full-Text Search","/docs/advanced/fulltext-search","docs/8.advanced/1.fulltext-search",{"title":182,"path":183,"stem":184},"Raw Content","/docs/advanced/raw-content","docs/8.advanced/2.raw-content",{"title":186,"path":187,"stem":188},"SQL Storage","/docs/advanced/database","docs/8.advanced/3.database",{"title":190,"path":191,"stem":192},"Debugging tools","/docs/advanced/tools","docs/8.advanced/4.tools",{"title":194,"path":195,"stem":196},"Hooks","/docs/advanced/hooks","docs/8.advanced/5.hooks",{"title":198,"path":199,"stem":200},"Custom Source","/docs/advanced/custom-source","docs/8.advanced/6.custom-source",{"title":202,"path":203,"stem":204},"Transformers","/docs/advanced/transformers","docs/8.advanced/8.transformers",{"id":206,"title":20,"body":207,"description":1536,"extension":1537,"links":1538,"meta":1539,"navigation":651,"path":21,"seo":1540,"stem":22,"__hash__":1541},"docs/docs/1.getting-started/4.migration.md",{"type":208,"value":209,"toc":1518},"minimark",[210,214,217,222,227,241,245,296,299,336,354,376,379,390,394,462,466,469,776,787,796,809,893,1037,1040,1047,1050,1246,1249,1264,1276,1299,1305,1323,1330,1342,1356,1360,1369,1437,1452,1514],[211,212,213],"p",{},"Nuxt Content v3 has been rebuilt from the ground up, resulting in a new library with enhanced capabilities. While we've redesigned concepts and components in a similar way as Content v2, breaking changes are inevitable.",[211,215,216],{},"Don't worry, you don't need to modify your content files. We made sure that Content v3 handles content in the same way as Content v2.",[218,219,221],"h2",{"id":220},"changes","Changes",[223,224,226],"h3",{"id":225},"vue-utils","Vue utils",[228,229,230],"ul",{},[231,232,233,237,238],"li",{},[234,235,236],"code",{},"queryContent()"," API is replaced with new ",[234,239,240],{},"queryCollection()",[242,243,244],"prose-tip",{},"The new API is backed by SQL and content queries happens within a specific collection.",[228,246,247,255,261,273,279,288],{},[231,248,249,237,252],{},[234,250,251],{},"fetchContentNavigation()",[234,253,254],{},"queryCollectionNavigation()",[231,256,257,258],{},"Surroundings now has its own separate API ",[234,259,260],{},"queryCollectionItemSurroundings()",[231,262,263,264,266,267,272],{},"Document driven mode is dropped: ",[234,265,58],{}," files will not convert to Nuxt pages automatically, you need to create pages, ",[268,269,271],"a",{"href":270},"/docs/components/content-renderer#example-usage","check this section to see how",".",[231,274,275,278],{},[234,276,277],{},"useContent()"," composable is removed",[231,280,281,284,285,287],{},[234,282,283],{},"searchContent()"," is dropped in favor of the new ",[234,286,92],{}," API",[231,289,290,291,293,294],{},"Full text search can easily be done using the ",[234,292,92],{}," API, ",[268,295,271],{"href":179},[223,297,47],{"id":298},"components",[228,300,301,323],{},[231,302,303,304,307,308,311,312,311,315,318,319,322],{},"All content should be rendered using ",[234,305,306],{},"\u003CContentRenderer>"," component. ",[234,309,310],{},"\u003CContentDoc>",", ",[234,313,314],{},"\u003CContentList>",[234,316,317],{},"\u003CContentNavigation>"," and ",[234,320,321],{},"\u003CContentQuery>"," components are dropped in v3.",[231,324,325,318,328,331,332,335],{},[234,326,327],{},"\u003CContentSlot>",[234,329,330],{},"\u003CMDCSlot>"," components are not supported in v3. Instead components can simply use Vue's native ",[234,333,334],{},"\u003Cslot>"," component",[337,338,339,318,341,343,344,347,348,350,351],"prose-note",{},[234,340,327],{},[234,342,330],{}," was initially pro to manipulate content before rendering and removing wrapping paragraphs from slot content. This unwrapping behavior is now supported via ",[234,345,346],{},"mdc-unwrap"," attribute in ",[234,349,334],{}," component. Example: ",[234,352,353],{},"\u003Cslot mdc-unwrap=\"p\" />",[228,355,356],{},[231,357,358,359,362,363,369,370,375],{},"Components created under the ",[234,360,361],{},"components/content"," directory are no longer automatically registered as global components. If you use ",[268,364,368],{"href":365,"rel":366},"https://vuejs.org/guide/essentials/component-basics.html#dynamic-components",[367],"nofollow","dynamic rendering"," to render these components outside markdown files, you must manually register them in your Nuxt app. Check out the ",[268,371,374],{"href":372,"rel":373},"https://nuxt.com/docs/guide/directory-structure/components#custom-directories",[367],"Nuxt - Custom Components Directories"," documentation for more information on how to do so.",[223,377,35],{"id":378},"types",[228,380,381],{},[231,382,383,386,387],{},[234,384,385],{},"import type { NavItem } from '@nuxt/content/dist/runtime/types'"," is replaced with ",[234,388,389],{},"import type { ContentNavigationItem } from '@nuxt/content'",[223,391,393],{"id":392},"general","General",[228,395,396,405,415,430,436,447,455],{},[231,397,398,401,402],{},[234,399,400],{},"_dir.yml"," files are renamed to ",[234,403,404],{},".navigation.yml",[231,406,407,408,411,412,272],{},"There is no source option in module options, instead you can define ",[268,409,410],{"href":40},"multiple sources"," for your collections in ",[234,413,414],{},"content.config.ts",[231,416,417,418,421,422,425,426,429],{},"Document ",[234,419,420],{},"._path"," is now renamed to ",[234,423,424],{},".path",", likewise all internal fields with ",[234,427,428],{},"_"," prefix are removed or renamed.",[231,431,432,435],{},[234,433,434],{},"useContentHelpers()"," is removed",[231,437,438,439,442,443,446],{},"Module does not ignore dot files by default, you can ignore them by adding ",[234,440,441],{},"ignore: ['**/.*']"," in ",[234,444,445],{},"exclude"," options of your collection source.",[231,448,449,450,454],{},"Due to SQL limitations, sort order now uses alphabetical order instead for numerical order. Check out the ",[268,451,453],{"href":452},"/docs/collections/types#ordering-files","Ordering Files"," section for more information.",[231,456,457,458,461],{},"Module options have changed from v2. Check out ",[268,459,460],{"href":17},"configuration page"," for details.",[218,463,465],{"id":464},"implement-document-driven-mode-in-v3","Implement Document Driven mode in v3",[211,467,468],{},"Implementing document driven mode in Content v3 is quite easy. All you need is to create a catch-all page in Nuxt and fetch contents based on route path.",[470,471,477],"pre",{"className":472,"code":473,"filename":474,"language":475,"meta":476,"style":476},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript lang=\"ts\" setup>\nconst route = useRoute()\nconst { data: page } = await useAsyncData(route.path, () => {\n  return queryCollection('content').path(route.path).first()\n})\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cheader>\u003C!-- ... -->\u003C/header>\n\n    \u003CContentRenderer v-if=\"page\" :value=\"page\" />\n\n    \u003Cfooter>\u003C!-- ... -->\u003C/footer>\n  \u003C/div>\n\u003C/template>\n","pages/[...slug].vue","vue","",[234,478,479,514,533,583,628,636,646,653,663,674,696,701,734,739,757,767],{"__ignoreMap":476},[480,481,484,488,492,496,499,502,506,508,511],"span",{"class":482,"line":483},"line",1,[480,485,487],{"class":486},"sMK4o","\u003C",[480,489,491],{"class":490},"swJcz","script",[480,493,495],{"class":494},"spNyl"," lang",[480,497,498],{"class":486},"=",[480,500,501],{"class":486},"\"",[480,503,505],{"class":504},"sfazB","ts",[480,507,501],{"class":486},[480,509,510],{"class":494}," setup",[480,512,513],{"class":486},">\n",[480,515,517,520,524,526,530],{"class":482,"line":516},2,[480,518,519],{"class":494},"const",[480,521,523],{"class":522},"sTEyZ"," route ",[480,525,498],{"class":486},[480,527,529],{"class":528},"s2Zo4"," useRoute",[480,531,532],{"class":522},"()\n",[480,534,536,538,541,544,547,550,553,556,560,563,566,568,571,574,577,580],{"class":482,"line":535},3,[480,537,519],{"class":494},[480,539,540],{"class":486}," {",[480,542,543],{"class":490}," data",[480,545,546],{"class":486},":",[480,548,549],{"class":522}," page ",[480,551,552],{"class":486},"}",[480,554,555],{"class":486}," =",[480,557,559],{"class":558},"s7zQu"," await",[480,561,562],{"class":528}," useAsyncData",[480,564,565],{"class":522},"(route",[480,567,272],{"class":486},[480,569,570],{"class":522},"path",[480,572,573],{"class":486},",",[480,575,576],{"class":486}," ()",[480,578,579],{"class":494}," =>",[480,581,582],{"class":486}," {\n",[480,584,586,589,592,595,598,601,603,606,608,610,612,615,617,619,621,623,626],{"class":482,"line":585},4,[480,587,588],{"class":558},"  return",[480,590,591],{"class":528}," queryCollection",[480,593,594],{"class":490},"(",[480,596,597],{"class":486},"'",[480,599,600],{"class":504},"content",[480,602,597],{"class":486},[480,604,605],{"class":490},")",[480,607,272],{"class":486},[480,609,570],{"class":528},[480,611,594],{"class":490},[480,613,614],{"class":522},"route",[480,616,272],{"class":486},[480,618,570],{"class":522},[480,620,605],{"class":490},[480,622,272],{"class":486},[480,624,625],{"class":528},"first",[480,627,532],{"class":490},[480,629,631,633],{"class":482,"line":630},5,[480,632,552],{"class":486},[480,634,635],{"class":522},")\n",[480,637,639,642,644],{"class":482,"line":638},6,[480,640,641],{"class":486},"\u003C/",[480,643,491],{"class":490},[480,645,513],{"class":486},[480,647,649],{"class":482,"line":648},7,[480,650,652],{"emptyLinePlaceholder":651},true,"\n",[480,654,656,658,661],{"class":482,"line":655},8,[480,657,487],{"class":486},[480,659,660],{"class":490},"template",[480,662,513],{"class":486},[480,664,666,669,672],{"class":482,"line":665},9,[480,667,668],{"class":486},"  \u003C",[480,670,671],{"class":490},"div",[480,673,513],{"class":486},[480,675,677,680,683,686,690,692,694],{"class":482,"line":676},10,[480,678,679],{"class":486},"    \u003C",[480,681,682],{"class":490},"header",[480,684,685],{"class":486},">",[480,687,689],{"class":688},"sHwdD","\u003C!-- ... -->",[480,691,641],{"class":486},[480,693,682],{"class":490},[480,695,513],{"class":486},[480,697,699],{"class":482,"line":698},11,[480,700,652],{"emptyLinePlaceholder":651},[480,702,704,706,708,711,713,715,718,720,723,725,727,729,731],{"class":482,"line":703},12,[480,705,679],{"class":486},[480,707,101],{"class":490},[480,709,710],{"class":494}," v-if",[480,712,498],{"class":486},[480,714,501],{"class":486},[480,716,717],{"class":504},"page",[480,719,501],{"class":486},[480,721,722],{"class":494}," :value",[480,724,498],{"class":486},[480,726,501],{"class":486},[480,728,717],{"class":504},[480,730,501],{"class":486},[480,732,733],{"class":486}," />\n",[480,735,737],{"class":482,"line":736},13,[480,738,652],{"emptyLinePlaceholder":651},[480,740,742,744,747,749,751,753,755],{"class":482,"line":741},14,[480,743,679],{"class":486},[480,745,746],{"class":490},"footer",[480,748,685],{"class":486},[480,750,689],{"class":688},[480,752,641],{"class":486},[480,754,746],{"class":490},[480,756,513],{"class":486},[480,758,760,763,765],{"class":482,"line":759},15,[480,761,762],{"class":486},"  \u003C/",[480,764,671],{"class":490},[480,766,513],{"class":486},[480,768,770,772,774],{"class":482,"line":769},16,[480,771,641],{"class":486},[480,773,660],{"class":490},[480,775,513],{"class":486},[218,777,779,780,783,784],{"id":778},"converting-querycontent-to-querycollections","Converting ",[234,781,782],{},"queryContent"," to ",[234,785,786],{},"queryCollections",[211,788,789,790,792,793,795],{},"As we mentioned above, ",[234,791,782],{}," is dropped in favor of new collection based ",[234,794,80],{},". There are two main differences between these two:",[797,798,799,804],"ol",{},[231,800,801,803],{},[234,802,80],{}," is building a query for an SQL database.",[231,805,806,808],{},[234,807,80],{}," does the search only inside the specified collection. You should know the collection's name (key on config).",[470,810,814],{"className":811,"code":812,"filename":813,"language":505,"meta":476,"style":476},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","// Content v2\nconst v2Query = await queryContent(route.path).findOne()\n// Content v3 - don't forget to create `content` collection in `content.config.ts`\nconst v3Query = await queryCollection('content').path(route.path).first()\n","Find content with path",[234,815,816,821,849,854],{"__ignoreMap":476},[480,817,818],{"class":482,"line":483},[480,819,820],{"class":688},"// Content v2\n",[480,822,823,825,828,830,832,835,837,839,842,844,847],{"class":482,"line":516},[480,824,519],{"class":494},[480,826,827],{"class":522}," v2Query ",[480,829,498],{"class":486},[480,831,559],{"class":558},[480,833,834],{"class":528}," queryContent",[480,836,565],{"class":522},[480,838,272],{"class":486},[480,840,841],{"class":522},"path)",[480,843,272],{"class":486},[480,845,846],{"class":528},"findOne",[480,848,532],{"class":522},[480,850,851],{"class":482,"line":535},[480,852,853],{"class":688},"// Content v3 - don't forget to create `content` collection in `content.config.ts`\n",[480,855,856,858,861,863,865,867,869,871,873,875,877,879,881,883,885,887,889,891],{"class":482,"line":585},[480,857,519],{"class":494},[480,859,860],{"class":522}," v3Query ",[480,862,498],{"class":486},[480,864,559],{"class":558},[480,866,591],{"class":528},[480,868,594],{"class":522},[480,870,597],{"class":486},[480,872,600],{"class":504},[480,874,597],{"class":486},[480,876,605],{"class":522},[480,878,272],{"class":486},[480,880,570],{"class":528},[480,882,565],{"class":522},[480,884,272],{"class":486},[480,886,841],{"class":522},[480,888,272],{"class":486},[480,890,625],{"class":528},[480,892,532],{"class":522},[470,894,897],{"className":811,"code":895,"filename":896,"language":505,"meta":476,"style":476},"// Content v2\nconst v2Query = await queryContent()\n  .where({ path: /^\\/hello\\/.*/ })\n  .find()\n// Content v3 - don't forget to create `content` collection in `content.config.ts`\nconst v3Query = await queryCollection('content')\n  .where('path', 'LIKE', '/hello%')\n  .first()\n","Find contents with custom filter",[234,898,899,903,917,959,968,972,994,1029],{"__ignoreMap":476},[480,900,901],{"class":482,"line":483},[480,902,820],{"class":688},[480,904,905,907,909,911,913,915],{"class":482,"line":516},[480,906,519],{"class":494},[480,908,827],{"class":522},[480,910,498],{"class":486},[480,912,559],{"class":558},[480,914,834],{"class":528},[480,916,532],{"class":522},[480,918,919,922,925,927,930,933,935,938,941,944,947,949,951,954,957],{"class":482,"line":535},[480,920,921],{"class":486},"  .",[480,923,924],{"class":528},"where",[480,926,594],{"class":522},[480,928,929],{"class":486},"{",[480,931,932],{"class":490}," path",[480,934,546],{"class":486},[480,936,937],{"class":486}," /",[480,939,940],{"class":558},"^",[480,942,943],{"class":522},"\\/",[480,945,946],{"class":504},"hello",[480,948,943],{"class":522},[480,950,272],{"class":504},[480,952,953],{"class":486},"*/",[480,955,956],{"class":486}," }",[480,958,635],{"class":522},[480,960,961,963,966],{"class":482,"line":585},[480,962,921],{"class":486},[480,964,965],{"class":528},"find",[480,967,532],{"class":522},[480,969,970],{"class":482,"line":630},[480,971,853],{"class":688},[480,973,974,976,978,980,982,984,986,988,990,992],{"class":482,"line":638},[480,975,519],{"class":494},[480,977,860],{"class":522},[480,979,498],{"class":486},[480,981,559],{"class":558},[480,983,591],{"class":528},[480,985,594],{"class":522},[480,987,597],{"class":486},[480,989,600],{"class":504},[480,991,597],{"class":486},[480,993,635],{"class":522},[480,995,996,998,1000,1002,1004,1006,1008,1010,1013,1016,1018,1020,1022,1025,1027],{"class":482,"line":648},[480,997,921],{"class":486},[480,999,924],{"class":528},[480,1001,594],{"class":522},[480,1003,597],{"class":486},[480,1005,570],{"class":504},[480,1007,597],{"class":486},[480,1009,573],{"class":486},[480,1011,1012],{"class":486}," '",[480,1014,1015],{"class":504},"LIKE",[480,1017,597],{"class":486},[480,1019,573],{"class":486},[480,1021,1012],{"class":486},[480,1023,1024],{"class":504},"/hello%",[480,1026,597],{"class":486},[480,1028,635],{"class":522},[480,1030,1031,1033,1035],{"class":482,"line":655},[480,1032,921],{"class":486},[480,1034,625],{"class":528},[480,1036,532],{"class":522},[337,1038,1039],{"to":32},"Check the dedicated section for more info about collections",[218,1041,1043,1044],{"id":1042},"convert-querycontentfindsurround","Convert ",[234,1045,1046],{},"queryContent().findSurround()",[211,1048,1049],{},"Surround now has its own separate API.",[470,1051,1053],{"className":811,"code":1052,"language":505,"meta":476,"style":476},"const targetPath = '/docs'\n\n// Content v2\nconst v2Surround = await queryContent(targetPath)\n  .only(['title', 'description', 'navigation'])\n  .findSurround(withoutTrailingSlash(route.path))\n\n// Content v3 - don't forget to create `content` collection in `content.config.ts`\nconst v3Surround = await queryCollectionItemSurroundings(\n  'content',\n  targetPath,\n  {\n    fields: ['title', 'description', 'navigation']\n  }\n)\n",[234,1054,1055,1072,1076,1080,1096,1134,1153,1157,1161,1178,1190,1197,1202,1237,1242],{"__ignoreMap":476},[480,1056,1057,1059,1062,1064,1066,1069],{"class":482,"line":483},[480,1058,519],{"class":494},[480,1060,1061],{"class":522}," targetPath ",[480,1063,498],{"class":486},[480,1065,1012],{"class":486},[480,1067,1068],{"class":504},"/docs",[480,1070,1071],{"class":486},"'\n",[480,1073,1074],{"class":482,"line":516},[480,1075,652],{"emptyLinePlaceholder":651},[480,1077,1078],{"class":482,"line":535},[480,1079,820],{"class":688},[480,1081,1082,1084,1087,1089,1091,1093],{"class":482,"line":585},[480,1083,519],{"class":494},[480,1085,1086],{"class":522}," v2Surround ",[480,1088,498],{"class":486},[480,1090,559],{"class":558},[480,1092,834],{"class":528},[480,1094,1095],{"class":522},"(targetPath)\n",[480,1097,1098,1100,1103,1106,1108,1111,1113,1115,1117,1120,1122,1124,1126,1129,1131],{"class":482,"line":630},[480,1099,921],{"class":486},[480,1101,1102],{"class":528},"only",[480,1104,1105],{"class":522},"([",[480,1107,597],{"class":486},[480,1109,1110],{"class":504},"title",[480,1112,597],{"class":486},[480,1114,573],{"class":486},[480,1116,1012],{"class":486},[480,1118,1119],{"class":504},"description",[480,1121,597],{"class":486},[480,1123,573],{"class":486},[480,1125,1012],{"class":486},[480,1127,1128],{"class":504},"navigation",[480,1130,597],{"class":486},[480,1132,1133],{"class":522},"])\n",[480,1135,1136,1138,1141,1143,1146,1148,1150],{"class":482,"line":638},[480,1137,921],{"class":486},[480,1139,1140],{"class":528},"findSurround",[480,1142,594],{"class":522},[480,1144,1145],{"class":528},"withoutTrailingSlash",[480,1147,565],{"class":522},[480,1149,272],{"class":486},[480,1151,1152],{"class":522},"path))\n",[480,1154,1155],{"class":482,"line":648},[480,1156,652],{"emptyLinePlaceholder":651},[480,1158,1159],{"class":482,"line":655},[480,1160,853],{"class":688},[480,1162,1163,1165,1168,1170,1172,1175],{"class":482,"line":665},[480,1164,519],{"class":494},[480,1166,1167],{"class":522}," v3Surround ",[480,1169,498],{"class":486},[480,1171,559],{"class":558},[480,1173,1174],{"class":528}," queryCollectionItemSurroundings",[480,1176,1177],{"class":522},"(\n",[480,1179,1180,1183,1185,1187],{"class":482,"line":676},[480,1181,1182],{"class":486},"  '",[480,1184,600],{"class":504},[480,1186,597],{"class":486},[480,1188,1189],{"class":486},",\n",[480,1191,1192,1195],{"class":482,"line":698},[480,1193,1194],{"class":522},"  targetPath",[480,1196,1189],{"class":486},[480,1198,1199],{"class":482,"line":703},[480,1200,1201],{"class":486},"  {\n",[480,1203,1204,1207,1209,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234],{"class":482,"line":736},[480,1205,1206],{"class":490},"    fields",[480,1208,546],{"class":486},[480,1210,1211],{"class":522}," [",[480,1213,597],{"class":486},[480,1215,1110],{"class":504},[480,1217,597],{"class":486},[480,1219,573],{"class":486},[480,1221,1012],{"class":486},[480,1223,1119],{"class":504},[480,1225,597],{"class":486},[480,1227,573],{"class":486},[480,1229,1012],{"class":486},[480,1231,1128],{"class":504},[480,1233,597],{"class":486},[480,1235,1236],{"class":522},"]\n",[480,1238,1239],{"class":482,"line":741},[480,1240,1241],{"class":486},"  }\n",[480,1243,1244],{"class":482,"line":759},[480,1245,635],{"class":522},[337,1247,1248],{},"Check the dedicated section for more information about the",[218,1250,1252,1253,311,1256,1259,1260,1263],{"id":1251},"consolidate-prosepre-prosecode-and-prosecodeinline-components","Consolidate ",[234,1254,1255],{},"ProsePre",[234,1257,1258],{},"ProseCode",", and ",[234,1261,1262],{},"ProseCodeInline"," components",[211,1265,1266,1267,1269,1270,1272,1273,1275],{},"Many ",[234,1268,1255],{}," components are thin wrappers around the ",[234,1271,1258],{}," component. We've consolidated these three components into two components. There is now no difference between ",[234,1274,1255],{}," and multi-line code blocks.",[797,1277,1278,1290],{},[231,1279,1280,1281,1284,1285,1287,1288,272],{},"MDC will now map and parse single backticks ",[234,1282,1283],{},"`"," as ",[234,1286,1258],{}," instead of ",[234,1289,1262],{},[231,1291,1292,1293,1284,1296,1298],{},"MDC will now map and parse block code starting with three backticks",[234,1294,1295],{},"```",[234,1297,1255],{}," component.",[211,1300,1301],{},[1302,1303,1304],"strong",{},"Suggested Changes:",[797,1306,1307,1315],{},[231,1308,1309,1310,1312,1313],{},"Your current ",[234,1311,1258],{}," logic should be moved to ",[234,1314,1255],{},[231,1316,1317,1318,1320,1321],{},"Rename your ",[234,1319,1262],{}," components to ",[234,1322,1258],{},[218,1324,1326,401,1328],{"id":1325},"_diryml-files-are-renamed-to-navigationyml",[234,1327,400],{},[234,1329,404],{},[211,1331,1332,1333,783,1335,1337,1338,1341],{},"In Content v3, we renamed ",[234,1334,400],{},[234,1336,404],{},". The new name better reflects the purpose of these files.",[1339,1340],"br",{},"\nModule uses these files to gather information about directories for generating navigation.",[211,1343,1344,1345,318,1348,1351,1352,1355],{},"Note that in order to make these files available for Module, you should define your collection's source in\na way that includes these files. For example ",[234,1346,1347],{},"source: '**'",[234,1349,1350],{},"source: '**/*.{md,yml}'"," will include these files\nin collection, but ",[234,1353,1354],{},"source: '**/*.md'"," will not include them.",[218,1357,1359],{"id":1358},"ignore-dot-files","Ignore dot files",[211,1361,1362,1363,1365,1366,1368],{},"By default, Content v3 does not ignore dot files. If you want to ignore them, you can add ",[234,1364,441],{}," in the ",[234,1367,445],{}," option of your collection source.",[470,1370,1372],{"className":811,"code":1371,"language":505,"meta":476,"style":476},"defineCollection({\n  source: {\n    include: '**',\n    exclude: ['**/.*']\n  }\n})\n",[234,1373,1374,1384,1393,1409,1427,1431],{"__ignoreMap":476},[480,1375,1376,1379,1381],{"class":482,"line":483},[480,1377,1378],{"class":528},"defineCollection",[480,1380,594],{"class":522},[480,1382,1383],{"class":486},"{\n",[480,1385,1386,1389,1391],{"class":482,"line":516},[480,1387,1388],{"class":490},"  source",[480,1390,546],{"class":486},[480,1392,582],{"class":486},[480,1394,1395,1398,1400,1402,1405,1407],{"class":482,"line":535},[480,1396,1397],{"class":490},"    include",[480,1399,546],{"class":486},[480,1401,1012],{"class":486},[480,1403,1404],{"class":504},"**",[480,1406,597],{"class":486},[480,1408,1189],{"class":486},[480,1410,1411,1414,1416,1418,1420,1423,1425],{"class":482,"line":585},[480,1412,1413],{"class":490},"    exclude",[480,1415,546],{"class":486},[480,1417,1211],{"class":522},[480,1419,597],{"class":486},[480,1421,1422],{"class":504},"**/.*",[480,1424,597],{"class":486},[480,1426,1236],{"class":522},[480,1428,1429],{"class":482,"line":630},[480,1430,1241],{"class":486},[480,1432,1433,1435],{"class":482,"line":638},[480,1434,552],{"class":486},[480,1436,635],{"class":522},[211,1438,1439,1440,1442,1443,1445,1446,1449,1450,272],{},"Note that the above pattern will also exclude ",[234,1441,404],{}," file from collection. If you use ",[234,1444,404],{}," and want to keep them\nyou can use ",[234,1447,1448],{},"**/.(!(navigation.yml))"," pattern to exclude all dot files except ",[234,1451,404],{},[470,1453,1455],{"className":811,"code":1454,"language":505,"meta":476,"style":476},"defineCollection({\n  source: {\n    include: '**',\n    exclude: ['**/.!(navigation.yml)']\n  }\n})\n",[234,1456,1457,1465,1473,1487,1504,1508],{"__ignoreMap":476},[480,1458,1459,1461,1463],{"class":482,"line":483},[480,1460,1378],{"class":528},[480,1462,594],{"class":522},[480,1464,1383],{"class":486},[480,1466,1467,1469,1471],{"class":482,"line":516},[480,1468,1388],{"class":490},[480,1470,546],{"class":486},[480,1472,582],{"class":486},[480,1474,1475,1477,1479,1481,1483,1485],{"class":482,"line":535},[480,1476,1397],{"class":490},[480,1478,546],{"class":486},[480,1480,1012],{"class":486},[480,1482,1404],{"class":504},[480,1484,597],{"class":486},[480,1486,1189],{"class":486},[480,1488,1489,1491,1493,1495,1497,1500,1502],{"class":482,"line":585},[480,1490,1413],{"class":490},[480,1492,546],{"class":486},[480,1494,1211],{"class":522},[480,1496,597],{"class":486},[480,1498,1499],{"class":504},"**/.!(navigation.yml)",[480,1501,597],{"class":486},[480,1503,1236],{"class":522},[480,1505,1506],{"class":482,"line":630},[480,1507,1241],{"class":486},[480,1509,1510,1512],{"class":482,"line":638},[480,1511,552],{"class":486},[480,1513,635],{"class":522},[1515,1516,1517],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .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":476,"searchDepth":516,"depth":516,"links":1519},[1520,1526,1527,1529,1531,1533,1535],{"id":220,"depth":516,"text":221,"children":1521},[1522,1523,1524,1525],{"id":225,"depth":535,"text":226},{"id":298,"depth":535,"text":47},{"id":378,"depth":535,"text":35},{"id":392,"depth":535,"text":393},{"id":464,"depth":516,"text":465},{"id":778,"depth":516,"text":1528},"Converting queryContent to queryCollections",{"id":1042,"depth":516,"text":1530},"Convert queryContent().findSurround()",{"id":1251,"depth":516,"text":1532},"Consolidate ProsePre, ProseCode, and ProseCodeInline components",{"id":1325,"depth":516,"text":1534},"_dir.yml files are renamed to .navigation.yml",{"id":1358,"depth":516,"text":1359},"How to migrate from v2 to v3","md",null,{},{"title":20,"description":1536},"f5KJ8Xc5cWU-8Te7A9z394XRZXaILcYdWY857oYkbAM",[1543,1545],{"title":16,"path":17,"stem":18,"description":1544,"children":-1},"Nuxt Content is configured with sensible defaults.",{"title":31,"path":32,"stem":33,"description":1546,"children":-1},"Learn how to define and configure content collections in your Nuxt application.",1774543460278]