[{"data":1,"prerenderedAt":656},["ShallowReactive",2],{"navigation_docs_manual_en":3,"-docs-manual-en-getting-started-migration":134,"-docs-manual-en-getting-started-migration-surround":651},[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":31,"body":136,"config":644,"description":645,"extension":646,"links":644,"meta":647,"navigation":648,"path":32,"seo":649,"stem":33,"__hash__":650},"docs_manual_en\u002Fdocs\u002Fmanual\u002Fen\u002F1.getting-started\u002F6.migration.md",{"type":137,"value":138,"toc":627},"minimark",[139,144,158,161,232,236,240,243,380,384,388,391,394,431,434,473,477,480,553,560,564,593,597,600,623],[140,141,143],"h2",{"id":142},"migrating-from-older-tockdocs-versions","Migrating from older TockDocs versions",[145,146,147,148,157],"p",{},"Modern TockDocs is based on a ",[149,150,151,152,156],"strong",{},"Nuxt layer + ****",[153,154,155],"code",{},"create-tockdocs"," starter workflow",".",[145,159,160],{},"The main migration changes from older releases are the project bootstrap and command flow:",[162,163,164,177],"table",{},[165,166,167],"thead",{},[168,169,170,174],"tr",{},[171,172,173],"th",{},"Older workflow",[171,175,176],{},"Current workflow",[178,179,180,193,205,217],"tbody",{},[168,181,182,188],{},[183,184,185],"td",{},[153,186,187],{},"npx tockdocs init my-docs",[183,189,190],{},[153,191,192],{},"npx create-tockdocs my-docs",[168,194,195,200],{},[183,196,197],{},[153,198,199],{},"tockdocs dev",[183,201,202],{},[153,203,204],{},"npm run dev",[168,206,207,212],{},[183,208,209],{},[153,210,211],{},"tockdocs build",[183,213,214],{},[153,215,216],{},"npm run build",[168,218,219,225],{},[183,220,221,222],{},"inline ",[153,223,224],{},"--extends tockdocs",[183,226,227,228,231],{},"generated ",[153,229,230],{},"nuxt.config.ts"," extends the layer",[233,234,235],"tip",{},"Your Markdown content and most MDC syntax can usually be migrated without major rewrites. The biggest changes are project structure and routing conventions.",[140,237,239],{"id":238},"migrating-from-any-markdown-docs-setup","Migrating from any Markdown docs setup",[145,241,242],{},"Whether you are coming from older TockDocs, the Nuxt UI docs template, or another Markdown site, the migration path is usually:",[244,245,246,251,277,280,296,303,309,313,316,337,341,344,362,366],"steps",{},[247,248,250],"h3",{"id":249},"create-a-fresh-tockdocs-project","Create a fresh TockDocs project",[252,253,259],"pre",{"className":254,"code":255,"filename":256,"language":257,"meta":258,"style":258},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx create-tockdocs my-docs\n","Terminal","bash","",[153,260,261],{"__ignoreMap":258},[262,263,266,270,274],"span",{"class":264,"line":265},"line",1,[262,267,269],{"class":268},"sBMFI","npx",[262,271,273],{"class":272},"sfazB"," create-tockdocs",[262,275,276],{"class":272}," my-docs\n",[145,278,279],{},"Choose:",[281,282,283,290],"ul",{},[284,285,286,289],"li",{},[153,287,288],{},"default"," if you want a single-locale docs tree",[284,291,292,295],{},[153,293,294],{},"i18n"," if you want localized docs in legacy mode",[247,297,299,300],{"id":298},"move-your-content-into-content","Move your content into ",[153,301,302],{},"content\u002F",[145,304,305,306,308],{},"For most projects, you can copy your Markdown files directly into the new ",[153,307,302],{}," directory and then refine structure, navigation metadata, and MDC over time.",[247,310,312],{"id":311},"pick-the-right-architecture","Pick the right architecture",[145,314,315],{},"Use the content shape that matches your site:",[281,317,318,324],{},[284,319,320,323],{},[149,321,322],{},"legacy mode"," for one documentation tree",[284,325,326,329,330,333,334],{},[149,327,328],{},"knowledge-base mode"," when you want multiple KBs like ",[153,331,332],{},"\u002Fdocs\u002Fmanual\u002Fen\u002F..."," and ",[153,335,336],{},"\u002Fdocs\u002Fparser\u002Fen\u002F...",[247,338,340],{"id":339},"update-routes-and-links","Update routes and links",[145,342,343],{},"If your old docs used different routes, review:",[281,345,346,349,352,359],{},[284,347,348],{},"internal Markdown links",[284,350,351],{},"image paths",[284,353,354,355,358],{},"any hardcoded ",[153,356,357],{},"\u002Fdocs\u002F..."," URLs",[284,360,361],{},"knowledge-base ids and locale prefixes",[247,363,365],{"id":364},"review-configuration-and-ai-features","Review configuration and AI features",[145,367,368,369,372,373,375,376,379],{},"Once content is moved, review the ",[370,371,53],"a",{"href":54},", ",[370,374,116],{"href":117},", and ",[370,377,378],{"href":121},"MCP"," guides to align your app with current TockDocs conventions.",[140,381,383],{"id":382},"legacy-mode-vs-knowledge-base-mode","Legacy mode vs knowledge-base mode",[247,385,387],{"id":386},"legacy-mode","Legacy mode",[145,389,390],{},"Use this when your project has a single documentation tree.",[145,392,393],{},"Single-locale example:",[252,395,397],{"className":254,"code":396,"language":257,"meta":258,"style":258},"content\u002F\n├── index.md\n└── guide\u002F\n    └── introduction.md\n",[153,398,399,404,413,422],{"__ignoreMap":258},[262,400,401],{"class":264,"line":265},[262,402,403],{"class":268},"content\u002F\n",[262,405,407,410],{"class":264,"line":406},2,[262,408,409],{"class":268},"├──",[262,411,412],{"class":272}," index.md\n",[262,414,416,419],{"class":264,"line":415},3,[262,417,418],{"class":268},"└──",[262,420,421],{"class":272}," guide\u002F\n",[262,423,425,428],{"class":264,"line":424},4,[262,426,427],{"class":268},"    └──",[262,429,430],{"class":272}," introduction.md\n",[145,432,433],{},"Localized example:",[252,435,437],{"className":254,"code":436,"language":257,"meta":258,"style":258},"content\u002F\n├── en\u002F\n│   └── guide\u002F\n└── zh\u002F\n    └── guide\u002F\n",[153,438,439,443,450,460,467],{"__ignoreMap":258},[262,440,441],{"class":264,"line":265},[262,442,403],{"class":268},[262,444,445,447],{"class":264,"line":406},[262,446,409],{"class":268},[262,448,449],{"class":272}," en\u002F\n",[262,451,452,455,458],{"class":264,"line":415},[262,453,454],{"class":268},"│",[262,456,457],{"class":272},"   └──",[262,459,421],{"class":272},[262,461,462,464],{"class":264,"line":424},[262,463,418],{"class":268},[262,465,466],{"class":272}," zh\u002F\n",[262,468,469,471],{"class":264,"line":108},[262,470,427],{"class":268},[262,472,421],{"class":272},[247,474,476],{"id":475},"knowledge-base-mode","Knowledge-base mode",[145,478,479],{},"Use this when you want multiple docs sets in one site:",[252,481,483],{"className":254,"code":482,"language":257,"meta":258,"style":258},"content\u002F\n├── site\u002F\n│   └── index.md\n├── manual\u002F\n│   ├── kb.yml\n│   └── en\u002F\n└── parser\u002F\n    ├── kb.yml\n    └── en\u002F\n",[153,484,485,489,496,504,511,521,530,538,546],{"__ignoreMap":258},[262,486,487],{"class":264,"line":265},[262,488,403],{"class":268},[262,490,491,493],{"class":264,"line":406},[262,492,409],{"class":268},[262,494,495],{"class":272}," site\u002F\n",[262,497,498,500,502],{"class":264,"line":415},[262,499,454],{"class":268},[262,501,457],{"class":272},[262,503,412],{"class":272},[262,505,506,508],{"class":264,"line":424},[262,507,409],{"class":268},[262,509,510],{"class":272}," manual\u002F\n",[262,512,513,515,518],{"class":264,"line":108},[262,514,454],{"class":268},[262,516,517],{"class":272},"   ├──",[262,519,520],{"class":272}," kb.yml\n",[262,522,524,526,528],{"class":264,"line":523},6,[262,525,454],{"class":268},[262,527,457],{"class":272},[262,529,449],{"class":272},[262,531,533,535],{"class":264,"line":532},7,[262,534,418],{"class":268},[262,536,537],{"class":272}," parser\u002F\n",[262,539,541,544],{"class":264,"line":540},8,[262,542,543],{"class":268},"    ├──",[262,545,520],{"class":272},[262,547,549,551],{"class":264,"line":548},9,[262,550,427],{"class":268},[262,552,449],{"class":272},[145,554,555,556,559],{},"In KB mode, routes are generated as ",[153,557,558],{},"\u002Fdocs\u002F\u003Ckb>\u002F\u003Clocale>\u002F..."," and each KB gets its own collections, metadata, locale set, and entry page.",[140,561,563],{"id":562},"content-compatibility","Content compatibility",[281,565,566,572,578,587],{},[284,567,568,571],{},[149,569,570],{},"Standard Markdown"," can be copied as-is and improved gradually",[284,573,574,577],{},[149,575,576],{},"Nuxt Content + MDC"," content often migrates cleanly if the referenced components still exist",[284,579,580,583,584],{},[149,581,582],{},"Custom components"," may need to be recreated in ",[153,585,586],{},"app\u002Fcomponents\u002F",[284,588,589,592],{},[149,590,591],{},"Legacy route assumptions"," may need updating when moving to KB mode",[140,594,596],{"id":595},"practical-checklist","Practical checklist",[145,598,599],{},"Before calling the migration complete, verify:",[281,601,602,605,608,611,614,620],{},[284,603,604],{},"content renders without raw MDC markers leaking",[284,606,607],{},"internal links point to the new routes",[284,609,610],{},"navigation titles and icons are correct",[284,612,613],{},"locales are filtered as expected",[284,615,616,617],{},"KB home pages resolve correctly when using ",[153,618,619],{},"kb.yml",[284,621,622],{},"assistant and MCP features point to the intended content scope",[624,625,626],"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);}",{"title":258,"searchDepth":406,"depth":406,"links":628},[629,630,638,642,643],{"id":142,"depth":406,"text":143},{"id":238,"depth":406,"text":239,"children":631},[632,633,635,636,637],{"id":249,"depth":415,"text":250},{"id":298,"depth":415,"text":634},"Move your content into content\u002F",{"id":311,"depth":415,"text":312},{"id":339,"depth":415,"text":340},{"id":364,"depth":415,"text":365},{"id":382,"depth":406,"text":383,"children":639},[640,641],{"id":386,"depth":415,"text":387},{"id":475,"depth":415,"text":476},{"id":562,"depth":406,"text":563},{"id":595,"depth":406,"text":596},null," How to migrate your documentation from an existing Markdown solution to TockDocs","md",{},{"icon":34},{"title":31,"description":645},"LZBQjxv_oK7vu7HqKGAZ-0FBrow7OIGPl__yFOZ1Mbk",[652,654],{"title":26,"path":27,"stem":28,"description":653,"icon":29,"children":-1},"Edit your Nuxt Content website directly in production with the self-hosted Studio web editor.",{"title":36,"path":37,"stem":38,"description":655,"icon":39,"children":-1},"Common issues and their solutions when working with TockDocs.",1778495972970]