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