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