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