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