[{"data":1,"prerenderedAt":1129},["ShallowReactive",2],{"docs-navigation:de":3,"blog-posts:de":241},[4,23,44,77,118,151,171,197,221],{"title":5,"id":6,"canonicalKey":7,"locale":8,"draft":9,"navigation":10,"icon":12,"sidebar":13,"path":14,"children":15},"Dokumentation","content:de:1.dokumentation:1.erste-schritte:.navigation.yml","1","de",false,{"icon":11},"lucide:rocket","lucide:book-open","section","\u002Fde\u002Fdokumentation\u002Ferste-schritte",[16],{"title":17,"id":18,"canonicalKey":19,"locale":8,"draft":9,"navigation":20,"icon":21,"path":22},"Installation","content:de:1.dokumentation:1.erste-schritte:2.installation.md","1\u002F2",{"title":17,"icon":21},"lucide:download","\u002Fde\u002Fdokumentation\u002Ferste-schritte\u002Finstallation",{"title":24,"page":9,"canonicalKey":25,"locale":8,"id":26,"draft":9,"icon":27,"sidebar":28,"children":29},"Konzepte","2","content:de:1.dokumentation:2.konzepte:.navigation.yml","lucide:boxes","group",[30,37],{"title":31,"id":32,"canonicalKey":33,"locale":8,"draft":9,"navigation":34,"icon":35,"path":36},"Funktionsweise","content:de:1.dokumentation:2.konzepte:1.so-funktioniert-ginko-docs.md","2\u002F1",{"title":31,"icon":35},"lucide:workflow","\u002Fde\u002Fdokumentation\u002Fkonzepte\u002Fso-funktioniert-ginko-docs",{"title":38,"id":39,"canonicalKey":40,"locale":8,"draft":9,"navigation":41,"icon":42,"path":43},"Inhalte und Routen","content:de:1.dokumentation:2.konzepte:2.inhalte-und-routen.md","2\u002F2",{"icon":42},"lucide:route","\u002Fde\u002Fdokumentation\u002Fkonzepte\u002Finhalte-und-routen",{"title":45,"page":9,"canonicalKey":46,"locale":8,"id":47,"draft":9,"icon":48,"sidebar":28,"children":49},"Inhalte schreiben","3","content:de:1.dokumentation:3.inhalte:.navigation.yml","lucide:pen-line",[50,56,63,70],{"title":45,"id":51,"canonicalKey":52,"locale":8,"draft":9,"navigation":53,"icon":54,"path":55},"content:de:1.dokumentation:3.inhalte:1.inhalte-schreiben.md","3\u002F1",{"title":45,"icon":54},"lucide:file-pen-line","\u002Fde\u002Fdokumentation\u002Finhalte\u002Finhalte-schreiben",{"title":57,"id":58,"canonicalKey":59,"locale":8,"draft":9,"navigation":60,"icon":61,"path":62},"Navigation","content:de:1.dokumentation:3.inhalte:2.navigation.md","3\u002F2",{"title":57,"icon":61},"lucide:panel-left","\u002Fde\u002Fdokumentation\u002Finhalte\u002Fnavigation",{"title":64,"id":65,"canonicalKey":66,"locale":8,"draft":9,"navigation":67,"icon":68,"path":69},"Links","content:de:1.dokumentation:3.inhalte:3.links.md","3\u002F3",{"title":64,"icon":68},"lucide:link","\u002Fde\u002Fdokumentation\u002Finhalte\u002Flinks",{"title":71,"id":72,"canonicalKey":73,"locale":8,"draft":9,"navigation":74,"icon":75,"path":76},"Komponenten verwenden","content:de:1.dokumentation:3.inhalte:4.komponenten-verwenden.md","3\u002F4",{"title":71,"icon":75},"lucide:blocks","\u002Fde\u002Fdokumentation\u002Finhalte\u002Fkomponenten-verwenden",{"title":78,"page":9,"canonicalKey":79,"locale":8,"id":80,"draft":9,"icon":81,"sidebar":28,"children":82},"Funktionen","4","content:de:1.dokumentation:4.funktionen:.navigation.yml","lucide:sparkles",[83,90,97,104,111],{"title":84,"id":85,"canonicalKey":86,"locale":8,"draft":9,"navigation":87,"icon":88,"path":89},"Lokalisierung","content:de:1.dokumentation:4.funktionen:1.lokalisierung.md","4\u002F1",{"title":84},"lucide:languages","\u002Fde\u002Fdokumentation\u002Ffunktionen\u002Flokalisierung",{"title":91,"id":92,"canonicalKey":93,"locale":8,"draft":9,"navigation":94,"icon":95,"path":96},"Suche","content:de:1.dokumentation:4.funktionen:2.suche.md","4\u002F2",{"title":91},"lucide:search","\u002Fde\u002Fdokumentation\u002Ffunktionen\u002Fsuche",{"title":98,"id":99,"canonicalKey":100,"locale":8,"draft":9,"navigation":101,"icon":102,"path":103},"Blog","content:de:1.dokumentation:4.funktionen:3.blog.md","4\u002F3",{"title":98},"lucide:newspaper","\u002Fde\u002Fdokumentation\u002Ffunktionen\u002Fblog",{"title":105,"id":106,"canonicalKey":107,"locale":8,"draft":9,"navigation":108,"icon":109,"path":110},"SEO und Social Cards","content:de:1.dokumentation:4.funktionen:4.seo-und-social-cards.md","4\u002F4",{"title":105},"lucide:globe-2","\u002Fde\u002Fdokumentation\u002Ffunktionen\u002Fseo-und-social-cards",{"title":112,"id":113,"canonicalKey":114,"locale":8,"draft":9,"navigation":115,"icon":116,"path":117},"Agentenlesbare Ausgabe","content:de:1.dokumentation:4.funktionen:5.agentenlesbare-ausgabe.md","4\u002F5",{"title":112},"lucide:bot","\u002Fde\u002Fdokumentation\u002Ffunktionen\u002Fagentenlesbare-ausgabe",{"title":119,"page":9,"canonicalKey":120,"locale":8,"id":121,"draft":9,"icon":122,"sidebar":28,"children":123},"Anpassung","5","content:de:1.dokumentation:5.anpassung:.navigation.yml","lucide:paintbrush",[124,131,138,145],{"title":125,"id":126,"canonicalKey":127,"locale":8,"draft":9,"navigation":128,"icon":129,"path":130},"Website konfigurieren","content:de:1.dokumentation:5.anpassung:1.website-konfigurieren.md","5\u002F1",{"title":125},"lucide:settings-2","\u002Fde\u002Fdokumentation\u002Fanpassung\u002Fwebsite-konfigurieren",{"title":132,"id":133,"canonicalKey":134,"locale":8,"draft":9,"navigation":135,"icon":136,"path":137},"Startseite","content:de:1.dokumentation:5.anpassung:2.startseite.md","5\u002F2",{"title":132},"lucide:layout-template","\u002Fde\u002Fdokumentation\u002Fanpassung\u002Fstartseite",{"title":139,"id":140,"canonicalKey":141,"locale":8,"draft":9,"navigation":142,"icon":143,"path":144},"Design und Overrides","content:de:1.dokumentation:5.anpassung:3.design-und-overrides.md","5\u002F3",{"title":139},"lucide:palette","\u002Fde\u002Fdokumentation\u002Fanpassung\u002Fdesign-und-overrides",{"title":146,"id":147,"canonicalKey":148,"locale":8,"draft":9,"navigation":149,"icon":75,"path":150},"Eigene Komponenten","content:de:1.dokumentation:5.anpassung:4.eigene-komponenten.md","5\u002F4",{"title":146},"\u002Fde\u002Fdokumentation\u002Fanpassung\u002Feigene-komponenten",{"title":152,"page":9,"canonicalKey":153,"locale":8,"id":154,"draft":9,"icon":155,"sidebar":28,"children":156},"Betrieb","6","content:de:1.dokumentation:6.betrieb:.navigation.yml","lucide:cloud-cog",[157,164],{"title":158,"id":159,"canonicalKey":160,"locale":8,"draft":9,"navigation":161,"icon":162,"path":163},"Bereitstellung","content:de:1.dokumentation:6.betrieb:1.bereitstellung.md","6\u002F1",{"title":158,"icon":162},"lucide:cloud-upload","\u002Fde\u002Fdokumentation\u002Fbetrieb\u002Fbereitstellung",{"title":165,"id":166,"canonicalKey":167,"locale":8,"draft":9,"navigation":168,"icon":169,"path":170},"Fehlerbehebung","content:de:1.dokumentation:6.betrieb:2.fehlerbehebung.md","6\u002F2",{"title":165,"icon":169},"lucide:wrench","\u002Fde\u002Fdokumentation\u002Fbetrieb\u002Ffehlerbehebung",{"title":172,"page":9,"canonicalKey":173,"locale":8,"id":174,"draft":9,"icon":175,"sidebar":13,"children":176},"Referenz","7","content:de:1.dokumentation:7.referenz:.navigation.yml","lucide:braces",[177,184,190],{"title":178,"id":179,"canonicalKey":180,"locale":8,"draft":9,"navigation":181,"icon":182,"path":183},"Content-Konfiguration","content:de:1.dokumentation:7.referenz:1.content-config.md","7\u002F1",{"title":178,"icon":182},"lucide:database","\u002Fde\u002Fdokumentation\u002Freferenz\u002Fcontent-config",{"title":185,"id":186,"canonicalKey":187,"locale":8,"draft":9,"navigation":188,"icon":129,"path":189},"App-Konfiguration","content:de:1.dokumentation:7.referenz:2.app-config.md","7\u002F2",{"title":185,"icon":129},"\u002Fde\u002Fdokumentation\u002Freferenz\u002Fapp-config",{"title":191,"id":192,"canonicalKey":193,"locale":8,"draft":9,"navigation":194,"icon":195,"path":196},"Frontmatter und Schemas","content:de:1.dokumentation:7.referenz:3.frontmatter.md","7\u002F3",{"title":191,"icon":195},"lucide:file-json-2","\u002Fde\u002Fdokumentation\u002Freferenz\u002Ffrontmatter",{"title":198,"page":9,"canonicalKey":199,"locale":8,"id":200,"draft":9,"icon":75,"sidebar":28,"children":201},"Komponenten","8","content:de:1.dokumentation:8.komponenten:.navigation.yml",[202,208,215],{"title":203,"id":204,"canonicalKey":205,"locale":8,"draft":9,"navigation":206,"icon":75,"path":207},"MDC-Komponenten","content:de:1.dokumentation:8.komponenten:1.mdc-komponenten.md","8\u002F1",{"title":203,"icon":75},"\u002Fde\u002Fdokumentation\u002Fkomponenten\u002Fmdc-komponenten",{"title":209,"id":210,"canonicalKey":211,"locale":8,"draft":9,"navigation":212,"icon":213,"path":214},"API-Referenzpanels","content:de:1.dokumentation:8.komponenten:2.api-referenz.md","8\u002F2",{"title":209,"icon":213},"lucide:table-properties","\u002Fde\u002Fdokumentation\u002Fkomponenten\u002Fapi-referenz",{"title":216,"id":217,"canonicalKey":218,"locale":8,"draft":9,"navigation":219,"icon":75,"path":220},"Komponenten-Showcase","content:de:1.dokumentation:8.komponenten:3.komponenten-showcase.md","8\u002F3",{"title":216,"icon":75},"\u002Fde\u002Fdokumentation\u002Fkomponenten\u002Fkomponenten-showcase",{"title":222,"page":9,"canonicalKey":223,"locale":8,"id":224,"draft":9,"icon":225,"sidebar":28,"children":226},"Ressourcen","9","content:de:1.dokumentation:9.ressourcen:.navigation.yml","lucide:library",[227,234],{"title":228,"id":229,"canonicalKey":230,"locale":8,"draft":9,"navigation":231,"icon":232,"path":233},"Öffentliche Exporte","content:de:1.dokumentation:9.ressourcen:1.oeffentliche-exporte.md","9\u002F1",{"title":228,"icon":232},"lucide:package-open","\u002Fde\u002Fdokumentation\u002Fressourcen\u002Foeffentliche-exporte",{"title":235,"id":236,"canonicalKey":237,"locale":8,"draft":9,"navigation":238,"icon":239,"path":240},"Anforderungen und Upgrades","content:de:1.dokumentation:9.ressourcen:2.anforderungen-und-upgrades.md","9\u002F2",{"title":235,"icon":239},"lucide:refresh-cw","\u002Fde\u002Fdokumentation\u002Fressourcen\u002Fanforderungen-und-upgrades",[242,454,674,825],{"title":243,"description":244,"badge":245,"date":246,"readingTime":247,"author":248,"body":274,"type":436,"id":437,"canonicalKey":79,"draft":9,"partial":9,"locale":8,"collection":438,"navigationFile":9,"file":439,"sitemap":443,"route":445,"resolution":451},"Bilder verwenden, ohne den Lesefluss zu brechen","Wähle Markdown-Bilder, Figures, Abmessungen, Captions und Bleed anhand der Aufgabe des Bildes.","Bilder","2026-06-02","6 Min. Lesezeit",{"slug":249,"name":250,"role":251,"bio":252,"avatar":253,"id":254,"type":255,"title":250,"canonicalKey":256,"draft":9,"partial":9,"locale":8,"collection":257,"navigationFile":9,"file":258,"body":262,"route":263,"resolution":271},"ginko-docs-team","Ginko Docs Team","Documentation Engineering","Maintainer des Ginko-Docs-Nuxt-Layers und seiner zweisprachigen Referenz-Site.","\u002Ffavicon.svg","content:de:authors:ginko-docs-team.json","json","authors\u002Fginko-docs-team","authors",{"source":259,"path":260,"stem":261,"dir":257,"extension":255},"content","de\u002Fauthors\u002Fginko-docs-team.json","de\u002Fauthors\u002Fginko-docs-team",null,{"resolvedPath":264,"alternates":265},"\u002Fde\u002Fauthors\u002Fginko-docs-team",[266,270],{"locale":267,"path":268,"source":269},"en","\u002Fauthors\u002Fginko-docs-team","variant",{"locale":8,"path":264,"source":269},{"requested":272,"resolved":273,"usedFallback":9},{"locale":8},{"locale":8},{"type":275,"children":276,"toc":427},"root",[277,285,298,305,310,319,324,330,335,344,376,382,387,395,400,406,411,416],{"type":278,"tag":279,"props":280,"children":281},"element","p",{},[282],{"type":283,"value":284},"text","Ein Bild gehört in die Dokumentation, wenn es einen Zustand, Ablauf, Zusammenhang oder ein Ergebnis schneller erklärt als Text. Seine Darstellung folgt dieser Aufgabe. Ein Screenshot, der einen Satz unterstützt, braucht eine andere Behandlung als ein Diagramm, das Leser genau untersuchen müssen.",{"type":278,"tag":279,"props":286,"children":287},{},[288,290,296],{"type":283,"value":289},"Ginko Docs rendert normale Markdown-Bilder über Nuxt Image und kann eine Vergrößerung beim Anklicken ergänzen. Die ",{"type":278,"tag":291,"props":292,"children":293},"code",{},[294],{"type":283,"value":295},"figure",{"type":283,"value":297},"-Komponente fügt explizite Abmessungen, eine Caption, Seitenverhältnis und optionalen Bleed hinzu, ohne ein eigenes Vue-Template für die Seite zu verlangen.",{"type":278,"tag":299,"props":300,"children":302},"h2",{"id":301},"verwende-markdown-fr-bilder-im-lesefluss",[303],{"type":283,"value":304},"Verwende Markdown für Bilder im Lesefluss",{"type":278,"tag":279,"props":306,"children":307},{},[308],{"type":283,"value":309},"Nutze die normale Bildsyntax, wenn der umgebende Absatz den Kontext liefert und das Bild keine Caption benötigt.",{"type":278,"tag":279,"props":311,"children":312},{},[313],{"type":278,"tag":314,"props":315,"children":318},"img",{"src":316,"alt":317},"\u002Fimages\u002Fcontent-demo-workspace.jpg","Heller Arbeitsbereich für eine redaktionelle Planungssitzung",[],{"type":278,"tag":279,"props":320,"children":321},{},[322],{"type":283,"value":323},"Beschreibe im Alt-Text die Information, die ein Leser aus dem Bild braucht. Wiederhole nicht „Bild von“ und verwende nicht den Dateinamen. Trägt ein Bild keine Information, ist ein leerer Alt-Text besser als eine erfundene Beschreibung.",{"type":278,"tag":299,"props":325,"children":327},{"id":326},"verwende-eine-figure-fr-caption-und-stabile-geometrie",[328],{"type":283,"value":329},"Verwende eine Figure für Caption und stabile Geometrie",{"type":278,"tag":279,"props":331,"children":332},{},[333],{"type":283,"value":334},"Nutze eine Figure, wenn die Caption Bedeutung ergänzt oder explizite Abmessungen einen Layout Shift verhindern sollen.",{"type":278,"tag":295,"props":336,"children":343},{"src":337,"alt":338,"caption":339,"width":340,"height":341,"aspect":342},"\u002Fimages\u002Fcontent-demo-detail.png","Detailliertes Planungsmaterial für eine Website-Content-Sitzung","Eine Caption kann den Zustand oder die Entscheidung benennen, auf die Leser achten sollen.","1200","800","video",[],{"type":278,"tag":279,"props":345,"children":346},{},[347,349,354,356,361,363,368,369,374],{"type":283,"value":348},"Die Props ",{"type":278,"tag":291,"props":350,"children":351},{},[352],{"type":283,"value":353},"width",{"type":283,"value":355}," und ",{"type":278,"tag":291,"props":357,"children":358},{},[359],{"type":283,"value":360},"height",{"type":283,"value":362}," beschreiben das Quellbild. Dadurch reserviert der Browser den richtigen Platz, bevor die Datei geladen ist. ",{"type":278,"tag":291,"props":364,"children":365},{},[366],{"type":283,"value":367},"aspect",{"type":283,"value":355},{"type":278,"tag":291,"props":370,"children":371},{},[372],{"type":283,"value":373},"fit",{"type":283,"value":375}," steuern die Darstellung; sie sollten keinen falsch zugeschnittenen Quell-Asset ausgleichen.",{"type":278,"tag":299,"props":377,"children":379},{"id":378},"nutze-bleed-nur-fr-wichtige-details",[380],{"type":283,"value":381},"Nutze Bleed nur für wichtige Details",{"type":278,"tag":279,"props":383,"children":384},{},[385],{"type":283,"value":386},"Eine breitere Figure hilft bei dichten Diagrammen, Vergleichs-Screenshots oder redaktionellen Fotos, die innerhalb der Textspalte wichtige Details verlieren.",{"type":278,"tag":295,"props":388,"children":394},{"src":389,"alt":390,"caption":391,"width":340,"height":392,"bleed":393,"aspect":342},"\u002Fimages\u002Fcontent-demo-workshop.jpg","Workshop-Tisch mit Notizen für den Start einer mehrsprachigen Dokumentation","Ein kontrollierter Bleed schafft auf breiten Screens mehr Raum und kehrt mobil zur Inhaltsbreite zurück.","900","outside",[],{"type":278,"tag":279,"props":396,"children":397},{},[398],{"type":283,"value":399},"Verwende Bleed nicht als Dekoration auf jeder Seite. Wiederholte Breitenwechsel unterbrechen das Scannen und lassen gewöhnliche Screenshots wichtiger erscheinen als die Anleitung um sie herum.",{"type":278,"tag":299,"props":401,"children":403},{"id":402},"halte-text-und-medien-synchron",[404],{"type":283,"value":405},"Halte Text und Medien synchron",{"type":278,"tag":279,"props":407,"children":408},{},[409],{"type":283,"value":410},"Platziere ein Bild nach dem Satz, der es einführt. Erkläre die Schlussfolgerung zusätzlich im Text; ein Screenshot darf nicht der einzige Ort für einen erforderlichen Wert oder eine Fehlermeldung sein. Aktualisiere Screenshots, wenn sich Labels, Routen oder Standardwerte ändern.",{"type":278,"tag":279,"props":412,"children":413},{},[414],{"type":283,"value":415},"Bei vergrößerbaren Bildern muss die verkleinerte Ansicht das Hauptmotiv erkennen lassen und der Original-Asset scharf genug für Details sein. Ein unscharfer Screenshot wird in einem Dialog nicht hilfreicher.",{"type":278,"tag":279,"props":417,"children":418},{},[419,421,425],{"type":283,"value":420},"Der endgültige Asset braucht einen stabilen öffentlichen Pfad, aussagekräftigen Alt-Text, bei ",{"type":278,"tag":291,"props":422,"children":423},{},[424],{"type":283,"value":295},{"type":283,"value":426}," intrinsische Abmessungen und nur dann eine Caption, wenn sie Information ergänzt, die der Absatz noch nicht enthält.",{"title":428,"searchDepth":429,"depth":429,"links":430},"",4,[431,433,434,435],{"id":301,"depth":432,"text":304},2,{"id":326,"depth":432,"text":329},{"id":378,"depth":432,"text":381},{"id":402,"depth":432,"text":405},"markdown","content:de:2.blog:4.redaktionelle-bildstrecken.md","blog",{"source":259,"path":440,"stem":441,"dir":438,"extension":442},"de\u002F2.blog\u002F4.redaktionelle-bildstrecken.md","de\u002F2.blog\u002F4.redaktionelle-bildstrecken","md",{"lastmod":444},"2026-06-02T00:00:00.000Z",{"resolvedPath":446,"alternates":447},"\u002Fde\u002Fblog\u002Fredaktionelle-bildstrecken",[448,450],{"locale":267,"path":449,"source":269},"\u002Fblog\u002Feditorial-image-systems",{"locale":8,"path":446,"source":269},{"requested":452,"resolved":453,"usedFallback":9},{"locale":8},{"locale":8},{"title":455,"description":456,"badge":457,"date":458,"readingTime":247,"author":248,"body":459,"type":436,"id":658,"canonicalKey":46,"draft":9,"partial":9,"locale":8,"collection":438,"navigationFile":9,"file":659,"sitemap":662,"resolvedRefs":664,"route":665,"resolution":671},"Dokumentation für Menschen und Agenten veröffentlichen","Liefere gerenderte Seiten und maschinenlesbares Markdown aus derselben kanonischen Content-Quelle.","Agenten","2026-05-27",{"type":275,"children":460,"toc":652},[461,466,471,477,510,538,543,549,566,571,577,610,615,621,626,638],{"type":278,"tag":279,"props":462,"children":463},{},[464],{"type":283,"value":465},"Agentenlesbare Dokumentation sollte keine zweite, gekürzte Kopie der Site sein. Getrennte Content-Pipelines driften auseinander: Ein korrigiertes Beispiel erreicht die gerenderte Seite, während eine alte Antwort in einer Prompt-Datei oder einem privaten Index bleibt.",{"type":278,"tag":279,"props":467,"children":468},{},[469],{"type":283,"value":470},"Ginko Docs beginnt mit einem Dokumentmodell und erzeugt daraus mehrere Darstellungen. Leser erhalten die vollständige Nuxt-Seite. Die Suche erhält normalisierte Datensätze. Statische Bereitstellungen enthalten Raw Markdown und Kataloge. Server-Bereitstellungen können Content Negotiation und MCP-Tools ergänzen.",{"type":278,"tag":299,"props":472,"children":474},{"id":473},"behalte-explizite-markdown-urls",[475],{"type":283,"value":476},"Behalte explizite Markdown-URLs",{"type":278,"tag":279,"props":478,"children":479},{},[480,482,487,489,494,496,501,503,508],{"type":283,"value":481},"Jede öffentliche Content-Route hat unter ",{"type":278,"tag":291,"props":483,"children":484},{},[485],{"type":283,"value":486},"\u002Fraw",{"type":283,"value":488}," eine explizite Variante mit der Endung ",{"type":278,"tag":291,"props":490,"children":491},{},[492],{"type":283,"value":493},".md",{"type":283,"value":495},". Ein Link zu dieser Datei funktioniert auf einem statischen Host, mit ",{"type":278,"tag":291,"props":497,"children":498},{},[499],{"type":283,"value":500},"curl",{"type":283,"value":502}," und in Werkzeugen, die keine eigenen ",{"type":278,"tag":291,"props":504,"children":505},{},[506],{"type":283,"value":507},"Accept",{"type":283,"value":509},"-Header senden können.",{"type":278,"tag":511,"props":512,"children":516},"pre",{"language":513,"filename":514,"class":515},"bash","Terminal","shiki shiki-themes light-plus dark-plus dark:dark-plus",[517],{"type":278,"tag":291,"props":518,"children":520},{"class":519},"language-bash",[521],{"type":278,"tag":522,"props":523,"children":526},"span",{"class":524,"style":525},"line","display: inline",[527,532],{"type":278,"tag":522,"props":528,"children":530},{"style":529},"color:#795E26;--shiki-dark:#DCDCAA",[531],{"type":283,"value":500},{"type":278,"tag":522,"props":533,"children":535},{"style":534},"color:#A31515;--shiki-dark:#CE9178",[536],{"type":283,"value":537}," https:\u002F\u002Fdocs.example.com\u002Fraw\u002Fde\u002Fdokumentation\u002Ferste-schritte.md",{"type":278,"tag":279,"props":539,"children":540},{},[541],{"type":283,"value":542},"Diese Schnittstelle ist besonders portabel, weil sie sich wie eine normale generierte Datei verhält.",{"type":278,"tag":299,"props":544,"children":546},{"id":545},"verwende-kataloge-zur-erkundung",[547],{"type":283,"value":548},"Verwende Kataloge zur Erkundung",{"type":278,"tag":279,"props":550,"children":551},{},[552,557,559,564],{"type":278,"tag":291,"props":553,"children":554},{},[555],{"type":283,"value":556},"\u002Fllms.txt",{"type":283,"value":558}," enthält eine kompakte Liste verfügbarer Seiten. ",{"type":278,"tag":291,"props":560,"children":561},{},[562],{"type":283,"value":563},"\u002Fllms-full.txt",{"type":283,"value":565}," kombiniert den öffentlichen Inhalt für Clients, die einen größeren Kontext bevorzugen. Lokalisierte Sites erzeugen zusätzlich sprachspezifische Kataloge.",{"type":278,"tag":279,"props":567,"children":568},{},[569],{"type":283,"value":570},"Kataloge lösen die Erkundung, aber weder Ranking noch Zugriffsschutz. Halte private Dokumentation aus der öffentlichen Collection heraus, statt von einem LLM-Katalog Zugriffskontrolle zu erwarten.",{"type":278,"tag":299,"props":572,"children":574},{"id":573},"ergnze-laufzeitschnittstellen-bewusst",[575],{"type":283,"value":576},"Ergänze Laufzeitschnittstellen bewusst",{"type":278,"tag":279,"props":578,"children":579},{},[580,582,587,589,594,596,601,603,608],{"type":283,"value":581},"Ein Nitro-Server kann für eine normale Seiten-URL Markdown zurückgeben, wenn der Request ",{"type":278,"tag":291,"props":583,"children":584},{},[585],{"type":283,"value":586},"Accept: text\u002Fmarkdown",{"type":283,"value":588}," sendet. Er kann außerdem ",{"type":278,"tag":291,"props":590,"children":591},{},[592],{"type":283,"value":593},"\u002Fmcp",{"type":283,"value":595}," bereitstellen. Dort liefert ",{"type":278,"tag":291,"props":597,"children":598},{},[599],{"type":283,"value":600},"list-pages",{"type":283,"value":602}," den Standardkatalog und ",{"type":278,"tag":291,"props":604,"children":605},{},[606],{"type":283,"value":607},"get-page",{"type":283,"value":609}," das Raw Markdown für einen angegebenen öffentlichen Pfad.",{"type":278,"tag":279,"props":611,"children":612},{},[613],{"type":283,"value":614},"Diese Funktionen benötigen Servercode. Ein statischer Host behält die Raw-Routen und Kataloge, kann aber weder Antworten aushandeln noch MCP-Tools ausführen.",{"type":278,"tag":299,"props":616,"children":618},{"id":617},"erhalte-die-bedeutung-eigener-komponenten",[619],{"type":283,"value":620},"Erhalte die Bedeutung eigener Komponenten",{"type":278,"tag":279,"props":622,"children":623},{},[624],{"type":283,"value":625},"Standard-Markdown lässt sich direkt übertragen. Eine eigene Komponente braucht manchmal mehr Aufmerksamkeit. Ginko Docs registriert sichere Standard-Serializer für die eingebauten Tags. Sie erzeugen eine XML-ähnliche Komponentendarstellung mit statischen Props und gerenderten Kindern.",{"type":278,"tag":279,"props":627,"children":628},{},[629,631,636],{"type":283,"value":630},"Wenn eine Komponente semantische Informationen anders darstellen soll – etwa einen API-Explorer, Benchmark oder Produktstatus –, registriere einen Serializer über ",{"type":278,"tag":291,"props":632,"children":633},{},[634],{"type":283,"value":635},"@lupinum\u002Fginko-content\u002Fagent-registry",{"type":283,"value":637},". Halte ihn beim Komponentenvertrag, damit visuelle und maschinenlesbare Änderungen gemeinsam geprüft werden.",{"type":278,"tag":279,"props":639,"children":640},{},[641,643,650],{"type":283,"value":642},"Der ",{"type":278,"tag":644,"props":645,"children":647},"a",{"href":646},"$docs\u002Ffeatures\u002Fagent-readable-output",[648],{"type":283,"value":649},"Leitfaden zur agentenlesbaren Ausgabe",{"type":283,"value":651}," enthält die Bereitstellungsmatrix und Konfigurationsgrenzen. Prüfe nach einer semantischen Komponentenänderung die gerenderte Seite, Raw-Route und den Katalogeintrag; alle drei müssen dieselbe Aussage enthalten.",{"title":428,"searchDepth":429,"depth":429,"links":653},[654,655,656,657],{"id":473,"depth":432,"text":476},{"id":545,"depth":432,"text":548},{"id":573,"depth":432,"text":576},{"id":617,"depth":432,"text":620},"content:de:2.blog:3.prerender-seo-suche.md",{"source":259,"path":660,"stem":661,"dir":438,"extension":442},"de\u002F2.blog\u002F3.prerender-seo-suche.md","de\u002F2.blog\u002F3.prerender-seo-suche",{"lastmod":663},"2026-05-27T00:00:00.000Z",{"$docs\u002Ffeatures\u002Fagent-readable-output":117},{"resolvedPath":666,"alternates":667},"\u002Fde\u002Fblog\u002Fprerender-seo-suche",[668,670],{"locale":267,"path":669,"source":269},"\u002Fblog\u002Fprerender-seo-search",{"locale":8,"path":666,"source":269},{"requested":672,"resolved":673,"usedFallback":9},{"locale":8},{"locale":8},{"title":675,"description":676,"badge":677,"date":678,"readingTime":679,"author":248,"body":680,"type":436,"id":809,"canonicalKey":25,"draft":9,"partial":9,"locale":8,"collection":438,"navigationFile":9,"file":810,"sitemap":813,"resolvedRefs":815,"route":816,"resolution":822},"Eine skalierbare Dokumentationsnavigation gestalten","Halte eine wachsende Sidebar mit Bereichen, Gruppen und klarer Seitenreihenfolge vorhersehbar.","Informationsarchitektur","2026-05-20","5 Min. Lesezeit",{"type":275,"children":681,"toc":803},[682,687,692,698,703,708,714,733,738,754,759,765,770,775,781,786,791],{"type":278,"tag":279,"props":683,"children":684},{},[685],{"type":283,"value":686},"Leser verwenden eine Dokumentations-Sidebar für drei Fragen: Wo bin ich? Welche Seiten gehören zu diesem Thema? Wo finde ich eine andere Art von Antwort? Eine gute Struktur macht diese Antworten sichtbar, ohne jeden Ordner in ein Bedienelement zu verwandeln.",{"type":278,"tag":279,"props":688,"children":689},{},[690],{"type":283,"value":691},"Ginko Docs leitet die Sidebar aus dem Content-Baum ab. Dadurch bleiben Dateireihenfolge, öffentliche Routen, Breadcrumbs, Vor-\u002FZurück-Links und Suchnavigation aufeinander abgestimmt. Die Informationsarchitektur entsteht im Content und nicht in einem zweiten Frontend-Menü.",{"type":278,"tag":299,"props":693,"children":695},{"id":694},"beginne-mit-der-absicht-des-lesers",[696],{"type":283,"value":697},"Beginne mit der Absicht des Lesers",{"type":278,"tag":279,"props":699,"children":700},{},[701],{"type":283,"value":702},"Trenne lernorientierte Seiten von Nachschlagewerken. Ein Schnellstart führt zu einem funktionierenden Ergebnis. Ein Leitfaden erledigt eine Aufgabe. Eine Referenzseite beschreibt eine öffentliche Oberfläche vollständig.",{"type":278,"tag":279,"props":704,"children":705},{},[706],{"type":283,"value":707},"Stehen diese Seitentypen in einer ungegliederten Liste, erkennen Leser nicht, ob ein Link einen Ablauf erklärt oder eine Optionstabelle öffnet. Große Bereiche wie Dokumentation und Referenz schaffen die erste Entscheidung. Lokale Gruppen wie Inhalte, Funktionen oder Komponenten verkleinern die nächste.",{"type":278,"tag":299,"props":709,"children":711},{"id":710},"gib-jeder-ebene-eine-aufgabe",[712],{"type":283,"value":713},"Gib jeder Ebene eine Aufgabe",{"type":278,"tag":279,"props":715,"children":716},{},[717,719,724,726,731],{"type":283,"value":718},"Verwende ",{"type":278,"tag":291,"props":720,"children":721},{},[722],{"type":283,"value":723},"sidebar: section",{"type":283,"value":725}," für Hauptbereiche im Bereichsumschalter. Verwende ",{"type":278,"tag":291,"props":727,"children":728},{},[729],{"type":283,"value":730},"sidebar: group",{"type":283,"value":732}," für eine sichtbare Überschrift innerhalb des aktiven Bereichs. Lasse einen normalen Ordner nur dann unmarkiert, wenn seine Kinder ein echtes verschachteltes Thema bilden, das Leser ein- und ausklappen sollen.",{"type":278,"tag":279,"props":734,"children":735},{},[736],{"type":283,"value":737},"Halte den häufigsten Pfad flach:",{"type":278,"tag":511,"props":739,"children":741},{"language":283,"filename":740,"class":515},"Navigationstiefe",[742],{"type":278,"tag":291,"props":743,"children":745},{"class":744},"language-text",[746],{"type":278,"tag":522,"props":747,"children":748},{"class":524,"style":525},[749],{"type":278,"tag":522,"props":750,"children":751},{},[752],{"type":283,"value":753},"Bereich → Gruppe → Seite",{"type":278,"tag":279,"props":755,"children":756},{},[757],{"type":283,"value":758},"Eine vierte Ebene kann für echte Varianten sinnvoll sein, etwa getrennte Installationen für Nuxt und Vue. Sie sollte nicht entstehen, nur weil ein zusätzlicher Quellordner bequem war.",{"type":278,"tag":299,"props":760,"children":762},{"id":761},"indexseiten-brauchen-einen-eigenen-wert",[763],{"type":283,"value":764},"Indexseiten brauchen einen eigenen Wert",{"type":278,"tag":279,"props":766,"children":767},{},[768],{"type":283,"value":769},"Eine Indexseite ist sinnvoll, wenn sie orientiert, ein gemeinsames Konzept der Unterseiten erklärt oder bei einer Auswahl hilft. Listet sie nur dieselben Links wie die Sidebar, fügt sie einen weiteren Stopp ohne neue Information hinzu.",{"type":278,"tag":279,"props":771,"children":772},{},[773],{"type":283,"value":774},"Strukturelle Gruppen benötigen keine Indexseite. Die Sidebar kann ihr Label anzeigen, während der Bereichsumschalter zur ersten echten Seite führt.",{"type":278,"tag":299,"props":776,"children":778},{"id":777},"gestalte-desktop-und-mobil-gemeinsam",[779],{"type":283,"value":780},"Gestalte Desktop und Mobil gemeinsam",{"type":278,"tag":279,"props":782,"children":783},{},[784],{"type":283,"value":785},"Auf dem Desktop können Dokumentbaum und Inhaltsverzeichnis gleichzeitig sichtbar sein. Mobil fehlt dieser Platz. Halte beide Bedienelemente getrennt: Das eine beantwortet „Welche Seite?“, das andere „Welche Überschrift auf dieser Seite?“. Eine Zusammenlegung spart einen Button, vermischt aber zwei Navigationsmodelle.",{"type":278,"tag":279,"props":787,"children":788},{},[789],{"type":283,"value":790},"Die Suche ist ein dritter Weg und kein Ersatz für Struktur. Sie hilft Lesern, die die gesuchten Begriffe bereits kennen. Die Sidebar dient weiterhin Menschen, die das Vokabular des Produkts erst lernen.",{"type":278,"tag":279,"props":792,"children":793},{},[794,795,801],{"type":283,"value":642},{"type":278,"tag":644,"props":796,"children":798},{"href":797},"$docs\u002Fauthoring\u002Fnavigation",[799],{"type":283,"value":800},"Navigationsleitfaden",{"type":283,"value":802}," beschreibt die genauen Sidecar-Metadaten. Prüfe bei Änderungen die Struktur anhand von Leseraufgaben und Scan-Tiefe – nicht danach, ob jeder Ordner irgendwo sichtbar ist.",{"title":428,"searchDepth":429,"depth":429,"links":804},[805,806,807,808],{"id":694,"depth":432,"text":697},{"id":710,"depth":432,"text":713},{"id":761,"depth":432,"text":764},{"id":777,"depth":432,"text":780},"content:de:2.blog:2.navigationsqualitaet.md",{"source":259,"path":811,"stem":812,"dir":438,"extension":442},"de\u002F2.blog\u002F2.navigationsqualitaet.md","de\u002F2.blog\u002F2.navigationsqualitaet",{"lastmod":814},"2026-05-20T00:00:00.000Z",{"$docs\u002Fauthoring\u002Fnavigation":62},{"resolvedPath":817,"alternates":818},"\u002Fde\u002Fblog\u002Fnavigationsqualitaet",[819,821],{"locale":267,"path":820,"source":269},"\u002Fblog\u002Fnavigation-quality",{"locale":8,"path":817,"source":269},{"requested":823,"resolved":824,"usedFallback":9},{"locale":8},{"locale":8},{"title":826,"description":827,"badge":158,"date":828,"readingTime":679,"author":248,"body":829,"type":436,"id":1113,"canonicalKey":7,"draft":9,"partial":9,"locale":8,"collection":438,"navigationFile":9,"file":1114,"sitemap":1117,"resolvedRefs":1119,"route":1120,"resolution":1126},"Statische oder serverbasierte Docs bereitstellen","Entscheide anhand des benötigten Laufzeitverhaltens zwischen generierten Dateien und einem Nitro-Server.","2026-05-14",{"type":275,"children":830,"toc":1108},[831,836,841,847,852,905,910,915,921,938,943,948,954,1085,1096],{"type":278,"tag":279,"props":832,"children":833},{},[834],{"type":283,"value":835},"Eine Dokumentations-Site eignet sich oft für statisches Hosting. „Die Seiten bestehen hauptsächlich aus Markdown“ reicht als Entscheidungskriterium jedoch nicht aus. Entscheidend ist, welches Verhalten nach dem Build noch auf eingehende Requests reagieren muss.",{"type":278,"tag":279,"props":837,"children":838},{},[839],{"type":283,"value":840},"Ginko Docs unterstützt beide Modelle. Optisch unterscheiden sie sich nicht: Generierte und servergerenderte Sites verwenden dieselben Routen, dieselbe Navigation, Suche und dieselben Content-Komponenten. Der Unterschied liegt bei den Antworten, die einen laufenden Nitro-Server benötigen.",{"type":278,"tag":299,"props":842,"children":844},{"id":843},"was-ein-statischer-build-enthlt",[845],{"type":283,"value":846},"Was ein statischer Build enthält",{"type":278,"tag":279,"props":848,"children":849},{},[850],{"type":283,"value":851},"Eine generierte Site enthält die Teile, die Leser am häufigsten verwenden:",{"type":278,"tag":853,"props":854,"children":855},"ul",{},[856,862,867,872,882,900],{"type":278,"tag":857,"props":858,"children":859},"li",{},[860],{"type":283,"value":861},"vorgerenderte Dokumentations-, Blog- und Startseiten;",{"type":278,"tag":857,"props":863,"children":864},{},[865],{"type":283,"value":866},"Nuxt-Payloads für clientseitige Navigation;",{"type":278,"tag":857,"props":868,"children":869},{},[870],{"type":283,"value":871},"die MiniSearch-Daten für die Befehlszentrale;",{"type":278,"tag":857,"props":873,"children":874},{},[875,880],{"type":278,"tag":291,"props":876,"children":877},{},[878],{"type":283,"value":879},"\u002Fraw\u002F**.md",{"type":283,"value":881},"-Kopien öffentlicher Seiten;",{"type":278,"tag":857,"props":883,"children":884},{},[885,887,892,893,898],{"type":283,"value":886},"die Kataloge ",{"type":278,"tag":291,"props":888,"children":889},{},[890],{"type":283,"value":891},"llms.txt",{"type":283,"value":355},{"type":278,"tag":291,"props":894,"children":895},{},[896],{"type":283,"value":897},"llms-full.txt",{"type":283,"value":899},";",{"type":278,"tag":857,"props":901,"children":902},{},[903],{"type":283,"value":904},"Sitemap, Robots-Datei und generierte PNG-Social-Cards.",{"type":278,"tag":279,"props":906,"children":907},{},[908],{"type":283,"value":909},"Browserfunktionen laufen auch nach der Bereitstellung. Suche, Bildvergrößerung, Sprachumschalter, Banner, Plausible Analytics und die Feedback-Oberfläche benötigen keinen Node-Server.",{"type":278,"tag":279,"props":911,"children":912},{},[913],{"type":283,"value":914},"Statische Ausgabe ist deshalb ein guter Standard für öffentliche Dokumentation, deren Inhalte über einen Build veröffentlicht werden.",{"type":278,"tag":299,"props":916,"children":918},{"id":917},"was-ein-nitro-server-ergnzt",[919],{"type":283,"value":920},"Was ein Nitro-Server ergänzt",{"type":278,"tag":279,"props":922,"children":923},{},[924,926,930,932,936],{"type":283,"value":925},"Einige Funktionen hängen vom eingehenden HTTP-Request ab. Eine Nitro-Bereitstellung kann einen ",{"type":278,"tag":291,"props":927,"children":928},{},[929],{"type":283,"value":586},{"type":283,"value":931},"-Header auswerten und für die normale Seiten-URL Markdown zurückgeben. Sie kann außerdem Link-Header setzen und den schreibgeschützten MCP-Endpunkt unter ",{"type":278,"tag":291,"props":933,"children":934},{},[935],{"type":283,"value":593},{"type":283,"value":937}," bereitstellen.",{"type":278,"tag":279,"props":939,"children":940},{},[941],{"type":283,"value":942},"Ein Datei-Host kann dieses Verhalten nicht allein aus dem generierten Verzeichnis nachbilden. Er kann die expliziten Raw-Dateien und LLM-Kataloge ausliefern, aber weder eine Darstellung für dieselbe URL aushandeln noch MCP-Tools ausführen.",{"type":278,"tag":279,"props":944,"children":945},{},[946],{"type":283,"value":947},"Verwende eine Server-Bereitstellung, wenn diese Request-Schnittstellen Teil des Produkts und nicht nur eine optionale Ergänzung sind.",{"type":278,"tag":299,"props":949,"children":951},{"id":950},"triff-die-entscheidung-ausdrcklich",[952],{"type":283,"value":953},"Triff die Entscheidung ausdrücklich",{"type":278,"tag":955,"props":956,"children":957},"table",{},[958,982],{"type":278,"tag":959,"props":960,"children":961},"thead",{},[962],{"type":278,"tag":963,"props":964,"children":965},"tr",{},[966,972,977],{"type":278,"tag":967,"props":968,"children":969},"th",{},[970],{"type":283,"value":971},"Anforderung",{"type":278,"tag":967,"props":973,"children":974},{},[975],{"type":283,"value":976},"Statische Ausgabe",{"type":278,"tag":967,"props":978,"children":979},{},[980],{"type":283,"value":981},"Nitro-Server",{"type":278,"tag":983,"props":984,"children":985},"tbody",{},[986,1004,1020,1036,1053,1069],{"type":278,"tag":963,"props":987,"children":988},{},[989,995,1000],{"type":278,"tag":990,"props":991,"children":992},"td",{},[993],{"type":283,"value":994},"Gerenderte Docs- und Blogseiten",{"type":278,"tag":990,"props":996,"children":997},{},[998],{"type":283,"value":999},"Ja",{"type":278,"tag":990,"props":1001,"children":1002},{},[1003],{"type":283,"value":999},{"type":278,"tag":963,"props":1005,"children":1006},{},[1007,1012,1016],{"type":278,"tag":990,"props":1008,"children":1009},{},[1010],{"type":283,"value":1011},"Clientseitige Suche",{"type":278,"tag":990,"props":1013,"children":1014},{},[1015],{"type":283,"value":999},{"type":278,"tag":990,"props":1017,"children":1018},{},[1019],{"type":283,"value":999},{"type":278,"tag":963,"props":1021,"children":1022},{},[1023,1028,1032],{"type":278,"tag":990,"props":1024,"children":1025},{},[1026],{"type":283,"value":1027},"Raw Markdown und LLM-Kataloge",{"type":278,"tag":990,"props":1029,"children":1030},{},[1031],{"type":283,"value":999},{"type":278,"tag":990,"props":1033,"children":1034},{},[1035],{"type":283,"value":999},{"type":278,"tag":963,"props":1037,"children":1038},{},[1039,1044,1049],{"type":278,"tag":990,"props":1040,"children":1041},{},[1042],{"type":283,"value":1043},"Markdown Content Negotiation",{"type":278,"tag":990,"props":1045,"children":1046},{},[1047],{"type":283,"value":1048},"Nein",{"type":278,"tag":990,"props":1050,"children":1051},{},[1052],{"type":283,"value":999},{"type":278,"tag":963,"props":1054,"children":1055},{},[1056,1061,1065],{"type":278,"tag":990,"props":1057,"children":1058},{},[1059],{"type":283,"value":1060},"Link-Header zur Laufzeit",{"type":278,"tag":990,"props":1062,"children":1063},{},[1064],{"type":283,"value":1048},{"type":278,"tag":990,"props":1066,"children":1067},{},[1068],{"type":283,"value":999},{"type":278,"tag":963,"props":1070,"children":1071},{},[1072,1077,1081],{"type":278,"tag":990,"props":1073,"children":1074},{},[1075],{"type":283,"value":1076},"MCP-Endpunkt",{"type":278,"tag":990,"props":1078,"children":1079},{},[1080],{"type":283,"value":1048},{"type":278,"tag":990,"props":1082,"children":1083},{},[1084],{"type":283,"value":999},{"type":278,"tag":279,"props":1086,"children":1087},{},[1088,1090,1094],{"type":283,"value":1089},"Bewirb ",{"type":278,"tag":291,"props":1091,"children":1092},{},[1093],{"type":283,"value":593},{"type":283,"value":1095}," nicht auf einer Site, die nur statische Dateien ausliefert. Die Einstellungen für Seitenaktionen können den Menüeintrag ausblenden, ändern aber nicht die Fähigkeiten des Hosting-Ziels.",{"type":278,"tag":279,"props":1097,"children":1098},{},[1099,1100,1106],{"type":283,"value":642},{"type":278,"tag":644,"props":1101,"children":1103},{"href":1102},"$docs\u002Foperations\u002Fdeployment",[1104],{"type":283,"value":1105},"Leitfaden zur Bereitstellung",{"type":283,"value":1107}," enthält die Befehle und Ausgabekontrollen für beide Ziele. Teste das bereitgestellte Artefakt; ein funktionierender Entwicklungsserver beweist das Verhalten des gewählten Hostings nicht.",{"title":428,"searchDepth":429,"depth":429,"links":1109},[1110,1111,1112],{"id":843,"depth":432,"text":846},{"id":917,"depth":432,"text":920},{"id":950,"depth":432,"text":953},"content:de:2.blog:1.statische-docs-pipeline.md",{"source":259,"path":1115,"stem":1116,"dir":438,"extension":442},"de\u002F2.blog\u002F1.statische-docs-pipeline.md","de\u002F2.blog\u002F1.statische-docs-pipeline",{"lastmod":1118},"2026-05-14T00:00:00.000Z",{"$docs\u002Foperations\u002Fdeployment":163},{"resolvedPath":1121,"alternates":1122},"\u002Fde\u002Fblog\u002Fstatische-docs-pipeline",[1123,1125],{"locale":267,"path":1124,"source":269},"\u002Fblog\u002Fstatic-docs-pipeline",{"locale":8,"path":1121,"source":269},{"requested":1127,"resolved":1128,"usedFallback":9},{"locale":8},{"locale":8},1786530426266]