[{"data":1,"prerenderedAt":1887},["ShallowReactive",2],{"navigation_docs":3,"-docs-files-csv":209,"-docs-files-csv-surround":1882},[4,24,51,73,99,116,162,175],{"title":5,"path":6,"stem":7,"children":8,"icon":23},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started\u002F1.index",[9,11,15,19],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F1.getting-started\u002F2.installation",{"title":16,"path":17,"stem":18},"Configuration","\u002Fdocs\u002Fgetting-started\u002Fconfiguration","docs\u002F1.getting-started\u002F3.configuration",{"title":20,"path":21,"stem":22},"Migration","\u002Fdocs\u002Fgetting-started\u002Fmigration","docs\u002F1.getting-started\u002F4.migration","i-lucide-square-play",{"title":25,"icon":26,"path":27,"stem":28,"children":29,"page":50},"Collections","i-lucide-database","\u002Fdocs\u002Fcollections","docs\u002F2.collections",[30,34,38,42,46],{"title":31,"path":32,"stem":33},"Define","\u002Fdocs\u002Fcollections\u002Fdefine","docs\u002F2.collections\u002F1.define",{"title":35,"path":36,"stem":37},"Types","\u002Fdocs\u002Fcollections\u002Ftypes","docs\u002F2.collections\u002F2.types",{"title":39,"path":40,"stem":41},"Sources","\u002Fdocs\u002Fcollections\u002Fsources","docs\u002F2.collections\u002F3.sources",{"title":43,"path":44,"stem":45},"Validators","\u002Fdocs\u002Fcollections\u002Fvalidators","docs\u002F2.collections\u002F4.validators",{"title":47,"path":48,"stem":49},"Components","\u002Fdocs\u002Fcollections\u002Finherit-schema-from-component","docs\u002F2.collections\u002F5.inherit-schema-from-component",false,{"title":52,"icon":53,"path":54,"stem":55,"children":56,"page":50},"Files","i-lucide-file","\u002Fdocs\u002Ffiles","docs\u002F3.files",[57,61,65,69],{"title":58,"path":59,"stem":60},"Markdown","\u002Fdocs\u002Ffiles\u002Fmarkdown","docs\u002F3.files\u002F1.markdown",{"title":62,"path":63,"stem":64},"YAML","\u002Fdocs\u002Ffiles\u002Fyaml","docs\u002F3.files\u002F2.yaml",{"title":66,"path":67,"stem":68},"JSON","\u002Fdocs\u002Ffiles\u002Fjson","docs\u002F3.files\u002F3.json",{"title":70,"path":71,"stem":72},"CSV","\u002Fdocs\u002Ffiles\u002Fcsv","docs\u002F3.files\u002F4.csv",{"title":74,"icon":75,"path":76,"stem":77,"children":78,"page":50},"Query Utils","i-lucide-square-function","\u002Fdocs\u002Futils","docs\u002F4.utils",[79,83,87,91,95],{"title":80,"path":81,"stem":82},"queryCollection","\u002Fdocs\u002Futils\u002Fquery-collection","docs\u002F4.utils\u002F1.query-collection",{"title":84,"path":85,"stem":86},"queryCollectionNavigation","\u002Fdocs\u002Futils\u002Fquery-collection-navigation","docs\u002F4.utils\u002F2.query-collection-navigation",{"title":88,"path":89,"stem":90},"queryCollectionItemSurroundings","\u002Fdocs\u002Futils\u002Fquery-collection-item-surroundings","docs\u002F4.utils\u002F3.query-collection-item-surroundings",{"title":92,"path":93,"stem":94},"queryCollectionSearchSections","\u002Fdocs\u002Futils\u002Fquery-collection-search-sections","docs\u002F4.utils\u002F4.query-collection-search-sections",{"title":96,"path":97,"stem":98},"useSearchCollection","\u002Fdocs\u002Futils\u002Fuse-search-collection","docs\u002F4.utils\u002F5.use-search-collection",{"title":47,"icon":100,"path":101,"stem":102,"children":103,"page":50},"i-lucide-square-code","\u002Fdocs\u002Fcomponents","docs\u002F5.components",[104,108,112],{"title":105,"path":106,"stem":107},"ContentRenderer","\u002Fdocs\u002Fcomponents\u002Fcontent-renderer","docs\u002F5.components\u002F0.content-renderer",{"title":109,"path":110,"stem":111},"Slot","\u002Fdocs\u002Fcomponents\u002Fslot","docs\u002F5.components\u002F1.slot",{"title":113,"path":114,"stem":115},"Prose Components","\u002Fdocs\u002Fcomponents\u002Fprose","docs\u002F5.components\u002F2.prose",{"title":117,"icon":118,"path":119,"stem":120,"children":121,"page":50},"Deploy","i-lucide-cloud-upload","\u002Fdocs\u002Fdeploy","docs\u002F6.deploy",[122,126,130,134,138,142,146,150,154,158],{"title":123,"path":124,"stem":125},"Server","\u002Fdocs\u002Fdeploy\u002Fserver","docs\u002F6.deploy\u002F1.server",{"title":127,"path":128,"stem":129},"Static","\u002Fdocs\u002Fdeploy\u002Fstatic","docs\u002F6.deploy\u002F10.static",{"title":131,"path":132,"stem":133},"Serverless","\u002Fdocs\u002Fdeploy\u002Fserverless","docs\u002F6.deploy\u002F2.serverless",{"title":135,"path":136,"stem":137},"NuxtHub","\u002Fdocs\u002Fdeploy\u002Fnuxthub","docs\u002F6.deploy\u002F3.nuxthub",{"title":139,"path":140,"stem":141},"Cloudflare Pages","\u002Fdocs\u002Fdeploy\u002Fcloudflare-pages","docs\u002F6.deploy\u002F4.cloudflare-pages",{"title":143,"path":144,"stem":145},"Cloudflare Workers","\u002Fdocs\u002Fdeploy\u002Fcloudflare-workers","docs\u002F6.deploy\u002F5.cloudflare-workers",{"title":147,"path":148,"stem":149},"Vercel","\u002Fdocs\u002Fdeploy\u002Fvercel","docs\u002F6.deploy\u002F6.vercel",{"title":151,"path":152,"stem":153},"Netlify","\u002Fdocs\u002Fdeploy\u002Fnetlify","docs\u002F6.deploy\u002F7.netlify",{"title":155,"path":156,"stem":157},"AWS Amplify","\u002Fdocs\u002Fdeploy\u002Faws-amplify","docs\u002F6.deploy\u002F8.aws-amplify",{"title":159,"path":160,"stem":161},"Docker","\u002Fdocs\u002Fdeploy\u002Fdocker","docs\u002F6.deploy\u002F9.docker",{"title":163,"icon":118,"path":164,"stem":165,"children":166,"page":50},"Integrations","\u002Fdocs\u002Fintegrations","docs\u002F7.integrations",[167,171],{"title":168,"path":169,"stem":170},"Nuxt i18n","\u002Fdocs\u002Fintegrations\u002Fi18n","docs\u002F7.integrations\u002F01.i18n",{"title":172,"path":173,"stem":174},"Nuxt LLMs","\u002Fdocs\u002Fintegrations\u002Fllms","docs\u002F7.integrations\u002F02.llms",{"title":176,"icon":177,"path":178,"stem":179,"children":180,"page":50},"Advanced","i-lucide-code-xml","\u002Fdocs\u002Fadvanced","docs\u002F8.advanced",[181,185,189,193,197,201,205],{"title":182,"path":183,"stem":184},"Full-Text Search","\u002Fdocs\u002Fadvanced\u002Ffulltext-search","docs\u002F8.advanced\u002F1.fulltext-search",{"title":186,"path":187,"stem":188},"Raw Content","\u002Fdocs\u002Fadvanced\u002Fraw-content","docs\u002F8.advanced\u002F2.raw-content",{"title":190,"path":191,"stem":192},"SQL Storage","\u002Fdocs\u002Fadvanced\u002Fdatabase","docs\u002F8.advanced\u002F3.database",{"title":194,"path":195,"stem":196},"Debugging tools","\u002Fdocs\u002Fadvanced\u002Ftools","docs\u002F8.advanced\u002F4.tools",{"title":198,"path":199,"stem":200},"Hooks","\u002Fdocs\u002Fadvanced\u002Fhooks","docs\u002F8.advanced\u002F5.hooks",{"title":202,"path":203,"stem":204},"Custom Source","\u002Fdocs\u002Fadvanced\u002Fcustom-source","docs\u002F8.advanced\u002F6.custom-source",{"title":206,"path":207,"stem":208},"Transformers","\u002Fdocs\u002Fadvanced\u002Ftransformers","docs\u002F8.advanced\u002F8.transformers",{"id":210,"title":70,"body":211,"description":1876,"extension":1877,"links":1878,"meta":1879,"navigation":346,"path":71,"seo":1880,"stem":72,"__hash__":1881},"docs\u002Fdocs\u002F3.files\u002F4.csv.md",{"type":212,"value":213,"toc":1870},"minimark",[214,219,228,271,524,547,557,765,789,793,810,1034,1041,1095,1099,1102,1488,1491,1497,1598,1605,1753,1757,1760,1835,1838,1859,1866],[215,216,218],"h2",{"id":217},"single-file-source","Single-file source",[220,221,222,223,227],"p",{},"When you point a collection to a single CSV file (instead of a glob), Nuxt Content ",[224,225,226],"strong",{},"treats each data row as a separate item"," in the collection.",[229,230,231,247,257],"ul",{},[232,233,234,237,238,242,243,246],"li",{},[224,235,236],{},"Define the collection",": set ",[239,240,241],"code",{},"source"," to the path of a single ",[239,244,245],{},".csv"," file.",[232,248,249,252,253,256],{},[224,250,251],{},"Item generation",": each data row becomes an item with the row’s fields at the top level (no ",[239,254,255],{},"body"," array).",[232,258,259,262,263,266,267,270],{},[224,260,261],{},"IDs",": item IDs are suffixed with ",[239,264,265],{},"#\u003CrowNumber>",", where ",[239,268,269],{},"#1"," is the first data row after the header.",[272,273,279],"pre",{"className":274,"code":275,"filename":276,"language":277,"meta":278,"style":278},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineCollection, defineContentConfig } from '@nuxt\u002Fcontent'\nimport { z } from 'zod'\n\nexport default defineContentConfig({\n  collections: {\n    people: defineCollection({\n      type: 'data',\n      source: 'org\u002Fpeople.csv',\n      schema: z.object({\n        name: z.string(),\n        email: z.string().email()\n      })\n    })\n  }\n})\n","content.config.ts","ts","",[239,280,281,320,341,348,366,379,393,412,429,449,469,493,502,510,516],{"__ignoreMap":278},[282,283,286,290,294,298,301,304,307,310,313,317],"span",{"class":284,"line":285},"line",1,[282,287,289],{"class":288},"s7zQu","import",[282,291,293],{"class":292},"sMK4o"," {",[282,295,297],{"class":296},"sTEyZ"," defineCollection",[282,299,300],{"class":292},",",[282,302,303],{"class":296}," defineContentConfig",[282,305,306],{"class":292}," }",[282,308,309],{"class":288}," from",[282,311,312],{"class":292}," '",[282,314,316],{"class":315},"sfazB","@nuxt\u002Fcontent",[282,318,319],{"class":292},"'\n",[282,321,323,325,327,330,332,334,336,339],{"class":284,"line":322},2,[282,324,289],{"class":288},[282,326,293],{"class":292},[282,328,329],{"class":296}," z",[282,331,306],{"class":292},[282,333,309],{"class":288},[282,335,312],{"class":292},[282,337,338],{"class":315},"zod",[282,340,319],{"class":292},[282,342,344],{"class":284,"line":343},3,[282,345,347],{"emptyLinePlaceholder":346},true,"\n",[282,349,351,354,357,360,363],{"class":284,"line":350},4,[282,352,353],{"class":288},"export",[282,355,356],{"class":288}," default",[282,358,303],{"class":359},"s2Zo4",[282,361,362],{"class":296},"(",[282,364,365],{"class":292},"{\n",[282,367,369,373,376],{"class":284,"line":368},5,[282,370,372],{"class":371},"swJcz","  collections",[282,374,375],{"class":292},":",[282,377,378],{"class":292}," {\n",[282,380,382,385,387,389,391],{"class":284,"line":381},6,[282,383,384],{"class":371},"    people",[282,386,375],{"class":292},[282,388,297],{"class":359},[282,390,362],{"class":296},[282,392,365],{"class":292},[282,394,396,399,401,403,406,409],{"class":284,"line":395},7,[282,397,398],{"class":371},"      type",[282,400,375],{"class":292},[282,402,312],{"class":292},[282,404,405],{"class":315},"data",[282,407,408],{"class":292},"'",[282,410,411],{"class":292},",\n",[282,413,415,418,420,422,425,427],{"class":284,"line":414},8,[282,416,417],{"class":371},"      source",[282,419,375],{"class":292},[282,421,312],{"class":292},[282,423,424],{"class":315},"org\u002Fpeople.csv",[282,426,408],{"class":292},[282,428,411],{"class":292},[282,430,432,435,437,439,442,445,447],{"class":284,"line":431},9,[282,433,434],{"class":371},"      schema",[282,436,375],{"class":292},[282,438,329],{"class":296},[282,440,441],{"class":292},".",[282,443,444],{"class":359},"object",[282,446,362],{"class":296},[282,448,365],{"class":292},[282,450,452,455,457,459,461,464,467],{"class":284,"line":451},10,[282,453,454],{"class":371},"        name",[282,456,375],{"class":292},[282,458,329],{"class":296},[282,460,441],{"class":292},[282,462,463],{"class":359},"string",[282,465,466],{"class":296},"()",[282,468,411],{"class":292},[282,470,472,475,477,479,481,483,485,487,490],{"class":284,"line":471},11,[282,473,474],{"class":371},"        email",[282,476,375],{"class":292},[282,478,329],{"class":296},[282,480,441],{"class":292},[282,482,463],{"class":359},[282,484,466],{"class":296},[282,486,441],{"class":292},[282,488,489],{"class":359},"email",[282,491,492],{"class":296},"()\n",[282,494,496,499],{"class":284,"line":495},12,[282,497,498],{"class":292},"      }",[282,500,501],{"class":296},")\n",[282,503,505,508],{"class":284,"line":504},13,[282,506,507],{"class":292},"    }",[282,509,501],{"class":296},[282,511,513],{"class":284,"line":512},14,[282,514,515],{"class":292},"  }\n",[282,517,519,522],{"class":284,"line":518},15,[282,520,521],{"class":292},"}",[282,523,501],{"class":296},[272,525,530],{"className":526,"code":527,"filename":528,"language":529,"meta":278,"style":278},"language-csv shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","name,email\nAlice,alice@example.com\nBob,bob@example.com\n","content\u002Forg\u002Fpeople.csv","csv",[239,531,532,537,542],{"__ignoreMap":278},[282,533,534],{"class":284,"line":285},[282,535,536],{},"name,email\n",[282,538,539],{"class":284,"line":322},[282,540,541],{},"Alice,alice@example.com\n",[282,543,544],{"class":284,"line":343},[282,545,546],{},"Bob,bob@example.com\n",[220,548,549,550,552,553,556],{},"Each row produces its own item. For example, the first data row will have an ID ending with ",[239,551,269],{}," and the second with ",[239,554,555],{},"#2",". You can query by any column:",[272,558,560],{"className":274,"code":559,"language":277,"meta":278,"style":278},"const { data: alice } = await useAsyncData('alice', () =>\n  queryCollection('people')\n    .where('email', '=', 'alice@example.com')\n    .first()\n)\n\nconst { data: allPeople } = await useAsyncData('all-people', () =>\n  queryCollection('people')\n    .order('name', 'ASC')\n    .all()\n)\n",[239,561,562,606,622,658,667,671,675,711,725,752,761],{"__ignoreMap":278},[282,563,564,568,570,573,575,578,580,583,586,589,591,593,596,598,600,603],{"class":284,"line":285},[282,565,567],{"class":566},"spNyl","const",[282,569,293],{"class":292},[282,571,572],{"class":371}," data",[282,574,375],{"class":292},[282,576,577],{"class":296}," alice ",[282,579,521],{"class":292},[282,581,582],{"class":292}," =",[282,584,585],{"class":288}," await",[282,587,588],{"class":359}," useAsyncData",[282,590,362],{"class":296},[282,592,408],{"class":292},[282,594,595],{"class":315},"alice",[282,597,408],{"class":292},[282,599,300],{"class":292},[282,601,602],{"class":292}," ()",[282,604,605],{"class":566}," =>\n",[282,607,608,611,613,615,618,620],{"class":284,"line":322},[282,609,610],{"class":359},"  queryCollection",[282,612,362],{"class":296},[282,614,408],{"class":292},[282,616,617],{"class":315},"people",[282,619,408],{"class":292},[282,621,501],{"class":296},[282,623,624,627,630,632,634,636,638,640,642,645,647,649,651,654,656],{"class":284,"line":343},[282,625,626],{"class":292},"    .",[282,628,629],{"class":359},"where",[282,631,362],{"class":296},[282,633,408],{"class":292},[282,635,489],{"class":315},[282,637,408],{"class":292},[282,639,300],{"class":292},[282,641,312],{"class":292},[282,643,644],{"class":315},"=",[282,646,408],{"class":292},[282,648,300],{"class":292},[282,650,312],{"class":292},[282,652,653],{"class":315},"alice@example.com",[282,655,408],{"class":292},[282,657,501],{"class":296},[282,659,660,662,665],{"class":284,"line":350},[282,661,626],{"class":292},[282,663,664],{"class":359},"first",[282,666,492],{"class":296},[282,668,669],{"class":284,"line":368},[282,670,501],{"class":296},[282,672,673],{"class":284,"line":381},[282,674,347],{"emptyLinePlaceholder":346},[282,676,677,679,681,683,685,688,690,692,694,696,698,700,703,705,707,709],{"class":284,"line":395},[282,678,567],{"class":566},[282,680,293],{"class":292},[282,682,572],{"class":371},[282,684,375],{"class":292},[282,686,687],{"class":296}," allPeople ",[282,689,521],{"class":292},[282,691,582],{"class":292},[282,693,585],{"class":288},[282,695,588],{"class":359},[282,697,362],{"class":296},[282,699,408],{"class":292},[282,701,702],{"class":315},"all-people",[282,704,408],{"class":292},[282,706,300],{"class":292},[282,708,602],{"class":292},[282,710,605],{"class":566},[282,712,713,715,717,719,721,723],{"class":284,"line":414},[282,714,610],{"class":359},[282,716,362],{"class":296},[282,718,408],{"class":292},[282,720,617],{"class":315},[282,722,408],{"class":292},[282,724,501],{"class":296},[282,726,727,729,732,734,736,739,741,743,745,748,750],{"class":284,"line":431},[282,728,626],{"class":292},[282,730,731],{"class":359},"order",[282,733,362],{"class":296},[282,735,408],{"class":292},[282,737,738],{"class":315},"name",[282,740,408],{"class":292},[282,742,300],{"class":292},[282,744,312],{"class":292},[282,746,747],{"class":315},"ASC",[282,749,408],{"class":292},[282,751,501],{"class":296},[282,753,754,756,759],{"class":284,"line":451},[282,755,626],{"class":292},[282,757,758],{"class":359},"all",[282,760,492],{"class":296},[282,762,763],{"class":284,"line":471},[282,764,501],{"class":296},[766,767,768],"note",{},[229,769,770,773,779],{},[232,771,772],{},"The header row is required and is not turned into an item.",[232,774,775,776,778],{},"With a single-file source, items contain row fields at the top level (no ",[239,777,255],{},").",[232,780,781,782,784,785,788],{},"If you prefer treating each CSV file as a single item containing all rows in ",[239,783,255],{},", use a glob source like ",[239,786,787],{},"org\u002F**.csv"," instead of a single file.",[215,790,792],{"id":791},"multiple-files-source","Multiple-files source",[220,794,795,796,799,800,803,806,807,809],{},"If you uses ",[239,797,798],{},"*\u002F**.csv"," as source in configuration, Nuxt Content will treat them differently from single-file collections.",[801,802],"br",{},[224,804,805],{},"Each file(not row) will be treated as an item",", rows will be parsed into ",[239,808,255],{}," field in item object as an array.",[272,811,813],{"className":274,"code":812,"filename":276,"language":277,"meta":278,"style":278},"import { defineCollection, defineContentConfig } from '@nuxt\u002Fcontent'\nimport { z } from 'zod'\n\nexport default defineContentConfig({\n  collections: {\n    charts: defineCollection({\n      type: 'data',\n      source: 'charts\u002F**.csv',\n      schema: z.object({\n        \u002F\u002F Body is important in CSV files, without body field you cannot access to data array\n        body: z.array(z.object({\n          label: z.string(),\n          value: z.number()\n        }))\n      })\n    })\n  }\n})\n\n",[239,814,815,837,855,859,871,879,892,906,921,937,943,968,985,1001,1009,1015,1022,1027],{"__ignoreMap":278},[282,816,817,819,821,823,825,827,829,831,833,835],{"class":284,"line":285},[282,818,289],{"class":288},[282,820,293],{"class":292},[282,822,297],{"class":296},[282,824,300],{"class":292},[282,826,303],{"class":296},[282,828,306],{"class":292},[282,830,309],{"class":288},[282,832,312],{"class":292},[282,834,316],{"class":315},[282,836,319],{"class":292},[282,838,839,841,843,845,847,849,851,853],{"class":284,"line":322},[282,840,289],{"class":288},[282,842,293],{"class":292},[282,844,329],{"class":296},[282,846,306],{"class":292},[282,848,309],{"class":288},[282,850,312],{"class":292},[282,852,338],{"class":315},[282,854,319],{"class":292},[282,856,857],{"class":284,"line":343},[282,858,347],{"emptyLinePlaceholder":346},[282,860,861,863,865,867,869],{"class":284,"line":350},[282,862,353],{"class":288},[282,864,356],{"class":288},[282,866,303],{"class":359},[282,868,362],{"class":296},[282,870,365],{"class":292},[282,872,873,875,877],{"class":284,"line":368},[282,874,372],{"class":371},[282,876,375],{"class":292},[282,878,378],{"class":292},[282,880,881,884,886,888,890],{"class":284,"line":381},[282,882,883],{"class":371},"    charts",[282,885,375],{"class":292},[282,887,297],{"class":359},[282,889,362],{"class":296},[282,891,365],{"class":292},[282,893,894,896,898,900,902,904],{"class":284,"line":395},[282,895,398],{"class":371},[282,897,375],{"class":292},[282,899,312],{"class":292},[282,901,405],{"class":315},[282,903,408],{"class":292},[282,905,411],{"class":292},[282,907,908,910,912,914,917,919],{"class":284,"line":414},[282,909,417],{"class":371},[282,911,375],{"class":292},[282,913,312],{"class":292},[282,915,916],{"class":315},"charts\u002F**.csv",[282,918,408],{"class":292},[282,920,411],{"class":292},[282,922,923,925,927,929,931,933,935],{"class":284,"line":431},[282,924,434],{"class":371},[282,926,375],{"class":292},[282,928,329],{"class":296},[282,930,441],{"class":292},[282,932,444],{"class":359},[282,934,362],{"class":296},[282,936,365],{"class":292},[282,938,939],{"class":284,"line":451},[282,940,942],{"class":941},"sHwdD","        \u002F\u002F Body is important in CSV files, without body field you cannot access to data array\n",[282,944,945,948,950,952,954,957,960,962,964,966],{"class":284,"line":471},[282,946,947],{"class":371},"        body",[282,949,375],{"class":292},[282,951,329],{"class":296},[282,953,441],{"class":292},[282,955,956],{"class":359},"array",[282,958,959],{"class":296},"(z",[282,961,441],{"class":292},[282,963,444],{"class":359},[282,965,362],{"class":296},[282,967,365],{"class":292},[282,969,970,973,975,977,979,981,983],{"class":284,"line":495},[282,971,972],{"class":371},"          label",[282,974,375],{"class":292},[282,976,329],{"class":296},[282,978,441],{"class":292},[282,980,463],{"class":359},[282,982,466],{"class":296},[282,984,411],{"class":292},[282,986,987,990,992,994,996,999],{"class":284,"line":504},[282,988,989],{"class":371},"          value",[282,991,375],{"class":292},[282,993,329],{"class":296},[282,995,441],{"class":292},[282,997,998],{"class":359},"number",[282,1000,492],{"class":296},[282,1002,1003,1006],{"class":284,"line":512},[282,1004,1005],{"class":292},"        }",[282,1007,1008],{"class":296},"))\n",[282,1010,1011,1013],{"class":284,"line":518},[282,1012,498],{"class":292},[282,1014,501],{"class":296},[282,1016,1018,1020],{"class":284,"line":1017},16,[282,1019,507],{"class":292},[282,1021,501],{"class":296},[282,1023,1025],{"class":284,"line":1024},17,[282,1026,515],{"class":292},[282,1028,1030,1032],{"class":284,"line":1029},18,[282,1031,521],{"class":292},[282,1033,501],{"class":296},[220,1035,1036,1037,1040],{},"Create chart files in ",[239,1038,1039],{},"content\u002Fcharts\u002F"," directory.",[1042,1043,1044,1070],"code-group",{},[272,1045,1048],{"className":526,"code":1046,"filename":1047,"language":529,"meta":278,"style":278},"label,value\nA,100\nB,200\nC,300\n","content\u002Fcharts\u002Fchart1.csv",[239,1049,1050,1055,1060,1065],{"__ignoreMap":278},[282,1051,1052],{"class":284,"line":285},[282,1053,1054],{},"label,value\n",[282,1056,1057],{"class":284,"line":322},[282,1058,1059],{},"A,100\n",[282,1061,1062],{"class":284,"line":343},[282,1063,1064],{},"B,200\n",[282,1066,1067],{"class":284,"line":350},[282,1068,1069],{},"C,300\n",[272,1071,1074],{"className":526,"code":1072,"filename":1073,"language":529,"meta":278,"style":278},"label,value\nFoo,123\nBar,456\nBaz,789\n","content\u002Fcharts\u002Fchart2.csv",[239,1075,1076,1080,1085,1090],{"__ignoreMap":278},[282,1077,1078],{"class":284,"line":285},[282,1079,1054],{},[282,1081,1082],{"class":284,"line":322},[282,1083,1084],{},"Foo,123\n",[282,1086,1087],{"class":284,"line":343},[282,1088,1089],{},"Bar,456\n",[282,1091,1092],{"class":284,"line":350},[282,1093,1094],{},"Baz,789\n",[1096,1097,1098],"warning",{},"Each CSV file should have a header row that defines the column names, which will be used as object keys when parsed.",[220,1100,1101],{},"Now we can query charts:",[272,1103,1107],{"className":1104,"code":1105,"language":1106,"meta":278,"style":278},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript lang=\"ts\" setup>\n\u002F\u002F Find a single chart\nconst { data: chart1 } = await useAsyncData('chart1', () => {\n  return queryCollection('charts')\n    .where('id', '=', 'charts\u002Fcharts\u002Fchart1.csv')\n    .first()\n})\n\n\u002F\u002F Get all charts\nconst { data: charts } = await useAsyncData('charts', () => {\n  return queryCollection('charts')\n    .order('id', 'ASC')\n    .all()\n})\n\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cul>\n    \u003Cli v-for=\"chart in charts\" :key=\"chart.id\">\n      \u003C!-- CSV data are in `chart.body` as an array -->\n      \u003Cp v-for=\"data in chart.body\">\n        {{ data.label }} - {{ data.value }}\n      \u003C\u002Fp>\n    \u003C\u002Fli>\n  \u003C\u002Ful>\n\u003C\u002Ftemplate>\n","vue",[239,1108,1109,1135,1140,1179,1198,1232,1240,1246,1250,1255,1292,1308,1332,1340,1346,1350,1359,1363,1372,1382,1416,1422,1443,1449,1459,1469,1479],{"__ignoreMap":278},[282,1110,1111,1114,1117,1120,1122,1125,1127,1129,1132],{"class":284,"line":285},[282,1112,1113],{"class":292},"\u003C",[282,1115,1116],{"class":371},"script",[282,1118,1119],{"class":566}," lang",[282,1121,644],{"class":292},[282,1123,1124],{"class":292},"\"",[282,1126,277],{"class":315},[282,1128,1124],{"class":292},[282,1130,1131],{"class":566}," setup",[282,1133,1134],{"class":292},">\n",[282,1136,1137],{"class":284,"line":322},[282,1138,1139],{"class":941},"\u002F\u002F Find a single chart\n",[282,1141,1142,1144,1146,1148,1150,1153,1155,1157,1159,1161,1163,1165,1168,1170,1172,1174,1177],{"class":284,"line":343},[282,1143,567],{"class":566},[282,1145,293],{"class":292},[282,1147,572],{"class":371},[282,1149,375],{"class":292},[282,1151,1152],{"class":296}," chart1 ",[282,1154,521],{"class":292},[282,1156,582],{"class":292},[282,1158,585],{"class":288},[282,1160,588],{"class":359},[282,1162,362],{"class":296},[282,1164,408],{"class":292},[282,1166,1167],{"class":315},"chart1",[282,1169,408],{"class":292},[282,1171,300],{"class":292},[282,1173,602],{"class":292},[282,1175,1176],{"class":566}," =>",[282,1178,378],{"class":292},[282,1180,1181,1184,1187,1189,1191,1194,1196],{"class":284,"line":350},[282,1182,1183],{"class":288},"  return",[282,1185,1186],{"class":359}," queryCollection",[282,1188,362],{"class":371},[282,1190,408],{"class":292},[282,1192,1193],{"class":315},"charts",[282,1195,408],{"class":292},[282,1197,501],{"class":371},[282,1199,1200,1202,1204,1206,1208,1211,1213,1215,1217,1219,1221,1223,1225,1228,1230],{"class":284,"line":368},[282,1201,626],{"class":292},[282,1203,629],{"class":359},[282,1205,362],{"class":371},[282,1207,408],{"class":292},[282,1209,1210],{"class":315},"id",[282,1212,408],{"class":292},[282,1214,300],{"class":292},[282,1216,312],{"class":292},[282,1218,644],{"class":315},[282,1220,408],{"class":292},[282,1222,300],{"class":292},[282,1224,312],{"class":292},[282,1226,1227],{"class":315},"charts\u002Fcharts\u002Fchart1.csv",[282,1229,408],{"class":292},[282,1231,501],{"class":371},[282,1233,1234,1236,1238],{"class":284,"line":381},[282,1235,626],{"class":292},[282,1237,664],{"class":359},[282,1239,492],{"class":371},[282,1241,1242,1244],{"class":284,"line":395},[282,1243,521],{"class":292},[282,1245,501],{"class":296},[282,1247,1248],{"class":284,"line":414},[282,1249,347],{"emptyLinePlaceholder":346},[282,1251,1252],{"class":284,"line":431},[282,1253,1254],{"class":941},"\u002F\u002F Get all charts\n",[282,1256,1257,1259,1261,1263,1265,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290],{"class":284,"line":451},[282,1258,567],{"class":566},[282,1260,293],{"class":292},[282,1262,572],{"class":371},[282,1264,375],{"class":292},[282,1266,1267],{"class":296}," charts ",[282,1269,521],{"class":292},[282,1271,582],{"class":292},[282,1273,585],{"class":288},[282,1275,588],{"class":359},[282,1277,362],{"class":296},[282,1279,408],{"class":292},[282,1281,1193],{"class":315},[282,1283,408],{"class":292},[282,1285,300],{"class":292},[282,1287,602],{"class":292},[282,1289,1176],{"class":566},[282,1291,378],{"class":292},[282,1293,1294,1296,1298,1300,1302,1304,1306],{"class":284,"line":471},[282,1295,1183],{"class":288},[282,1297,1186],{"class":359},[282,1299,362],{"class":371},[282,1301,408],{"class":292},[282,1303,1193],{"class":315},[282,1305,408],{"class":292},[282,1307,501],{"class":371},[282,1309,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330],{"class":284,"line":495},[282,1311,626],{"class":292},[282,1313,731],{"class":359},[282,1315,362],{"class":371},[282,1317,408],{"class":292},[282,1319,1210],{"class":315},[282,1321,408],{"class":292},[282,1323,300],{"class":292},[282,1325,312],{"class":292},[282,1327,747],{"class":315},[282,1329,408],{"class":292},[282,1331,501],{"class":371},[282,1333,1334,1336,1338],{"class":284,"line":504},[282,1335,626],{"class":292},[282,1337,758],{"class":359},[282,1339,492],{"class":371},[282,1341,1342,1344],{"class":284,"line":512},[282,1343,521],{"class":292},[282,1345,501],{"class":296},[282,1347,1348],{"class":284,"line":518},[282,1349,347],{"emptyLinePlaceholder":346},[282,1351,1352,1355,1357],{"class":284,"line":1017},[282,1353,1354],{"class":292},"\u003C\u002F",[282,1356,1116],{"class":371},[282,1358,1134],{"class":292},[282,1360,1361],{"class":284,"line":1024},[282,1362,347],{"emptyLinePlaceholder":346},[282,1364,1365,1367,1370],{"class":284,"line":1029},[282,1366,1113],{"class":292},[282,1368,1369],{"class":371},"template",[282,1371,1134],{"class":292},[282,1373,1375,1378,1380],{"class":284,"line":1374},19,[282,1376,1377],{"class":292},"  \u003C",[282,1379,229],{"class":371},[282,1381,1134],{"class":292},[282,1383,1385,1388,1390,1393,1395,1397,1400,1402,1405,1407,1409,1412,1414],{"class":284,"line":1384},20,[282,1386,1387],{"class":292},"    \u003C",[282,1389,232],{"class":371},[282,1391,1392],{"class":566}," v-for",[282,1394,644],{"class":292},[282,1396,1124],{"class":292},[282,1398,1399],{"class":315},"chart in charts",[282,1401,1124],{"class":292},[282,1403,1404],{"class":566}," :key",[282,1406,644],{"class":292},[282,1408,1124],{"class":292},[282,1410,1411],{"class":315},"chart.id",[282,1413,1124],{"class":292},[282,1415,1134],{"class":292},[282,1417,1419],{"class":284,"line":1418},21,[282,1420,1421],{"class":941},"      \u003C!-- CSV data are in `chart.body` as an array -->\n",[282,1423,1425,1428,1430,1432,1434,1436,1439,1441],{"class":284,"line":1424},22,[282,1426,1427],{"class":292},"      \u003C",[282,1429,220],{"class":371},[282,1431,1392],{"class":566},[282,1433,644],{"class":292},[282,1435,1124],{"class":292},[282,1437,1438],{"class":315},"data in chart.body",[282,1440,1124],{"class":292},[282,1442,1134],{"class":292},[282,1444,1446],{"class":284,"line":1445},23,[282,1447,1448],{"class":296},"        {{ data.label }} - {{ data.value }}\n",[282,1450,1452,1455,1457],{"class":284,"line":1451},24,[282,1453,1454],{"class":292},"      \u003C\u002F",[282,1456,220],{"class":371},[282,1458,1134],{"class":292},[282,1460,1462,1465,1467],{"class":284,"line":1461},25,[282,1463,1464],{"class":292},"    \u003C\u002F",[282,1466,232],{"class":371},[282,1468,1134],{"class":292},[282,1470,1472,1475,1477],{"class":284,"line":1471},26,[282,1473,1474],{"class":292},"  \u003C\u002F",[282,1476,229],{"class":371},[282,1478,1134],{"class":292},[282,1480,1482,1484,1486],{"class":284,"line":1481},27,[282,1483,1354],{"class":292},[282,1485,1369],{"class":371},[282,1487,1134],{"class":292},[215,1489,16],{"id":1490},"configuration",[220,1492,1493,1494,375],{},"You can configure how CSV files are parsed in your ",[239,1495,1496],{},"nuxt.config.ts",[272,1498,1500],{"className":274,"code":1499,"filename":1496,"language":277,"meta":278,"style":278},"export default defineNuxtConfig({\n  content: {\n    build: {\n      csv: {\n        \u002F\u002F Convert CSV data to JSON objects\n        json: true,\n        \u002F\u002F Specify custom delimiter (default is ',')\n        delimiter: ','\n      }\n    }\n  }\n})\n",[239,1501,1502,1515,1524,1533,1542,1547,1560,1565,1578,1583,1588,1592],{"__ignoreMap":278},[282,1503,1504,1506,1508,1511,1513],{"class":284,"line":285},[282,1505,353],{"class":288},[282,1507,356],{"class":288},[282,1509,1510],{"class":359}," defineNuxtConfig",[282,1512,362],{"class":296},[282,1514,365],{"class":292},[282,1516,1517,1520,1522],{"class":284,"line":322},[282,1518,1519],{"class":371},"  content",[282,1521,375],{"class":292},[282,1523,378],{"class":292},[282,1525,1526,1529,1531],{"class":284,"line":343},[282,1527,1528],{"class":371},"    build",[282,1530,375],{"class":292},[282,1532,378],{"class":292},[282,1534,1535,1538,1540],{"class":284,"line":350},[282,1536,1537],{"class":371},"      csv",[282,1539,375],{"class":292},[282,1541,378],{"class":292},[282,1543,1544],{"class":284,"line":368},[282,1545,1546],{"class":941},"        \u002F\u002F Convert CSV data to JSON objects\n",[282,1548,1549,1552,1554,1558],{"class":284,"line":381},[282,1550,1551],{"class":371},"        json",[282,1553,375],{"class":292},[282,1555,1557],{"class":1556},"sfNiH"," true",[282,1559,411],{"class":292},[282,1561,1562],{"class":284,"line":395},[282,1563,1564],{"class":941},"        \u002F\u002F Specify custom delimiter (default is ',')\n",[282,1566,1567,1570,1572,1574,1576],{"class":284,"line":414},[282,1568,1569],{"class":371},"        delimiter",[282,1571,375],{"class":292},[282,1573,312],{"class":292},[282,1575,300],{"class":315},[282,1577,319],{"class":292},[282,1579,1580],{"class":284,"line":431},[282,1581,1582],{"class":292},"      }\n",[282,1584,1585],{"class":284,"line":451},[282,1586,1587],{"class":292},"    }\n",[282,1589,1590],{"class":284,"line":471},[282,1591,515],{"class":292},[282,1593,1594,1596],{"class":284,"line":495},[282,1595,521],{"class":292},[282,1597,501],{"class":296},[220,1599,1600,1601,1604],{},"With ",[239,1602,1603],{},"json: true"," in the configuration, each row will be converted to a JavaScript object with the header row used as keys:",[272,1606,1610],{"className":1607,"code":1608,"language":1609,"meta":278,"style":278},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[\n  {\n    \"id\": \"1\",\n    \"name\": \"John Doe\",\n    \"email\": \"john@example.com\"\n  },\n  {\n    \"id\": \"2\",\n    \"name\": \"Jane Smith\",\n    \"email\": \"jane@example.com\"\n  }\n]\n","json",[239,1611,1612,1617,1622,1643,1662,1680,1685,1689,1708,1727,1744,1748],{"__ignoreMap":278},[282,1613,1614],{"class":284,"line":285},[282,1615,1616],{"class":292},"[\n",[282,1618,1619],{"class":284,"line":322},[282,1620,1621],{"class":292},"  {\n",[282,1623,1624,1627,1629,1631,1633,1636,1639,1641],{"class":284,"line":343},[282,1625,1626],{"class":292},"    \"",[282,1628,1210],{"class":566},[282,1630,1124],{"class":292},[282,1632,375],{"class":292},[282,1634,1635],{"class":292}," \"",[282,1637,1638],{"class":315},"1",[282,1640,1124],{"class":292},[282,1642,411],{"class":292},[282,1644,1645,1647,1649,1651,1653,1655,1658,1660],{"class":284,"line":350},[282,1646,1626],{"class":292},[282,1648,738],{"class":566},[282,1650,1124],{"class":292},[282,1652,375],{"class":292},[282,1654,1635],{"class":292},[282,1656,1657],{"class":315},"John Doe",[282,1659,1124],{"class":292},[282,1661,411],{"class":292},[282,1663,1664,1666,1668,1670,1672,1674,1677],{"class":284,"line":368},[282,1665,1626],{"class":292},[282,1667,489],{"class":566},[282,1669,1124],{"class":292},[282,1671,375],{"class":292},[282,1673,1635],{"class":292},[282,1675,1676],{"class":315},"john@example.com",[282,1678,1679],{"class":292},"\"\n",[282,1681,1682],{"class":284,"line":381},[282,1683,1684],{"class":292},"  },\n",[282,1686,1687],{"class":284,"line":395},[282,1688,1621],{"class":292},[282,1690,1691,1693,1695,1697,1699,1701,1704,1706],{"class":284,"line":414},[282,1692,1626],{"class":292},[282,1694,1210],{"class":566},[282,1696,1124],{"class":292},[282,1698,375],{"class":292},[282,1700,1635],{"class":292},[282,1702,1703],{"class":315},"2",[282,1705,1124],{"class":292},[282,1707,411],{"class":292},[282,1709,1710,1712,1714,1716,1718,1720,1723,1725],{"class":284,"line":431},[282,1711,1626],{"class":292},[282,1713,738],{"class":566},[282,1715,1124],{"class":292},[282,1717,375],{"class":292},[282,1719,1635],{"class":292},[282,1721,1722],{"class":315},"Jane Smith",[282,1724,1124],{"class":292},[282,1726,411],{"class":292},[282,1728,1729,1731,1733,1735,1737,1739,1742],{"class":284,"line":451},[282,1730,1626],{"class":292},[282,1732,489],{"class":566},[282,1734,1124],{"class":292},[282,1736,375],{"class":292},[282,1738,1635],{"class":292},[282,1740,1741],{"class":315},"jane@example.com",[282,1743,1679],{"class":292},[282,1745,1746],{"class":284,"line":471},[282,1747,515],{"class":292},[282,1749,1750],{"class":284,"line":495},[282,1751,1752],{"class":292},"]\n",[215,1754,1756],{"id":1755},"custom-delimiters","Custom Delimiters",[220,1758,1759],{},"If your CSV files use a different delimiter, you can specify it in the configuration:",[272,1761,1763],{"className":274,"code":1762,"filename":1496,"language":277,"meta":278,"style":278},"export default defineNuxtConfig({\n  content: {\n    build: {\n      csv: {\n        delimiter: ';' \u002F\u002F Use semicolon as delimiter\n      }\n    }\n  }\n})\n",[239,1764,1765,1777,1785,1793,1801,1817,1821,1825,1829],{"__ignoreMap":278},[282,1766,1767,1769,1771,1773,1775],{"class":284,"line":285},[282,1768,353],{"class":288},[282,1770,356],{"class":288},[282,1772,1510],{"class":359},[282,1774,362],{"class":296},[282,1776,365],{"class":292},[282,1778,1779,1781,1783],{"class":284,"line":322},[282,1780,1519],{"class":371},[282,1782,375],{"class":292},[282,1784,378],{"class":292},[282,1786,1787,1789,1791],{"class":284,"line":343},[282,1788,1528],{"class":371},[282,1790,375],{"class":292},[282,1792,378],{"class":292},[282,1794,1795,1797,1799],{"class":284,"line":350},[282,1796,1537],{"class":371},[282,1798,375],{"class":292},[282,1800,378],{"class":292},[282,1802,1803,1805,1807,1809,1812,1814],{"class":284,"line":368},[282,1804,1569],{"class":371},[282,1806,375],{"class":292},[282,1808,312],{"class":292},[282,1810,1811],{"class":315},";",[282,1813,408],{"class":292},[282,1815,1816],{"class":941}," \u002F\u002F Use semicolon as delimiter\n",[282,1818,1819],{"class":284,"line":381},[282,1820,1582],{"class":292},[282,1822,1823],{"class":284,"line":395},[282,1824,1587],{"class":292},[282,1826,1827],{"class":284,"line":414},[282,1828,515],{"class":292},[282,1830,1831,1833],{"class":284,"line":431},[282,1832,521],{"class":292},[282,1834,501],{"class":296},[220,1836,1837],{},"This would parse CSV files like:",[272,1839,1842],{"className":526,"code":1840,"filename":1841,"language":529,"meta":278,"style":278},"id;name;email\n1;John Doe;john@example.com\n2;Jane Smith;jane@example.com\n","semicolon-data.csv",[239,1843,1844,1849,1854],{"__ignoreMap":278},[282,1845,1846],{"class":284,"line":285},[282,1847,1848],{},"id;name;email\n",[282,1850,1851],{"class":284,"line":322},[282,1852,1853],{},"1;John Doe;john@example.com\n",[282,1855,1856],{"class":284,"line":343},[282,1857,1858],{},"2;Jane Smith;jane@example.com\n",[766,1860,1861,1862,1865],{},"The CSV parser can be disabled by setting ",[239,1863,1864],{},"csv: false"," in the configuration if you don't need CSV support.",[1867,1868,1869],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":278,"searchDepth":322,"depth":322,"links":1871},[1872,1873,1874,1875],{"id":217,"depth":322,"text":218},{"id":791,"depth":322,"text":792},{"id":1490,"depth":322,"text":16},{"id":1755,"depth":322,"text":1756},"How to define, write and query CSV data.","md",null,{},{"title":70,"description":1876},"XSx3pt9Ez1HCN1sNud1Q1h1no4DQdOs4kG6Xoe2PmNk",[1883,1885],{"title":66,"path":67,"stem":68,"description":1884,"children":-1},"How to define, write and query JSON data.",{"title":80,"path":81,"stem":82,"description":1886,"children":-1},"The queryCollection composable provides methods for querying and fetching your collections.",1778072772711]