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