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