[{"data":1,"prerenderedAt":543},["ShallowReactive",2],{"docs-/docs/framework/define":3,"docs-surround-/docs/framework/define":476,"sidebar-docs":482},{"id":4,"title":5,"body":6,"category":465,"description":466,"extension":467,"links":468,"meta":469,"navigation":470,"order":468,"path":413,"seo":473,"stem":474,"__hash__":475},"docs/docs/framework/define.md","定义内容集合",{"type":7,"value":8,"toc":458},"minimark",[9,18,22,25,28,44,47,54,264,267,270,283,286,289,296,368,371,427,430,454],[10,11,12,13,17],"p",{},"Nuxt Content 会解析 ",[14,15,16],"code",{},"content"," 目录中的 Markdown、YAML、JSON 等内容文件。通过内容集合，你可以为不同类型的内容声明来源、字段结构和查询方式。",[19,20,21],"h2",{"id":21},"什么是内容集合",[10,23,24],{},"内容集合用于组织一组具有相同用途的内容。例如，文档、博客、更新日志和产品资料都可以分别定义为独立集合。",[10,26,27],{},"集合的好处包括：",[29,30,31,35,38,41],"ul",{},[32,33,34],"li",{},"明确内容来源和路径规则。",[32,36,37],{},"为字段结构提供类型约束。",[32,39,40],{},"让查询代码更稳定、更容易维护。",[32,42,43],{},"便于为不同内容类型设置不同的校验规则。",[19,45,46],{"id":46},"基础配置",[10,48,49,50,53],{},"在项目根目录创建或更新 ",[14,51,52],{},"content.config.ts","：",[55,56,61],"pre",{"className":57,"code":58,"language":59,"meta":60,"style":60},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineCollection, defineContentConfig } from '@nuxt/content'\n\nexport default defineContentConfig({\n  collections: {\n    docs: defineCollection({\n      type: 'page',\n      source: 'docs/**/*.md'\n    }),\n    blog: defineCollection({\n      type: 'page',\n      source: 'blog/**/*.md'\n    })\n  }\n})\n","ts","",[14,62,63,102,109,127,140,154,173,188,199,213,228,242,250,256],{"__ignoreMap":60},[64,65,68,72,76,80,83,86,89,92,95,99],"span",{"class":66,"line":67},"line",1,[64,69,71],{"class":70},"s7zQu","import",[64,73,75],{"class":74},"sMK4o"," {",[64,77,79],{"class":78},"sTEyZ"," defineCollection",[64,81,82],{"class":74},",",[64,84,85],{"class":78}," defineContentConfig",[64,87,88],{"class":74}," }",[64,90,91],{"class":70}," from",[64,93,94],{"class":74}," '",[64,96,98],{"class":97},"sfazB","@nuxt/content",[64,100,101],{"class":74},"'\n",[64,103,105],{"class":66,"line":104},2,[64,106,108],{"emptyLinePlaceholder":107},true,"\n",[64,110,112,115,118,121,124],{"class":66,"line":111},3,[64,113,114],{"class":70},"export",[64,116,117],{"class":70}," default",[64,119,85],{"class":120},"s2Zo4",[64,122,123],{"class":78},"(",[64,125,126],{"class":74},"{\n",[64,128,130,134,137],{"class":66,"line":129},4,[64,131,133],{"class":132},"swJcz","  collections",[64,135,136],{"class":74},":",[64,138,139],{"class":74}," {\n",[64,141,143,146,148,150,152],{"class":66,"line":142},5,[64,144,145],{"class":132},"    docs",[64,147,136],{"class":74},[64,149,79],{"class":120},[64,151,123],{"class":78},[64,153,126],{"class":74},[64,155,157,160,162,164,167,170],{"class":66,"line":156},6,[64,158,159],{"class":132},"      type",[64,161,136],{"class":74},[64,163,94],{"class":74},[64,165,166],{"class":97},"page",[64,168,169],{"class":74},"'",[64,171,172],{"class":74},",\n",[64,174,176,179,181,183,186],{"class":66,"line":175},7,[64,177,178],{"class":132},"      source",[64,180,136],{"class":74},[64,182,94],{"class":74},[64,184,185],{"class":97},"docs/**/*.md",[64,187,101],{"class":74},[64,189,191,194,197],{"class":66,"line":190},8,[64,192,193],{"class":74},"    }",[64,195,196],{"class":78},")",[64,198,172],{"class":74},[64,200,202,205,207,209,211],{"class":66,"line":201},9,[64,203,204],{"class":132},"    blog",[64,206,136],{"class":74},[64,208,79],{"class":120},[64,210,123],{"class":78},[64,212,126],{"class":74},[64,214,216,218,220,222,224,226],{"class":66,"line":215},10,[64,217,159],{"class":132},[64,219,136],{"class":74},[64,221,94],{"class":74},[64,223,166],{"class":97},[64,225,169],{"class":74},[64,227,172],{"class":74},[64,229,231,233,235,237,240],{"class":66,"line":230},11,[64,232,178],{"class":132},[64,234,136],{"class":74},[64,236,94],{"class":74},[64,238,239],{"class":97},"blog/**/*.md",[64,241,101],{"class":74},[64,243,245,247],{"class":66,"line":244},12,[64,246,193],{"class":74},[64,248,249],{"class":78},")\n",[64,251,253],{"class":66,"line":252},13,[64,254,255],{"class":74},"  }\n",[64,257,259,262],{"class":66,"line":258},14,[64,260,261],{"class":74},"}",[64,263,249],{"class":78},[19,265,266],{"id":266},"集合类型",[10,268,269],{},"常见集合类型包括：",[29,271,272,277],{},[32,273,274,276],{},[14,275,166],{},"：适合直接渲染为页面的 Markdown 内容。",[32,278,279,282],{},[14,280,281],{},"data","：适合结构化数据，不一定直接对应路由页面。",[10,284,285],{},"选择类型时，应根据内容是否需要直接生成页面来判断。",[19,287,288],{"id":288},"查询集合",[10,290,291,292,295],{},"定义集合后，可以通过 ",[14,293,294],{},"queryCollection"," 查询内容：",[55,297,299],{"className":57,"code":298,"language":59,"meta":60,"style":60},"const posts = await queryCollection('blog')\n  .order('date', 'DESC')\n  .all()\n",[14,300,301,330,358],{"__ignoreMap":60},[64,302,303,307,310,313,316,319,321,323,326,328],{"class":66,"line":67},[64,304,306],{"class":305},"spNyl","const",[64,308,309],{"class":78}," posts ",[64,311,312],{"class":74},"=",[64,314,315],{"class":70}," await",[64,317,318],{"class":120}," queryCollection",[64,320,123],{"class":78},[64,322,169],{"class":74},[64,324,325],{"class":97},"blog",[64,327,169],{"class":74},[64,329,249],{"class":78},[64,331,332,335,338,340,342,345,347,349,351,354,356],{"class":66,"line":104},[64,333,334],{"class":74},"  .",[64,336,337],{"class":120},"order",[64,339,123],{"class":78},[64,341,169],{"class":74},[64,343,344],{"class":97},"date",[64,346,169],{"class":74},[64,348,82],{"class":74},[64,350,94],{"class":74},[64,352,353],{"class":97},"DESC",[64,355,169],{"class":74},[64,357,249],{"class":78},[64,359,360,362,365],{"class":66,"line":111},[64,361,334],{"class":74},[64,363,364],{"class":120},"all",[64,366,367],{"class":78},"()\n",[10,369,370],{},"查询文档详情时，可以结合路径：",[55,372,374],{"className":57,"code":373,"language":59,"meta":60,"style":60},"const doc = await queryCollection('docs')\n  .path('/docs/framework/define')\n  .first()\n",[14,375,376,400,418],{"__ignoreMap":60},[64,377,378,380,383,385,387,389,391,393,396,398],{"class":66,"line":67},[64,379,306],{"class":305},[64,381,382],{"class":78}," doc ",[64,384,312],{"class":74},[64,386,315],{"class":70},[64,388,318],{"class":120},[64,390,123],{"class":78},[64,392,169],{"class":74},[64,394,395],{"class":97},"docs",[64,397,169],{"class":74},[64,399,249],{"class":78},[64,401,402,404,407,409,411,414,416],{"class":66,"line":104},[64,403,334],{"class":74},[64,405,406],{"class":120},"path",[64,408,123],{"class":78},[64,410,169],{"class":74},[64,412,413],{"class":97},"/docs/framework/define",[64,415,169],{"class":74},[64,417,249],{"class":78},[64,419,420,422,425],{"class":66,"line":111},[64,421,334],{"class":74},[64,423,424],{"class":120},"first",[64,426,367],{"class":78},[19,428,429],{"id":429},"维护建议",[29,431,432,435,438,451],{},[32,433,434],{},"集合名称保持简短稳定。",[32,436,437],{},"内容路径规则应尽量明确，避免多个集合重复匹配同一文件。",[32,439,440,441,444,445,444,448,450],{},"对外展示的内容建议补齐 ",[14,442,443],{},"title","、",[14,446,447],{},"description",[14,449,344],{}," 等基础字段。",[32,452,453],{},"修改集合配置后，应重新运行类型检查和静态生成。",[455,456,457],"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}",{"title":60,"searchDepth":104,"depth":104,"links":459},[460,461,462,463,464],{"id":21,"depth":104,"text":21},{"id":46,"depth":104,"text":46},{"id":266,"depth":104,"text":266},{"id":288,"depth":104,"text":288},{"id":429,"depth":104,"text":429},"进阶教程","了解如何在 Nuxt 应用中定义和配置内容集合。","md",null,{},{"title":471,"icon":472},"定义","i-lucide-file-text",{"title":5,"description":466},"docs/framework/define","1EnvR83imSDBvZjnxodu9FhLcNl4EXfycWhN-CAenHU",[468,477],{"title":478,"path":479,"stem":480,"icon":481,"children":-1},"前置准备","/docs/framework/prerequisites","docs/framework/prerequisites","i-lucide-database",[483,485,487,493,497,503,510,516,522,528,533,538],{"title":5,"path":413,"category":465,"order":468,"navigation":484},{"title":471,"icon":472},{"title":478,"path":479,"category":465,"order":468,"navigation":486},{"title":478,"icon":481},{"title":488,"path":489,"category":465,"order":468,"navigation":490},"集合源","/docs/framework/sources",{"title":491,"icon":492},"源","i-lucide-upload",{"title":266,"path":494,"category":465,"order":468,"navigation":495},"/docs/framework/types",{"title":496,"icon":472},"类型",{"title":498,"path":499,"category":465,"order":468,"navigation":500},"模式验证器","/docs/framework/validators",{"title":501,"icon":502},"验证器","i-lucide-check-circle",{"title":504,"path":505,"category":506,"order":468,"navigation":507},"宝塔面板部署","/docs/introduction/bt","入门指南",{"title":508,"icon":509},"宝塔部署","i-lucide-server",{"title":511,"path":512,"category":506,"order":468,"navigation":513},"开源与商业化","/docs/introduction/configuration",{"title":514,"icon":515},"商业化","i-lucide-dollar-sign",{"title":517,"path":518,"category":506,"order":468,"navigation":519},"蓝网AI介绍","/docs/introduction/start",{"title":520,"icon":521},"介绍","i-lucide-info",{"title":523,"path":524,"category":506,"order":468,"navigation":525},"迁移指南","/docs/introduction/migration",{"title":526,"icon":527},"迁移","i-lucide-arrow-right",{"title":529,"path":530,"category":506,"order":468,"navigation":531},"手动安装","/docs/introduction/manual-installation",{"title":529,"icon":532},"i-lucide-terminal",{"title":534,"path":535,"category":506,"order":468,"navigation":536},"Docker安装","/docs/introduction/docker-installation",{"title":534,"icon":537},"i-lucide-box",{"title":539,"path":540,"category":506,"order":468,"navigation":541},"演示环境","/docs/introduction/demo",{"title":539,"icon":542},"i-lucide-download",1783496127683]