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