[{"data":1,"prerenderedAt":1096},["ShallowReactive",2],{"navigation_docs_en":3,"-en-getting-started-project-structure":122,"-en-getting-started-project-structure-surround":1091},[4,41,77,103],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":40},"Getting Started","i-lucide-rocket","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,15,20,25,30,35],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Project Structure","\u002Fen\u002Fgetting-started\u002Fproject-structure","en\u002F1.getting-started\u002F4.project-structure","i-lucide-folder-tree",{"title":26,"path":27,"stem":28,"icon":29},"Studio module","\u002Fen\u002Fgetting-started\u002Fstudio","en\u002F1.getting-started\u002F5.studio","i-lucide-mouse-pointer-2",{"title":31,"path":32,"stem":33,"icon":34},"Migration","\u002Fen\u002Fgetting-started\u002Fmigration","en\u002F1.getting-started\u002F6.migration","i-lucide-replace",{"title":36,"path":37,"stem":38,"icon":39},"Troubleshooting","\u002Fen\u002Fgetting-started\u002Ftroubleshooting","en\u002F1.getting-started\u002F7.troubleshooting","i-lucide-wrench",false,{"title":42,"icon":43,"path":44,"stem":45,"children":46,"page":40},"Core Concepts","i-lucide-brain","\u002Fen\u002Fconcepts","en\u002F2.concepts",[47,52,57,62,67,72],{"title":48,"path":49,"stem":50,"icon":51},"Edition","\u002Fen\u002Fconcepts\u002Fedition","en\u002F2.concepts\u002F2.edition","i-lucide-pencil",{"title":53,"path":54,"stem":55,"icon":56},"Configuration","\u002Fen\u002Fconcepts\u002Fconfiguration","en\u002F2.concepts\u002F3.configuration","i-lucide-settings",{"title":58,"path":59,"stem":60,"icon":61},"Theme","\u002Fen\u002Fconcepts\u002Ftheme","en\u002F2.concepts\u002F4.theme","i-lucide-paint-roller",{"title":63,"path":64,"stem":65,"icon":66},"Customization","\u002Fen\u002Fconcepts\u002Fcustomization","en\u002F2.concepts\u002F5.customization","i-lucide-pen-tool",{"title":68,"path":69,"stem":70,"icon":71},"Internationalization","\u002Fen\u002Fconcepts\u002Finternationalization","en\u002F2.concepts\u002F6.internationalization","i-lucide-globe",{"title":73,"path":74,"stem":75,"icon":76},"Nuxt","\u002Fen\u002Fconcepts\u002Fnuxt","en\u002F2.concepts\u002F8.nuxt","i-simple-icons-nuxt",{"title":78,"icon":79,"path":80,"stem":81,"children":82,"page":40},"Essentials","i-lucide-book-open","\u002Fen\u002Fessentials","en\u002F3.essentials",[83,88,93,98],{"title":84,"path":85,"stem":86,"icon":87},"Markdown Syntax","\u002Fen\u002Fessentials\u002Fmarkdown-syntax","en\u002F3.essentials\u002F1.markdown-syntax","i-lucide-heading-1",{"title":89,"path":90,"stem":91,"icon":92},"Code Blocks","\u002Fen\u002Fessentials\u002Fcode-blocks","en\u002F3.essentials\u002F2.code-blocks","i-lucide-code-xml",{"title":94,"path":95,"stem":96,"icon":97},"Components","\u002Fen\u002Fessentials\u002Fcomponents","en\u002F3.essentials\u002F3.components","i-lucide-component",{"title":99,"path":100,"stem":101,"icon":102},"Images and Embeds","\u002Fen\u002Fessentials\u002Fimages-embeds","en\u002F3.essentials\u002F4.images-embeds","i-lucide-image",{"title":104,"icon":105,"path":106,"stem":107,"children":108,"page":40},"AI","i-lucide-sparkles","\u002Fen\u002Fai","en\u002F4.ai",[109,113,117],{"title":110,"path":111,"stem":112},"Agent","\u002Fen\u002Fai\u002Fassistant","en\u002F4.ai\u002F1.assistant",{"title":114,"path":115,"stem":116},"MCP Server","\u002Fen\u002Fai\u002Fmcp","en\u002F4.ai\u002F2.mcp",{"title":118,"path":119,"stem":120,"icon":121},"LLMs Integration","\u002Fen\u002Fai\u002Fllms","en\u002F4.ai\u002F3.llms","i-lucide-message-circle-code",{"id":123,"title":21,"body":124,"description":1084,"extension":1085,"links":1086,"meta":1087,"navigation":1088,"path":22,"seo":1089,"stem":23,"__hash__":1090},"docs_en\u002Fen\u002F1.getting-started\u002F4.project-structure.md",{"type":125,"value":126,"toc":1072},"minimark",[127,132,141,149,233,236,324,332,340,345,402,414,419,499,502,508,514,520,526,710,716,722,725,781,787,791,798,805,915,919,926,931,1065,1068],[128,129,131],"h2",{"id":130},"global-structure","Global structure",[133,134,135,136,140],"p",{},"Docus is a ",[137,138,139],"strong",{},"Nuxt layer"," that extends your standard Nuxt application with documentation features. This gives you the flexibility of a full Nuxt project.",[133,142,143,144,148],{},"When you create a new Docus project with ",[145,146,147],"code",{},"npx create-docus my-docs",", you get:",[150,151,156],"pre",{"className":152,"code":153,"language":154,"meta":155,"style":155},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","my-docs\u002F\n├── content\u002F             # Your markdown content\n│   ├── index.md         # Homepage\n│   └── docs\u002F            # Documentation pages\n├── public\u002F              # Static assets\n└── package.json         # Dependencies and scripts\n","bash","",[145,157,158,167,181,196,210,221],{"__ignoreMap":155},[159,160,163],"span",{"class":161,"line":162},"line",1,[159,164,166],{"class":165},"sBMFI","my-docs\u002F\n",[159,168,170,173,177],{"class":161,"line":169},2,[159,171,172],{"class":165},"├──",[159,174,176],{"class":175},"sfazB"," content\u002F",[159,178,180],{"class":179},"sHwdD","             # Your markdown content\n",[159,182,184,187,190,193],{"class":161,"line":183},3,[159,185,186],{"class":165},"│",[159,188,189],{"class":175},"   ├──",[159,191,192],{"class":175}," index.md",[159,194,195],{"class":179},"         # Homepage\n",[159,197,199,201,204,207],{"class":161,"line":198},4,[159,200,186],{"class":165},[159,202,203],{"class":175},"   └──",[159,205,206],{"class":175}," docs\u002F",[159,208,209],{"class":179},"            # Documentation pages\n",[159,211,213,215,218],{"class":161,"line":212},5,[159,214,172],{"class":165},[159,216,217],{"class":175}," public\u002F",[159,219,220],{"class":179},"              # Static assets\n",[159,222,224,227,230],{"class":161,"line":223},6,[159,225,226],{"class":165},"└──",[159,228,229],{"class":175}," package.json",[159,231,232],{"class":179},"         # Dependencies and scripts\n",[133,234,235],{},"You can still use any feature or file of a classical Nuxt project:",[150,237,239],{"className":152,"code":238,"language":154,"meta":155,"style":155},"my-docs\u002F\n├── nuxt.config.ts       # Nuxt configuration (add extra modules, components, etc.)\n├── app\u002F                 # App directory\n    ├── app.config.ts    # App configuration\n│   ├── components\u002F      # Components (add your own components)\n│   ├── layouts\u002F         # Layouts (add your own layouts)\n│   └── pages\u002F           # Pages (add your own pages)\n└── server\u002F              # Server-side code (add your own server-side code)\n",[145,240,241,245,255,265,276,288,300,313],{"__ignoreMap":155},[159,242,243],{"class":161,"line":162},[159,244,166],{"class":165},[159,246,247,249,252],{"class":161,"line":169},[159,248,172],{"class":165},[159,250,251],{"class":175}," nuxt.config.ts",[159,253,254],{"class":179},"       # Nuxt configuration (add extra modules, components, etc.)\n",[159,256,257,259,262],{"class":161,"line":183},[159,258,172],{"class":165},[159,260,261],{"class":175}," app\u002F",[159,263,264],{"class":179},"                 # App directory\n",[159,266,267,270,273],{"class":161,"line":198},[159,268,269],{"class":165},"    ├──",[159,271,272],{"class":175}," app.config.ts",[159,274,275],{"class":179},"    # App configuration\n",[159,277,278,280,282,285],{"class":161,"line":212},[159,279,186],{"class":165},[159,281,189],{"class":175},[159,283,284],{"class":175}," components\u002F",[159,286,287],{"class":179},"      # Components (add your own components)\n",[159,289,290,292,294,297],{"class":161,"line":223},[159,291,186],{"class":165},[159,293,189],{"class":175},[159,295,296],{"class":175}," layouts\u002F",[159,298,299],{"class":179},"         # Layouts (add your own layouts)\n",[159,301,303,305,307,310],{"class":161,"line":302},7,[159,304,186],{"class":165},[159,306,203],{"class":175},[159,308,309],{"class":175}," pages\u002F",[159,311,312],{"class":179},"           # Pages (add your own pages)\n",[159,314,316,318,321],{"class":161,"line":315},8,[159,317,226],{"class":165},[159,319,320],{"class":175}," server\u002F",[159,322,323],{"class":179},"              # Server-side code (add your own server-side code)\n",[325,326,328,331],"h3",{"id":327},"content-directory",[145,329,330],{},"content\u002F"," directory",[133,333,334,335,339],{},"This is where you ",[336,337,338],"a",{"href":49},"write pages"," in Markdown. Docus automatically generates routes based on your file structure.",[133,341,342],{},[137,343,344],{},"Single language structure:",[150,346,348],{"className":152,"code":347,"language":154,"meta":155,"style":155},"content\u002F\n├── index.md              # Landing page (\u002F)\n├── getting-started.md    # Documentation page (\u002Fgetting-started)\n└── guide\u002F\n    ├── introduction.md   # Documentation page (\u002Fguide\u002Fintroduction)\n    └── configuration.md  # Documentation page (\u002Fguide\u002Fconfiguration)\n",[145,349,350,355,364,374,381,391],{"__ignoreMap":155},[159,351,352],{"class":161,"line":162},[159,353,354],{"class":165},"content\u002F\n",[159,356,357,359,361],{"class":161,"line":169},[159,358,172],{"class":165},[159,360,192],{"class":175},[159,362,363],{"class":179},"              # Landing page (\u002F)\n",[159,365,366,368,371],{"class":161,"line":183},[159,367,172],{"class":165},[159,369,370],{"class":175}," getting-started.md",[159,372,373],{"class":179},"    # Documentation page (\u002Fgetting-started)\n",[159,375,376,378],{"class":161,"line":198},[159,377,226],{"class":165},[159,379,380],{"class":175}," guide\u002F\n",[159,382,383,385,388],{"class":161,"line":212},[159,384,269],{"class":165},[159,386,387],{"class":175}," introduction.md",[159,389,390],{"class":179},"   # Documentation page (\u002Fguide\u002Fintroduction)\n",[159,392,393,396,399],{"class":161,"line":223},[159,394,395],{"class":165},"    └──",[159,397,398],{"class":175}," configuration.md",[159,400,401],{"class":179},"  # Documentation page (\u002Fguide\u002Fconfiguration)\n",[403,404,405,406,409,410,413],"tip",{"to":49},"You can separate your documentation files within a ",[145,407,408],{},"docs\u002F"," subfolder to make them accessible at the ",[145,411,412],{},"\u002Fdocs"," route. Additionally, you have the flexibility to override your landing page using custom Vue pages if desired.",[133,415,416],{},[137,417,418],{},"Multi-language structure (with i18n):",[150,420,422],{"className":152,"code":421,"language":154,"meta":155,"style":155},"content\u002F\n├── en\u002F\n│   ├── index.md             # English landing page (\u002Fen)\n│   └── guide\u002F\n│       └── introduction.md  # Documentation page (\u002Fen\u002Fguide\u002Fintroduction)\n└── fr\u002F\n    ├── index.md             # French landing page (\u002Ffr)\n    └── guide\u002F\n        └── introduction.md  # Documentation page (\u002Ffr\u002Fguide\u002Fintroduction)\n",[145,423,424,428,435,446,454,466,473,482,488],{"__ignoreMap":155},[159,425,426],{"class":161,"line":162},[159,427,354],{"class":165},[159,429,430,432],{"class":161,"line":169},[159,431,172],{"class":165},[159,433,434],{"class":175}," en\u002F\n",[159,436,437,439,441,443],{"class":161,"line":183},[159,438,186],{"class":165},[159,440,189],{"class":175},[159,442,192],{"class":175},[159,444,445],{"class":179},"             # English landing page (\u002Fen)\n",[159,447,448,450,452],{"class":161,"line":198},[159,449,186],{"class":165},[159,451,203],{"class":175},[159,453,380],{"class":175},[159,455,456,458,461,463],{"class":161,"line":212},[159,457,186],{"class":165},[159,459,460],{"class":175},"       └──",[159,462,387],{"class":175},[159,464,465],{"class":179},"  # Documentation page (\u002Fen\u002Fguide\u002Fintroduction)\n",[159,467,468,470],{"class":161,"line":223},[159,469,226],{"class":165},[159,471,472],{"class":175}," fr\u002F\n",[159,474,475,477,479],{"class":161,"line":302},[159,476,269],{"class":165},[159,478,192],{"class":175},[159,480,481],{"class":179},"             # French landing page (\u002Ffr)\n",[159,483,484,486],{"class":161,"line":315},[159,485,395],{"class":165},[159,487,380],{"class":175},[159,489,491,494,496],{"class":161,"line":490},9,[159,492,493],{"class":165},"        └──",[159,495,387],{"class":175},[159,497,498],{"class":179},"  # Documentation page (\u002Ffr\u002Fguide\u002Fintroduction)\n",[403,500,501],{"to":69},"More information about i18n is available in the internationalization section.",[325,503,505,331],{"id":504},"public-directory",[145,506,507],{},"public\u002F",[133,509,510,511,513],{},"Files contained within the ",[145,512,507],{}," directory are served at the root and are not modified by the build process. This is where you can locate your images, icons, and other static assets.",[325,515,517],{"id":516},"packagejson",[145,518,519],{},"package.json",[133,521,522,523,525],{},"This file contains all the dependencies and scripts for your application. The ",[145,524,519],{}," of\na Docus application is really minimal and looks like:",[150,527,531],{"className":528,"code":529,"filename":519,"language":530,"meta":155,"style":155},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"name\": \"my-docs\",\n  \"scripts\": {\n    \"build\": \"nuxt build --extends docus\",\n    \"dev\": \"nuxt dev --extends docus\",\n  },\n  \"dependencies\": {\n    \"docus\": \"latest\",\n    \"better-sqlite3\": \"^12.2.0\",\n    \"nuxt\": \"^4.0.0\"\n  }\n}\n","json",[145,532,533,539,565,579,600,620,625,638,658,678,698,704],{"__ignoreMap":155},[159,534,535],{"class":161,"line":162},[159,536,538],{"class":537},"sMK4o","{\n",[159,540,541,544,548,551,554,557,560,562],{"class":161,"line":169},[159,542,543],{"class":537},"  \"",[159,545,547],{"class":546},"spNyl","name",[159,549,550],{"class":537},"\"",[159,552,553],{"class":537},":",[159,555,556],{"class":537}," \"",[159,558,559],{"class":175},"my-docs",[159,561,550],{"class":537},[159,563,564],{"class":537},",\n",[159,566,567,569,572,574,576],{"class":161,"line":183},[159,568,543],{"class":537},[159,570,571],{"class":546},"scripts",[159,573,550],{"class":537},[159,575,553],{"class":537},[159,577,578],{"class":537}," {\n",[159,580,581,584,587,589,591,593,596,598],{"class":161,"line":198},[159,582,583],{"class":537},"    \"",[159,585,586],{"class":165},"build",[159,588,550],{"class":537},[159,590,553],{"class":537},[159,592,556],{"class":537},[159,594,595],{"class":175},"nuxt build --extends docus",[159,597,550],{"class":537},[159,599,564],{"class":537},[159,601,602,604,607,609,611,613,616,618],{"class":161,"line":212},[159,603,583],{"class":537},[159,605,606],{"class":165},"dev",[159,608,550],{"class":537},[159,610,553],{"class":537},[159,612,556],{"class":537},[159,614,615],{"class":175},"nuxt dev --extends docus",[159,617,550],{"class":537},[159,619,564],{"class":537},[159,621,622],{"class":161,"line":223},[159,623,624],{"class":537},"  },\n",[159,626,627,629,632,634,636],{"class":161,"line":302},[159,628,543],{"class":537},[159,630,631],{"class":546},"dependencies",[159,633,550],{"class":537},[159,635,553],{"class":537},[159,637,578],{"class":537},[159,639,640,642,645,647,649,651,654,656],{"class":161,"line":315},[159,641,583],{"class":537},[159,643,644],{"class":165},"docus",[159,646,550],{"class":537},[159,648,553],{"class":537},[159,650,556],{"class":537},[159,652,653],{"class":175},"latest",[159,655,550],{"class":537},[159,657,564],{"class":537},[159,659,660,662,665,667,669,671,674,676],{"class":161,"line":490},[159,661,583],{"class":537},[159,663,664],{"class":165},"better-sqlite3",[159,666,550],{"class":537},[159,668,553],{"class":537},[159,670,556],{"class":537},[159,672,673],{"class":175},"^12.2.0",[159,675,550],{"class":537},[159,677,564],{"class":537},[159,679,681,683,686,688,690,692,695],{"class":161,"line":680},10,[159,682,583],{"class":537},[159,684,685],{"class":165},"nuxt",[159,687,550],{"class":537},[159,689,553],{"class":537},[159,691,556],{"class":537},[159,693,694],{"class":175},"^4.0.0",[159,696,697],{"class":537},"\"\n",[159,699,701],{"class":161,"line":700},11,[159,702,703],{"class":537},"  }\n",[159,705,707],{"class":161,"line":706},12,[159,708,709],{"class":537},"}\n",[325,711,713],{"id":712},"nuxtconfigts",[145,714,715],{},"nuxt.config.ts",[133,717,718],{},[719,720,721],"em",{},"This file is not mandatory to start a Docus application.",[133,723,724],{},"You can add extra modules to your Nuxt configuration file:",[150,726,730],{"className":727,"code":728,"filename":715,"language":729,"meta":155,"style":155},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  extends: ['@vercel\u002Fanalytics\u002Fnuxt\u002Fmodule']\n})\n","typescript",[145,731,732,751,773],{"__ignoreMap":155},[159,733,734,738,741,745,749],{"class":161,"line":162},[159,735,737],{"class":736},"s7zQu","export",[159,739,740],{"class":736}," default",[159,742,744],{"class":743},"s2Zo4"," defineNuxtConfig",[159,746,748],{"class":747},"sTEyZ","(",[159,750,538],{"class":537},[159,752,753,757,759,762,765,768,770],{"class":161,"line":169},[159,754,756],{"class":755},"swJcz","  extends",[159,758,553],{"class":537},[159,760,761],{"class":747}," [",[159,763,764],{"class":537},"'",[159,766,767],{"class":175},"@vercel\u002Fanalytics\u002Fnuxt\u002Fmodule",[159,769,764],{"class":537},[159,771,772],{"class":747},"]\n",[159,774,775,778],{"class":161,"line":183},[159,776,777],{"class":537},"}",[159,779,780],{"class":747},")\n",[325,782,784],{"id":783},"appconfigts",[145,785,786],{},"app.config.ts",[133,788,789],{},[719,790,721],{},[792,793,794,795,797],"warning",{},"You need a ",[145,796,715],{}," to be set if you want to override app configuration.",[133,799,800,801,804],{},"This is where you can ",[336,802,803],{"href":54},"configure Docus"," to fit your branding, handle SEO, set your locale, and adapt links and socials.",[150,806,810],{"className":807,"code":808,"filename":786,"language":809,"meta":155,"style":155},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineAppConfig({\n  docus: {\n    locale: 'en', \u002F\u002F Set your single-language locale\n  },\n  seo: {\n    title: 'My Docs',\n    description: 'My awesome documentation',\n  },\n  \u002F\u002F ... other configurations\n})\n","ts",[145,811,812,825,834,855,859,868,884,900,904,909],{"__ignoreMap":155},[159,813,814,816,818,821,823],{"class":161,"line":162},[159,815,737],{"class":736},[159,817,740],{"class":736},[159,819,820],{"class":743}," defineAppConfig",[159,822,748],{"class":747},[159,824,538],{"class":537},[159,826,827,830,832],{"class":161,"line":169},[159,828,829],{"class":755},"  docus",[159,831,553],{"class":537},[159,833,578],{"class":537},[159,835,836,839,841,844,847,849,852],{"class":161,"line":183},[159,837,838],{"class":755},"    locale",[159,840,553],{"class":537},[159,842,843],{"class":537}," '",[159,845,846],{"class":175},"en",[159,848,764],{"class":537},[159,850,851],{"class":537},",",[159,853,854],{"class":179}," \u002F\u002F Set your single-language locale\n",[159,856,857],{"class":161,"line":198},[159,858,624],{"class":537},[159,860,861,864,866],{"class":161,"line":212},[159,862,863],{"class":755},"  seo",[159,865,553],{"class":537},[159,867,578],{"class":537},[159,869,870,873,875,877,880,882],{"class":161,"line":223},[159,871,872],{"class":755},"    title",[159,874,553],{"class":537},[159,876,843],{"class":537},[159,878,879],{"class":175},"My Docs",[159,881,764],{"class":537},[159,883,564],{"class":537},[159,885,886,889,891,893,896,898],{"class":161,"line":302},[159,887,888],{"class":755},"    description",[159,890,553],{"class":537},[159,892,843],{"class":537},[159,894,895],{"class":175},"My awesome documentation",[159,897,764],{"class":537},[159,899,564],{"class":537},[159,901,902],{"class":161,"line":315},[159,903,624],{"class":537},[159,905,906],{"class":161,"line":490},[159,907,908],{"class":179},"  \u002F\u002F ... other configurations\n",[159,910,911,913],{"class":161,"line":680},[159,912,777],{"class":537},[159,914,780],{"class":747},[128,916,918],{"id":917},"full-nuxt-project-capabilities","Full Nuxt Project Capabilities",[133,920,921,922,925],{},"Since Docus is a Nuxt layer, you can use ",[137,923,924],{},"any feature"," of a standard Nuxt project:",[792,927,794,928,930],{},[145,929,715],{}," to be set if you want to override your app with Nuxt files. If no Nuxt config is created, changes will not be applied.",[150,932,934],{"className":152,"code":933,"language":154,"meta":155,"style":155},"my-docs\u002F\n├── app\u002F                 # App directory (optional)\n    ├── app.config.ts    # App configuration\n│   ├── components\u002F      # Custom Vue components\n│   ├── layouts\u002F         # Custom layouts\n│   ├── pages\u002F           # Custom Vue pages (outside of content)\n│   ├── composables\u002F     # Vue composables\n│   └── middleware\u002F      # Route middleware\n├── server\u002F              # Server-side code\n│   └── api\u002F             # API routes\n├── plugins\u002F             # Nuxt plugins\n├── middleware\u002F          # Global middleware\n└── modules\u002F             # Custom Nuxt modules\n",[145,935,936,940,949,957,968,979,990,1002,1014,1023,1035,1045,1054],{"__ignoreMap":155},[159,937,938],{"class":161,"line":162},[159,939,166],{"class":165},[159,941,942,944,946],{"class":161,"line":169},[159,943,172],{"class":165},[159,945,261],{"class":175},[159,947,948],{"class":179},"                 # App directory (optional)\n",[159,950,951,953,955],{"class":161,"line":183},[159,952,269],{"class":165},[159,954,272],{"class":175},[159,956,275],{"class":179},[159,958,959,961,963,965],{"class":161,"line":198},[159,960,186],{"class":165},[159,962,189],{"class":175},[159,964,284],{"class":175},[159,966,967],{"class":179},"      # Custom Vue components\n",[159,969,970,972,974,976],{"class":161,"line":212},[159,971,186],{"class":165},[159,973,189],{"class":175},[159,975,296],{"class":175},[159,977,978],{"class":179},"         # Custom layouts\n",[159,980,981,983,985,987],{"class":161,"line":223},[159,982,186],{"class":165},[159,984,189],{"class":175},[159,986,309],{"class":175},[159,988,989],{"class":179},"           # Custom Vue pages (outside of content)\n",[159,991,992,994,996,999],{"class":161,"line":302},[159,993,186],{"class":165},[159,995,189],{"class":175},[159,997,998],{"class":175}," composables\u002F",[159,1000,1001],{"class":179},"     # Vue composables\n",[159,1003,1004,1006,1008,1011],{"class":161,"line":315},[159,1005,186],{"class":165},[159,1007,203],{"class":175},[159,1009,1010],{"class":175}," middleware\u002F",[159,1012,1013],{"class":179},"      # Route middleware\n",[159,1015,1016,1018,1020],{"class":161,"line":490},[159,1017,172],{"class":165},[159,1019,320],{"class":175},[159,1021,1022],{"class":179},"              # Server-side code\n",[159,1024,1025,1027,1029,1032],{"class":161,"line":680},[159,1026,186],{"class":165},[159,1028,203],{"class":175},[159,1030,1031],{"class":175}," api\u002F",[159,1033,1034],{"class":179},"             # API routes\n",[159,1036,1037,1039,1042],{"class":161,"line":700},[159,1038,172],{"class":165},[159,1040,1041],{"class":175}," plugins\u002F",[159,1043,1044],{"class":179},"             # Nuxt plugins\n",[159,1046,1047,1049,1051],{"class":161,"line":706},[159,1048,172],{"class":165},[159,1050,1010],{"class":175},[159,1052,1053],{"class":179},"          # Global middleware\n",[159,1055,1057,1059,1062],{"class":161,"line":1056},13,[159,1058,226],{"class":165},[159,1060,1061],{"class":175}," modules\u002F",[159,1063,1064],{"class":179},"             # Custom Nuxt modules\n",[403,1066,1067],{"to":74},"This layer-based approach gives you the power of the entire Nuxt ecosystem while keeping documentation as the primary focus.",[1069,1070,1071],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .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 .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":155,"searchDepth":169,"depth":169,"links":1073},[1074,1083],{"id":130,"depth":169,"text":131,"children":1075},[1076,1078,1080,1081,1082],{"id":327,"depth":183,"text":1077},"content\u002F directory",{"id":504,"depth":183,"text":1079},"public\u002F directory",{"id":516,"depth":183,"text":519},{"id":712,"depth":183,"text":715},{"id":783,"depth":183,"text":786},{"id":917,"depth":169,"text":918},"Learn about the project structure of Docus v4.","md",null,{},{"icon":24},{"title":21,"description":1084},"7Xlm9f08UQ7Wa-MXTE42k3p98x90uXUEm3IRXjcpQw0",[1092,1094],{"title":16,"path":17,"stem":18,"description":1093,"icon":19,"children":-1},"Get started with Docus.",{"title":26,"path":27,"stem":28,"description":1095,"icon":29,"children":-1},"Edit your Nuxt Content website directly in production with the self-hosted Studio web editor.",1774664978991]