[{"data":1,"prerenderedAt":1866},["ShallowReactive",2],{"duxt-navigation-docs-docs_de":3,"i-lucide:rocket":833,"i-lucide:compass":838,"i-lucide:book-open":840,"i-lucide:ruler":842,"i-lucide:gavel":844,"i-lucide:list":846,"i-lucide:settings":848,"i-lucide:tag":850,"i-lucide:git-branch":852,"i-lucide:file-code":854,"i-lucide:blocks":856,"i-lucide:component":858,"i-lucide:function-square":860,"i-lucide:route":862,"i-lucide:wrench":864,"i-lucide:plug":866,"i-lucide:chevron-right":868,"i-lucide:menu":870,"i-lucide:chevron-down":872,"i-lucide:search":874,"i-simple-icons:github":876,"i-flag:de-4x3":878,"i-lucide:moon":882,"docs-de-DE-\u002Freference\u002Fsources":884,"i-lucide:copy":1844,"i-lucide:thumbs-up":1846,"i-lucide:thumbs-down":1848,"i-lucide:star":1850,"i-lucide:circle-alert":1852,"i-simple-icons:discord":1854,"i-lucide:book-open-text":1856,"i-lucide:arrow-up-right":1858,"i-lucide:pencil":1860,"duxt-code-ts-refs: [\n  'main',                                     \u002F\u002F ein Branch\n  { branch: 'next', status: 'upcoming' },     \u002F\u002F derselbe, mit einem Lebenszyklus\n  { tag: 'v2.0.0', label: 'v2' },             \u002F\u002F ein Tag\n  'latest'                                    \u002F\u002F der neueste Semver-Tag, im Build aufgelöst\n]\n":785,"duxt-code-ts-locales: [\n  'en-GB',                                              \u002F\u002F der Standard: docs\u002F selbst\n  'de',                                                 \u002F\u002F docs\u002Fde\u002F\n  { locale: 'fr', path: 'translations\u002Ffr' },            \u002F\u002F woanders in diesem Repository\n  { locale: 'es', repo: 'acme\u002Fdocs-es', path: 'docs' }  \u002F\u002F ein anderes Repository\n]\n":785,"duxt-code-ts-refs: [\n  { tag: 'v2.0.0' },                     \u002F\u002F erbt die Locales der Quelle\n  { tag: 'v1.0.0', locales: ['en-GB'] }  \u002F\u002F nur das Original\n]\n":785,"i-lucide:arrow-left":1862,"i-lucide:arrow-right":1864},[4,25,94,148,744,752,772,827],{"title":5,"path":6,"stem":7,"children":8,"description":12},"Einführung","\u002Fgetting-started","1.getting-started",[9,13,19],{"title":5,"path":6,"stem":10,"icon":11,"description":12},"1.getting-started\u002Findex","lucide:rocket","Was duxt ist, und was mit einer einzigen Konfigurationszeile ankommt.",{"title":14,"path":15,"stem":16,"icon":17,"description":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F1.installation","lucide:download","Ebene einbinden, erweitern, Markdown schreiben.",{"title":20,"path":21,"stem":22,"icon":23,"description":24},"Konfiguration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F2.configuration","lucide:settings","Eine Datei konfiguriert die ganze Seite — was hineingehört, und wie sie zusammengeführt wird.",{"title":26,"path":27,"stem":28,"children":29,"description":33},"Konzepte","\u002Fconcepts","2.concepts",[30,34,40,46,52,58,64,70,76,82,88],{"title":26,"path":27,"stem":31,"icon":32,"description":33},"2.concepts\u002Findex","lucide:compass","Wie die Ebene funktioniert — das Quellenmodell, das URL-Schema, die Collections und die Prüfungen.",{"title":35,"path":36,"stem":37,"icon":38,"description":39},"Ebenen und Überschreiben","\u002Fconcepts\u002Flayers","2.concepts\u002F1.layers","lucide:layers","Was eine Nuxt-Ebene dir gibt, was sie dir nimmt, und welche Pfade nicht so auflösen, wie sie sich lesen.",{"title":41,"path":42,"stem":43,"icon":44,"description":45},"Theming","\u002Fconcepts\u002Ftheming","2.concepts\u002F10.theming","lucide:palette","Wie das Theme gebaut ist — eigene Komponenten, eine Token-Ebene und ein Dark Mode, der über eine Klasse schaltet.",{"title":47,"path":48,"stem":49,"icon":50,"description":51},"Quellen","\u002Fconcepts\u002Fsources","2.concepts\u002F2.sources","lucide:git-branch","Eine Liste von Quellen wird zu jeder Collection, jedem Präfix und jeder Version, die die Seite ausliefert.",{"title":53,"path":54,"stem":55,"icon":56,"description":57},"URLs und Versionen","\u002Fconcepts\u002Furls-and-versions","2.concepts\u002F3.urls-and-versions","lucide:git-compare","Wie die Repository- und Versionssegmente erscheinen, und was einem Leser in einer alten Version gesagt wird.",{"title":59,"path":60,"stem":61,"icon":62,"description":63},"Collections","\u002Fconcepts\u002Fcollections","2.concepts\u002F4.collections","lucide:database","Was Content aus den Quellen baut, und die vier Dinge, die das Schema hinzufügt.",{"title":65,"path":66,"stem":67,"icon":68,"description":69},"Generierte Sektionen","\u002Fconcepts\u002Fgenerated-sections","2.concepts\u002F5.generated-sections","lucide:file-cog","Ein Artefakt plus ein Typ, als Seiten veröffentlicht — was die Registry ist, und welche zwei Richtlinien ein Typ beantwortet.",{"title":71,"path":72,"stem":73,"icon":74,"description":75},"Was der Build prüft","\u002Fconcepts\u002Fbuild-checks","2.concepts\u002F6.build-checks","lucide:shield-check","Die stillen Fehlschläge dieser Ebene, in Meldungen verwandelt.",{"title":77,"path":78,"stem":79,"icon":80,"description":81},"Maschinelle Leser","\u002Fconcepts\u002Fmachine-readers","2.concepts\u002F7.machine-readers","lucide:bot","Was ein Modell bekommt — llms.txt, das rohe Markdown jeder Seite und ein echter MCP-Server.",{"title":83,"path":84,"stem":85,"icon":86,"description":87},"SEO","\u002Fconcepts\u002Fseo","2.concepts\u002F8.seo","lucide:search","Was jede Seite für Crawler und Social Cards ausgibt, welches Modul es schreibt, und der eine Wert, den die Ebene nicht erraten kann.",{"title":89,"path":90,"stem":91,"icon":92,"description":93},"Lokalisierung","\u002Fconcepts\u002Flocalisation","2.concepts\u002F9.localisation","lucide:languages","Sieben Locales bringt die Ebene mit, und jede konfigurierte Zeichenkette hat drei Formen.",{"title":95,"path":96,"stem":97,"children":98,"description":102},"Anleitungen","\u002Fguides","3.guides",[99,103,109,114,119,124,130,136,142],{"title":95,"path":96,"stem":100,"icon":101,"description":102},"3.guides\u002Findex","lucide:book-open","Eine Aufgabe je Seite, von vorn bis hinten — mehrere Repositories, mehrere Versionen, mehrere Sprachen und ein Deployment.",{"title":104,"path":105,"stem":106,"icon":107,"description":108},"Mehrere Repositories","\u002Fguides\u002Fseveral-repositories","3.guides\u002F1.several-repositories","lucide:folder-git","Die Dokumentation mehrerer Projekte von einer Seite ausliefern.",{"title":110,"path":111,"stem":112,"icon":56,"description":113},"Mehrere Versionen","\u002Fguides\u002Fseveral-versions","3.guides\u002F2.several-versions","Dieselbe Dokumentation an mehreren Refs ausliefern, mit Umschalter und Banner.",{"title":115,"path":116,"stem":117,"icon":92,"description":118},"Mehrere Sprachen","\u002Fguides\u002Fseveral-languages","3.guides\u002F3.several-languages","Die Oberfläche in mehreren Sprachen ausliefern — und die Seiten selbst übersetzen.",{"title":120,"path":121,"stem":122,"icon":44,"description":123},"Das Theme überschreiben","\u002Fguides\u002Foverride-the-theme","3.guides\u002F4.override-the-theme","Eine Farbe ändern, eine Komponente ersetzen, ein shadcn-vue-Primitiv hinzufügen.",{"title":125,"path":126,"stem":127,"icon":128,"description":129},"Eine Seite verschieben","\u002Fguides\u002Fmove-a-page","3.guides\u002F5.move-a-page","lucide:signpost","redirectFrom im Frontmatter, in Routenregeln unter jedem Präfix übersetzt.",{"title":131,"path":132,"stem":133,"icon":134,"description":135},"Eine Seite ausliefern","\u002Fguides\u002Fdeploy-a-site","3.guides\u002F6.deploy-a-site","lucide:cloud-upload","Wo eine duxt-Seite laufen kann, was sie dort braucht, und warum Inhalte nicht zur Laufzeit aufgefrischt werden.",{"title":137,"path":138,"stem":139,"icon":140,"description":141},"Seiten-Feedback sammeln","\u002Fguides\u002Fcollect-page-feedback","3.guides\u002F7.collect-page-feedback","lucide:thumbs-up","DuxtPageFeedback umhüllen und die Antwort dort behalten, wo deine Analytik ohnehin liegt.",{"title":143,"path":144,"stem":145,"icon":146,"description":147},"Deiner Website eine Marke geben","\u002Fguides\u002Fbrand-your-site","3.guides\u002F8.brand-your-site","lucide:badge-check","Name, Wortmarke und Icons setzen, damit die Website als deine gelesen wird und nicht als die der Ebene.",{"title":149,"path":150,"stem":151,"children":152,"description":156},"Referenz","\u002Freference","4.reference",[153,157,161,193,197,203,343,490,612,657,717],{"title":149,"path":150,"stem":154,"icon":155,"description":156},"4.reference\u002Findex","lucide:list","Die öffentliche Oberfläche der Ebene — Konfigurationsschlüssel, Frontmatter, Komponenten, Composables und Endpunkte.",{"title":20,"path":158,"stem":159,"icon":23,"description":160},"\u002Freference\u002Fconfiguration","4.reference\u002F1.configuration","Jeder Schlüssel unter duxt in app.config.ts — was er steuert, und wann er gelesen wird.",{"title":162,"path":163,"stem":164,"children":165,"icon":167,"description":168},"Changelog","\u002Freference\u002Fchangelog","4.reference\u002F10.changelog\u002Findex",[166,169,175,181,187],{"title":162,"path":163,"stem":164,"icon":167,"description":168},"lucide:tag","Ein Release-Log, als Seiten veröffentlicht — eine Zeitleiste, eine Seite pro Release, und ein Feed.",{"title":170,"path":171,"stem":172,"icon":173,"description":174},"Die Sektion deklarieren","\u002Freference\u002Fchangelog\u002Fsection","4.reference\u002F10.changelog\u002F1.section","lucide:file-clock","Der Sektionstyp `changelog` — wo die Datei liegt, und welche zwei Richtlinien er beantwortet.",{"title":176,"path":177,"stem":178,"icon":179,"description":180},"Granularität","\u002Freference\u002Fchangelog\u002Fgranularity","4.reference\u002F10.changelog\u002F2.granularity","lucide:split","Eine Seite pro Release, oder die Datei als die eine Seite, als die sie geschrieben wurde.",{"title":182,"path":183,"stem":184,"icon":185,"description":186},"Was gelesen wird","\u002Freference\u002Fchangelog\u002Fwhat-is-read","4.reference\u002F10.changelog\u002F3.what-is-read","lucide:scan-text","Welche Überschriften zu Releases werden, welche zu Gruppen, und was mit dem Rest passiert.",{"title":188,"path":189,"stem":190,"icon":191,"description":192},"Layout und Komponenten","\u002Freference\u002Fchangelog\u002Fcomponents","4.reference\u002F10.changelog\u002F4.components","lucide:box","Das Layout, in dem eine getrennte Historie rendert, und die zwei MDC-Komponenten, aus denen ihre Seiten bestehen.",{"title":47,"path":194,"stem":195,"icon":50,"description":196},"\u002Freference\u002Fsources","4.reference\u002F2.sources","Die Felder eines Quelleneintrags, seine Refs, und die Optionen, die die URLs formen.",{"title":198,"path":199,"stem":200,"icon":201,"description":202},"Frontmatter","\u002Freference\u002Ffrontmatter","4.reference\u002F3.frontmatter","lucide:file-code","Die Felder, die eine Seite über Titel und Beschreibung hinaus tragen darf, und die zwei, die der Build füllt.",{"title":204,"path":205,"stem":206,"children":207,"icon":209,"description":210},"MDC-Komponenten","\u002Freference\u002Fmdc-components","4.reference\u002F4.mdc-components\u002Findex",[208,211,217,223,229,235,241,247,253,259,297,303,308,314,320,326,332,338],{"title":204,"path":205,"stem":206,"icon":209,"description":210},"lucide:blocks","Die Blöcke, die eine Markdown-Seite aufrufen kann, je eine Seite, mit ihren Props.",{"title":212,"path":213,"stem":214,"icon":215,"description":216},"Callout","\u002Freference\u002Fmdc-components\u002Fcallout","4.reference\u002F4.mdc-components\u002F1.callout","lucide:message-square-warning","Ein Einschub, an dem der Leser innehalten soll — ein Tipp, eine Warnung, eine Gefahr.",{"title":218,"path":219,"stem":220,"icon":221,"description":222},"Paketmanager","\u002Freference\u002Fmdc-components\u002Fpackage-managers","4.reference\u002F4.mdc-components\u002F10.package-managers","lucide:package","Ein Befehl, ein Tab je Paketmanager, über Seiten hinweg gemerkt.",{"title":224,"path":225,"stem":226,"icon":227,"description":228},"Dateibaum","\u002Freference\u002Fmdc-components\u002Ffile-tree","4.reference\u002F4.mdc-components\u002F11.file-tree","lucide:folder-tree","Eine Ordnerstruktur, mit Icons je Dateityp.",{"title":230,"path":231,"stem":232,"icon":233,"description":234},"Vorschau","\u002Freference\u002Fmdc-components\u002Fpreview","4.reference\u002F4.mdc-components\u002F12.preview","lucide:eye","Eine Komponente, so gerendert, wie die Seite sie rendert, mit ihrem Quelltext daneben.",{"title":236,"path":237,"stem":238,"icon":239,"description":240},"Seitenkarten","\u002Freference\u002Fmdc-components\u002Fpage-cards","4.reference\u002F4.mdc-components\u002F13.page-cards","lucide:layout-grid","Die Kinder einer Sektion, als Karten.",{"title":242,"path":243,"stem":244,"icon":245,"description":246},"Partial","\u002Freference\u002Fmdc-components\u002Fpartial","4.reference\u002F4.mdc-components\u002F14.partial","lucide:puzzle","Ein Block, einmal geschrieben und in jeder Quelle gerendert, die ihn braucht.",{"title":248,"path":249,"stem":250,"icon":251,"description":252},"Since","\u002Freference\u002Fmdc-components\u002Fsince","4.reference\u002F4.mdc-components\u002F15.since","lucide:milestone","Die Version, in der etwas kam, neben einer Überschrift.",{"title":254,"path":255,"stem":256,"icon":257,"description":258},"Mermaid","\u002Freference\u002Fmdc-components\u002Fmermaid","4.reference\u002F4.mdc-components\u002F16.mermaid","lucide:workflow","Ein Diagramm aus einem Fence oder einem Prop.",{"title":260,"path":261,"stem":262,"children":263,"icon":265,"description":266},"Prose-Overrides","\u002Freference\u002Fmdc-components\u002Fprose","4.reference\u002F4.mdc-components\u002F17.prose\u002Findex",[264,267,273,279,285,291],{"title":260,"path":261,"stem":262,"icon":265,"description":266},"lucide:type","Was die Ebene an schlichtem Markdown ändert — Links, Überschriften, Bilder, Code und Tabellen.",{"title":268,"path":269,"stem":270,"icon":271,"description":272},"ProseA","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-a","4.reference\u002F4.mdc-components\u002F17.prose\u002F1.prose-a","lucide:link","Ein Link, aufgelöst gegen die Quelle, in der er geschrieben wurde.",{"title":274,"path":275,"stem":276,"icon":277,"description":278},"ProseH2, ProseH3, ProseH4","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-headings","4.reference\u002F4.mdc-components\u002F17.prose\u002F2.prose-headings","lucide:heading","Überschriften, jede mit einem Permalink-Anker.",{"title":280,"path":281,"stem":282,"icon":283,"description":284},"ProseImg","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-img","4.reference\u002F4.mdc-components\u002F17.prose\u002F3.prose-img","lucide:image","Ein Bild: Theme-bewusst und zoombar.",{"title":286,"path":287,"stem":288,"icon":289,"description":290},"ProsePre","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-pre","4.reference\u002F4.mdc-components\u002F17.prose\u002F4.prose-pre","lucide:terminal","Der Code-Block: Dateiname, Sprach-Icon, Kopier-Button.",{"title":292,"path":293,"stem":294,"icon":295,"description":296},"ProseTable","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-table","4.reference\u002F4.mdc-components\u002F17.prose\u002F5.prose-table","lucide:table","Eine Tabelle, die scrollt statt der Seite.",{"title":298,"path":299,"stem":300,"icon":301,"description":302},"Schritte","\u002Freference\u002Fmdc-components\u002Fsteps","4.reference\u002F4.mdc-components\u002F2.steps","lucide:list-ordered","Eine geordnete Liste, gezeichnet als nummerierte Schritte an einer Schiene.",{"title":304,"path":305,"stem":306,"icon":201,"description":307},"Code-Gruppe","\u002Freference\u002Fmdc-components\u002Fcode-group","4.reference\u002F4.mdc-components\u002F3.code-group","Mehrere Fences als ein Block mit Tabs, beschriftet mit dem Dateinamen.",{"title":309,"path":310,"stem":311,"icon":312,"description":313},"Tab-Gruppe","\u002Freference\u002Fmdc-components\u002Ftab-group","4.reference\u002F4.mdc-components\u002F4.tab-group","lucide:panels-top-left","Tabs für alles, was kein Code ist.",{"title":315,"path":316,"stem":317,"icon":318,"description":319},"Tab","\u002Freference\u002Fmdc-components\u002Ftab","4.reference\u002F4.mdc-components\u002F5.tab","lucide:square","Ein Panel einer Tab-Gruppe.",{"title":321,"path":322,"stem":323,"icon":324,"description":325},"Accordion","\u002Freference\u002Fmdc-components\u002Faccordion","4.reference\u002F4.mdc-components\u002F6.accordion","lucide:chevrons-up-down","Aufklappbare Abschnitte — eine FAQ, oder Antworten, aus denen ein Leser wählt.",{"title":327,"path":328,"stem":329,"icon":330,"description":331},"Accordion-Element","\u002Freference\u002Fmdc-components\u002Faccordion-item","4.reference\u002F4.mdc-components\u002F7.accordion-item","lucide:chevron-down","Ein aufklappbarer Abschnitt.",{"title":333,"path":334,"stem":335,"icon":336,"description":337},"Feldgruppe","\u002Freference\u002Fmdc-components\u002Ffield-group","4.reference\u002F4.mdc-components\u002F8.field-group","lucide:list-tree","Eine Liste von Feldern als ein Block.",{"title":339,"path":340,"stem":341,"icon":167,"description":342},"Feld","\u002Freference\u002Fmdc-components\u002Ffield","4.reference\u002F4.mdc-components\u002F9.field","Ein Parameter, eine Eigenschaft oder eine Option, mit Typ und Standard.",{"title":344,"path":345,"stem":346,"children":347,"icon":349,"description":350},"Komponenten","\u002Freference\u002Fcomponents","4.reference\u002F5.components\u002Findex",[348,351,371,412,459],{"title":344,"path":345,"stem":346,"icon":349,"description":350},"lucide:component","Die eigenen Komponenten der Ebene, je eine Seite — wofür jede da ist, und was sie nimmt.",{"title":352,"path":353,"stem":354,"children":355,"icon":357,"description":358},"Layout","\u002Freference\u002Fcomponents\u002Flayout","4.reference\u002F5.components\u002F1.layout\u002Findex",[356,359,365],{"title":352,"path":353,"stem":354,"icon":357,"description":358},"lucide:layout-panel-top","Die zwei Komponenten, die eine Seite rahmen — die Navigationsleiste und der Fußbereich.",{"title":360,"path":361,"stem":362,"icon":363,"description":364},"DuxtHeader","\u002Freference\u002Fcomponents\u002Flayout\u002Fduxt-header","4.reference\u002F5.components\u002F1.layout\u002F1.duxt-header","lucide:panel-top","Die Navbar: Titel, Navigation, Suche und die Icon-Links.",{"title":366,"path":367,"stem":368,"icon":369,"description":370},"DuxtFooter","\u002Freference\u002Fcomponents\u002Flayout\u002Fduxt-footer","4.reference\u002F5.components\u002F1.layout\u002F2.duxt-footer","lucide:panel-bottom","Der Fußbereich: der Name der Seite, ihre rechtlichen Links und die eigene Zeile der Ebene.",{"title":372,"path":373,"stem":374,"children":375,"icon":32,"description":377},"Navigation","\u002Freference\u002Fcomponents\u002Fnavigation","4.reference\u002F5.components\u002F2.navigation\u002Findex",[376,378,384,389,395,401,406],{"title":372,"path":373,"stem":374,"icon":32,"description":377},"Sich zurechtfinden — die Sektionszeile, die Seitenleiste, die Spur, das Inhaltsverzeichnis und vor\u002Fzurück.",{"title":379,"path":380,"stem":381,"icon":382,"description":383},"DuxtSections","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-sections","4.reference\u002F5.components\u002F2.navigation\u002F1.duxt-sections","lucide:rows-3","Die zweite Navigationszeile — die obersten Teile der Dokumentation.",{"title":385,"path":386,"stem":387,"icon":336,"description":388},"DuxtNavigation","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-navigation","4.reference\u002F5.components\u002F2.navigation\u002F2.duxt-navigation","Der Baum der Seitenleiste.",{"title":390,"path":391,"stem":392,"icon":393,"description":394},"DuxtNavigationLink","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-navigation-link","4.reference\u002F5.components\u002F2.navigation\u002F3.duxt-navigation-link","lucide:link-2","Ein Eintrag der Seitenleiste.",{"title":396,"path":397,"stem":398,"icon":399,"description":400},"DuxtBreadcrumb","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-breadcrumb","4.reference\u002F5.components\u002F2.navigation\u002F4.duxt-breadcrumb","lucide:chevrons-right","Die Spur über dem Seitentitel.",{"title":402,"path":403,"stem":404,"icon":155,"description":405},"DuxtToc","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-toc","4.reference\u002F5.components\u002F2.navigation\u002F5.duxt-toc","Das Inhaltsverzeichnis und der Nebenbereich darunter.",{"title":407,"path":408,"stem":409,"icon":410,"description":411},"DuxtPageNav","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-page-nav","4.reference\u002F5.components\u002F2.navigation\u002F6.duxt-page-nav","lucide:arrow-left-right","Zurück und weiter, begrenzt durch die Sektion.",{"title":413,"path":414,"stem":415,"children":416,"icon":418,"description":419},"Bedienelemente","\u002Freference\u002Fcomponents\u002Fcontrols","4.reference\u002F5.components\u002F3.controls\u002Findex",[417,420,425,430,436,441,447,453],{"title":413,"path":414,"stem":415,"icon":418,"description":419},"lucide:sliders-horizontal","Was ein Leser bedient — die Suche, die Umschalter, die Tastenkürzel-Übersicht und zwei Anzeigen.",{"title":421,"path":422,"stem":423,"icon":86,"description":424},"DuxtSearch","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-search","4.reference\u002F5.components\u002F3.controls\u002F1.duxt-search","Suche über jede Quelle hinweg, gemeinsam bewertet.",{"title":426,"path":427,"stem":428,"icon":38,"description":429},"DuxtVersion","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-version","4.reference\u002F5.components\u002F3.controls\u002F2.duxt-version","Das Versions-Abzeichen, und der Umschalter, wenn es mehr als eine gibt.",{"title":431,"path":432,"stem":433,"icon":434,"description":435},"DuxtVersionBanner","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-version-banner","4.reference\u002F5.components\u002F3.controls\u002F3.duxt-version-banner","lucide:triangle-alert","Der Balken, der einem Leser sagt, dass diese Version nicht die aktuelle ist.",{"title":437,"path":438,"stem":439,"icon":92,"description":440},"DuxtLocale","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-locale","4.reference\u002F5.components\u002F3.controls\u002F4.duxt-locale","Der Sprachumschalter.",{"title":442,"path":443,"stem":444,"icon":445,"description":446},"DuxtProgress","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-progress","4.reference\u002F5.components\u002F3.controls\u002F5.duxt-progress","lucide:loader","Wie weit unten auf der Seite der Leser ist.",{"title":448,"path":449,"stem":450,"icon":451,"description":452},"DuxtShortcuts","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-shortcuts","4.reference\u002F5.components\u002F3.controls\u002F6.duxt-shortcuts","lucide:keyboard","Die Übersicht der Tastenkürzel, auf ?.",{"title":454,"path":455,"stem":456,"icon":457,"description":458},"DuxtSkipLink","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-skip-link","4.reference\u002F5.components\u002F3.controls\u002F7.duxt-skip-link","lucide:skip-forward","Das erste fokussierbare Element auf der Seite.",{"title":460,"path":461,"stem":462,"children":463,"icon":465,"description":466},"Seite","\u002Freference\u002Fcomponents\u002Fpage","4.reference\u002F5.components\u002F4.page\u002Findex",[464,467,473,479,484],{"title":460,"path":461,"stem":462,"icon":465,"description":466},"lucide:file-text","Die Komponenten, die zur Seite selbst gehören.",{"title":468,"path":469,"stem":470,"icon":471,"description":472},"DuxtPageInfo","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-page-info","4.reference\u002F5.components\u002F4.page\u002F1.duxt-page-info","lucide:git-commit-horizontal","Woher die Seite kommt: Bearbeiten-Link, letzte Änderung, Mitwirkende.",{"title":474,"path":475,"stem":476,"icon":477,"description":478},"DuxtCopyPage","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-copy-page","4.reference\u002F5.components\u002F4.page\u002F2.duxt-copy-page","lucide:clipboard-copy","Diese Seite an ein Modell übergeben — oder ihre Quelle lesen.",{"title":480,"path":481,"stem":482,"icon":140,"description":483},"DuxtPageFeedback","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-page-feedback","4.reference\u002F5.components\u002F4.page\u002F3.duxt-page-feedback","„War diese Seite hilfreich?“ — ein Ereignis, und kein Backend.",{"title":485,"path":486,"stem":487,"icon":488,"description":489},"DuxtCodeBlock","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-code-block","4.reference\u002F5.components\u002F4.page\u002F4.duxt-code-block","lucide:code","Die Karte um einen Codeblock.",{"title":491,"path":492,"stem":493,"children":494,"icon":496,"description":497},"Composables","\u002Freference\u002Fcomposables","4.reference\u002F6.composables\u002Findex",[495,498,532,561],{"title":491,"path":492,"stem":493,"icon":496,"description":497},"lucide:function-square","Die Funktionen, die die Ebene deinen eigenen Komponenten offenlegt, je eine Seite.",{"title":499,"path":500,"stem":501,"children":502,"icon":62,"description":504},"Konfiguration und Inhalt","\u002Freference\u002Fcomposables\u002Fconfig-and-content","4.reference\u002F6.composables\u002F1.config-and-content\u002Findex",[503,505,510,516,521,527],{"title":499,"path":500,"stem":501,"icon":62,"description":504},"Die zusammengeführte Konfiguration, und welche Collection die gerade gelesene Seite ausliefert.",{"title":506,"path":507,"stem":508,"icon":23,"description":509},"useDuxtConfig()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-config","4.reference\u002F6.composables\u002F1.config-and-content\u002F1.use-duxt-config","Die zusammengeführte Konfiguration, jedes Textfeld bereits aufgelöst.",{"title":511,"path":512,"stem":513,"icon":514,"description":515},"useDuxtCollection()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-collection","4.reference\u002F6.composables\u002F1.config-and-content\u002F2.use-duxt-collection","lucide:library","Welche Collection diese Route bedient.",{"title":517,"path":518,"stem":519,"icon":336,"description":520},"useDuxtNavigation()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-navigation","4.reference\u002F6.composables\u002F1.config-and-content\u002F3.use-duxt-navigation","Der Navigationsbaum der Collection, die diese Route bedient.",{"title":522,"path":523,"stem":524,"icon":525,"description":526},"useDuxtSection()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-section","4.reference\u002F6.composables\u002F1.config-and-content\u002F4.use-duxt-section","lucide:folder-open","Der Teil der Dokumentation, in dem diese Seite liegt.",{"title":528,"path":529,"stem":530,"icon":399,"description":531},"useDuxtBreadcrumb()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-breadcrumb","4.reference\u002F6.composables\u002F1.config-and-content\u002F5.use-duxt-breadcrumb","Die Spur von der Sektion hinunter zu einer Seite.",{"title":533,"path":534,"stem":535,"children":536,"icon":538,"description":539},"Pfade und Versionen","\u002Freference\u002Fcomposables\u002Fpaths-and-versions","4.reference\u002F6.composables\u002F2.paths-and-versions\u002Findex",[537,540,545,550,555],{"title":533,"path":534,"stem":535,"icon":538,"description":539},"lucide:route","Eine URL lesen, eine zurückschreiben, und wissen, welche Version gerade gelesen wird.",{"title":541,"path":542,"stem":543,"icon":251,"description":544},"useDuxtPath()","\u002Freference\u002Fcomposables\u002Fpaths-and-versions\u002Fuse-duxt-path","4.reference\u002F6.composables\u002F2.paths-and-versions\u002F1.use-duxt-path","Der Pfad, unter dem die Dokumentation liegt, ohne Locale-Segment.",{"title":546,"path":547,"stem":548,"icon":271,"description":549},"useDuxtLink()","\u002Freference\u002Fcomposables\u002Fpaths-and-versions\u002Fuse-duxt-link","4.reference\u002F6.composables\u002F2.paths-and-versions\u002F2.use-duxt-link","Ein Dokumentationspfad, wieder als Link ausgeschrieben.",{"title":551,"path":552,"stem":553,"icon":38,"description":554},"useDuxtVersion()","\u002Freference\u002Fcomposables\u002Fpaths-and-versions\u002Fuse-duxt-version","4.reference\u002F6.composables\u002F2.paths-and-versions\u002F3.use-duxt-version","Was der Umschalter zeigt, was das Banner sagt, ob indexiert wird.",{"title":556,"path":557,"stem":558,"icon":559,"description":560},"useDuxtSiteUrl()","\u002Freference\u002Fcomposables\u002Fpaths-and-versions\u002Fuse-duxt-site-url","4.reference\u002F6.composables\u002F2.paths-and-versions\u002F4.use-duxt-site-url","lucide:globe","Der konfigurierte Ursprung, und Pfade absolut gemacht.",{"title":562,"path":563,"stem":564,"children":565,"icon":101,"description":567},"Leseerlebnis","\u002Freference\u002Fcomposables\u002Freading","4.reference\u002F6.composables\u002F3.reading\u002Findex",[566,568,573,579,584,590,596,601,607],{"title":562,"path":563,"stem":564,"icon":101,"description":567},"Suche, Überschriften, Fokus, Verlauf und die Entscheidungen, die ein Leser trifft.",{"title":569,"path":570,"stem":571,"icon":86,"description":572},"useDuxtSearch()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-search","4.reference\u002F6.composables\u002F3.reading\u002F1.use-duxt-search","Suche über jede Quelle, gemeinsam bewertet.",{"title":574,"path":575,"stem":576,"icon":577,"description":578},"useFuzzySearch()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-fuzzy-search","4.reference\u002F6.composables\u002F3.reading\u002F2.use-fuzzy-search","lucide:spell-check","Tippfehlertoleranz neben dem exakten Index.",{"title":580,"path":581,"stem":582,"icon":277,"description":583},"useActiveHeading()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-active-heading","4.reference\u002F6.composables\u002F3.reading\u002F3.use-active-heading","Die Überschrift, die gerade im Blick ist.",{"title":585,"path":586,"stem":587,"icon":588,"description":589},"useDuxtPageFocus()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-page-focus","4.reference\u002F6.composables\u002F3.reading\u002F4.use-duxt-page-focus","lucide:focus","Setzt den Fokus nach einer clientseitigen Navigation auf die Überschrift.",{"title":591,"path":592,"stem":593,"icon":594,"description":595},"useRecentPages()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-recent-pages","4.reference\u002F6.composables\u002F3.reading\u002F5.use-recent-pages","lucide:history","Die letzten fünf Seiten, die dieser Leser geöffnet hat.",{"title":597,"path":598,"stem":599,"icon":221,"description":600},"usePackageManager()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-package-manager","4.reference\u002F6.composables\u002F3.reading\u002F6.use-package-manager","Der Paketmanager, den ein Leser gewählt hat.",{"title":602,"path":603,"stem":604,"icon":605,"description":606},"useDuxtToast()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-toast","4.reference\u002F6.composables\u002F3.reading\u002F7.use-duxt-toast","lucide:bell","Benachrichtigungen, gekapselt, damit keine Komponente die Bibliothek importiert.",{"title":608,"path":609,"stem":610,"icon":451,"description":611},"useDuxtShortcuts()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-shortcuts","4.reference\u002F6.composables\u002F3.reading\u002F8.use-duxt-shortcuts","Die Tasten, auf die das Theme hört.",{"title":613,"path":614,"stem":615,"children":616,"icon":538,"description":618},"Endpunkte","\u002Freference\u002Fendpoints","4.reference\u002F7.endpoints\u002Findex",[617,619,624,630,635,640,645,651],{"title":613,"path":614,"stem":615,"icon":538,"description":618},"Alles, was die Seite außer Seiten ausliefert, je eine Seite.",{"title":620,"path":621,"stem":622,"icon":465,"description":623},"\u002Fllms.txt","\u002Freference\u002Fendpoints\u002Fllms-txt","4.reference\u002F7.endpoints\u002F1.llms-txt","Die Dokumentation als Markdown-Index, nach llmstxt.org.",{"title":625,"path":626,"stem":627,"icon":628,"description":629},"\u002Fllms-full.txt","\u002Freference\u002Fendpoints\u002Fllms-full-txt","4.reference\u002F7.endpoints\u002F2.llms-full-txt","lucide:file-stack","Dieselben Seiten, vollständig, in einer Markdown-Datei.",{"title":631,"path":632,"stem":633,"icon":201,"description":634},"\u003Cseite>.md","\u002Freference\u002Fendpoints\u002Fpage-markdown","4.reference\u002F7.endpoints\u002F3.page-markdown","Der Quelltext jeder Seite, unter ihrer eigenen URL plus .md.",{"title":636,"path":637,"stem":638,"icon":80,"description":639},"\u002Fmcp","\u002Freference\u002Fendpoints\u002Fmcp","4.reference\u002F7.endpoints\u002F4.mcp","Ein MCP-Server über denselben Inhalten.",{"title":641,"path":642,"stem":643,"icon":86,"description":644},"\u002Fsitemap.xml und \u002Frobots.txt","\u002Freference\u002Fendpoints\u002Fsitemap-and-robots","4.reference\u002F7.endpoints\u002F5.sitemap-and-robots","Worauf ein Crawler gezeigt wird, und wovon er ferngehalten wird.",{"title":646,"path":647,"stem":648,"icon":649,"description":650},"\u002Frss.xml","\u002Freference\u002Fendpoints\u002Frss-xml","4.reference\u002F7.endpoints\u002F6.rss-xml","lucide:rss","Der Feed, sobald eine Sektion benannt ist.",{"title":652,"path":653,"stem":654,"icon":655,"description":656},"\u002F_duxt\u002Fdevtools","\u002Freference\u002Fendpoints\u002Fdevtools","4.reference\u002F7.endpoints\u002F7.devtools","lucide:wrench","Die Route, unter der das Nuxt-Devtools-Panel ausgeliefert wird. Nur im Dev-Server.",{"title":658,"path":659,"stem":660,"children":661,"icon":655,"description":663},"Devtools","\u002Freference\u002Fdevtools","4.reference\u002F8.devtools\u002Findex",[662,664,668,673,678,684,690,696,701,706,711],{"title":658,"path":659,"stem":660,"icon":655,"description":663},"Zehn Panels, die zeigen, was aus deinen Quellen geworden ist. Nur im Dev-Modus.",{"title":47,"path":665,"stem":666,"icon":514,"description":667},"\u002Freference\u002Fdevtools\u002Fsources","4.reference\u002F8.devtools\u002F1.sources","Was aus `duxt.sources` geworden ist — eine Collection je Quelle, Version und Sprache.",{"title":669,"path":670,"stem":671,"icon":128,"description":672},"Weiterleitungen","\u002Freference\u002Fdevtools\u002Fredirects","4.reference\u002F8.devtools\u002F10.redirects","Jeder Redirect, den der Server ausliefert, und welche davon die Ebene geschrieben hat.",{"title":674,"path":675,"stem":676,"icon":538,"description":677},"Pfade","\u002Freference\u002Fdevtools\u002Fpaths","4.reference\u002F8.devtools\u002F2.paths","URL einfügen und sehen, welche Quelle sie beansprucht und was sie dort findet.",{"title":679,"path":680,"stem":681,"icon":682,"description":683},"Seiten","\u002Freference\u002Fdevtools\u002Fpages","4.reference\u002F8.devtools\u002F3.pages","lucide:files","Jede Seite jeder Collection, mit ihrem Frontmatter und ihren Git-Metadaten.",{"title":685,"path":686,"stem":687,"icon":688,"description":689},"Versionen","\u002Freference\u002Fdevtools\u002Fversions","4.reference\u002F8.devtools\u002F4.versions","lucide:columns-3","Welche Version — und welche Sprache — trägt welche Seite.",{"title":691,"path":692,"stem":693,"icon":694,"description":695},"Prüfungen","\u002Freference\u002Fdevtools\u002Fchecks","4.reference\u002F8.devtools\u002F5.checks","lucide:check-check","Der Build-Validator, ausgeführt gegen das, was die Seite gerade ausliefert.",{"title":697,"path":698,"stem":699,"icon":86,"description":700},"Suche","\u002Freference\u002Fdevtools\u002Fsearch","4.reference\u002F8.devtools\u002F6.search","Was der Suchindex hält, durch dieselbe Abfrage, die der Dialog ausführt.",{"title":702,"path":703,"stem":704,"icon":418,"description":705},"Config","\u002Freference\u002Fdevtools\u002Fconfig","4.reference\u002F8.devtools\u002F7.config","Die zusammengeführte `duxt`-Config, und von welcher Seite der Zusammenführung jeder Wert kam.",{"title":707,"path":708,"stem":709,"icon":92,"description":710},"i18n","\u002Freference\u002Fdevtools\u002Fi18n","4.reference\u002F8.devtools\u002F8.i18n","Message-Keys pro Locale, gegen die Basissprache.",{"title":712,"path":713,"stem":714,"icon":715,"description":716},"Cache","\u002Freference\u002Fdevtools\u002Fcache","4.reference\u002F8.devtools\u002F9.cache","lucide:hard-drive","Der Download-Cache von Content und ein Weg, einen Eintrag zu verwerfen.",{"title":718,"path":719,"stem":720,"children":721,"icon":723,"description":724},"API-Referenz","\u002Freference\u002Fopenapi","4.reference\u002F9.openapi\u002Findex",[722,725,729,733,739],{"title":718,"path":719,"stem":720,"icon":723,"description":724},"lucide:plug","Ein OpenAPI-Dokument, veröffentlicht als Referenzseiten mit einem Client, der echte Anfragen sendet.",{"title":170,"path":726,"stem":727,"icon":201,"description":728},"\u002Freference\u002Fopenapi\u002Fsection","4.reference\u002F9.openapi\u002F1.section","Der Sektionstyp `openapi` — wo das Dokument liegt, und was daraus wird.",{"title":344,"path":730,"stem":731,"icon":191,"description":732},"\u002Freference\u002Fopenapi\u002Fcomponents","4.reference\u002F9.openapi\u002F2.components","Die drei MDC-Komponenten, aus denen eine generierte Referenzseite besteht.",{"title":734,"path":735,"stem":736,"icon":737,"description":738},"Der Try-it-Client","\u002Freference\u002Fopenapi\u002Ftry-it","4.reference\u002F9.openapi\u002F3.try-it","lucide:send","Eine echte Anfrage, gesendet vom Browser des Lesers.",{"title":740,"path":741,"stem":742,"icon":488,"description":743},"Request-Samples","\u002Freference\u002Fopenapi\u002Frequest-samples","4.reference\u002F9.openapi\u002F4.request-samples","Dieselbe Anfrage in zwölf Clients, und wie du eigene hinzufügst.",{"title":745,"path":746,"stem":747,"children":748,"icon":750,"description":751},"Danksagungen","\u002Fcredits","5.credits\u002Findex",[749],{"title":745,"path":746,"stem":747,"icon":750,"description":751},"lucide:heart","Worauf duxt aufbaut, und wem es nachempfunden ist.",{"title":753,"path":754,"stem":755,"children":756,"description":760},"Konventionen","\u002Fconventions","6.conventions",[757,761,767],{"title":753,"path":754,"stem":758,"icon":759,"description":760},"6.conventions\u002Findex","lucide:ruler","Projektspezifische Regeln — die, die sich aus dem Code nicht erschließen lassen.",{"title":762,"path":763,"stem":764,"icon":765,"description":766},"Branding","\u002Fconventions\u002Fbranding","6.conventions\u002F1.branding","lucide:shapes","Die Marke [d]uxt — wo welches Asset verwendet wird, warum die Klammern des Icons neu gezeichnet sind, und welche Farben feststehen.",{"title":768,"path":769,"stem":770,"icon":283,"description":771},"Icons","\u002Fconventions\u002Ficons","6.conventions\u002F2.icons","Vier Icon-Sätze, und die eine Frage, die entscheidet, welcher davon ein Zeichen malt.",{"title":773,"path":774,"stem":775,"children":776,"description":780},"Architekturentscheidungen","\u002Fadr","99.adr",[777,781,787,792,797,802,807,812,817,822],{"title":773,"path":774,"stem":778,"icon":779,"description":780},"99.adr\u002Findex","lucide:gavel","Das Entscheidungsprotokoll — jede Architekturentscheidung, die für duxt festgehalten wurde.",{"title":782,"path":783,"stem":784,"icon":785,"description":786},"duxt als Ebene bauen, die ein Modul trägt","\u002Fadr\u002F0001-build-duxt-as-a-layer-carrying-a-module","99.adr\u002F0001-build-duxt-as-a-layer-carrying-a-module",null,"Das Theme als Nuxt-Ebene ausliefern, deren Wurzel das Paket ist, statt als Starter-Vorlage.",{"title":788,"path":789,"stem":790,"icon":785,"description":791},"Die Collections aus einer Quellenliste erzeugen","\u002Fadr\u002F0002-generate-the-collections-from-one-source-list","99.adr\u002F0002-generate-the-collections-from-one-source-list","Content-Collections zur Ladezeit der Konfiguration aus einer kompakten Quellenliste berechnen, statt Konsumenten sie deklarieren zu lassen.",{"title":793,"path":794,"stem":795,"icon":785,"description":796},"Die URL-Präfixe zur Build-Zeit entscheiden","\u002Fadr\u002F0003-decide-the-url-prefixes-at-build-time","99.adr\u002F0003-decide-the-url-prefixes-at-build-time","Ob ein Repository- oder Versionssegment erscheint, entscheidet die Quellenliste vor der ersten Anfrage, nie pro Anfrage.",{"title":798,"path":799,"stem":800,"icon":785,"description":801},"Markdown-Komponenten mit MDC rendern","\u002Fadr\u002F0004-render-markdown-components-with-mdc","99.adr\u002F0004-render-markdown-components-with-mdc","Für Komponenten in Markdown Contents eigene MDC-Syntax nutzen, statt MDX einzuführen.",{"title":803,"path":804,"stem":805,"icon":785,"description":806},"Die Ebene ohne betreiberspezifische Links ausliefern","\u002Fadr\u002F0005-ship-the-layer-without-owner-specific-links","99.adr\u002F0005-ship-the-layer-without-owner-specific-links","Jeder Standard, der ein bestimmtes Projekt benennen würde — Repository, Issue-Tracker, Community, Impressum —, wird leer ausgeliefert.",{"title":808,"path":809,"stem":810,"icon":785,"description":811},"Nach Zeitplan neu bauen statt zur Laufzeit aktualisieren","\u002Fadr\u002F0006-rebuild-on-a-schedule-rather-than-refresh-at-runtime","99.adr\u002F0006-rebuild-on-a-schedule-rather-than-refresh-at-runtime","Eine Seite, die ein anderes Repository liest, übernimmt dessen Änderungen beim Bauen, und eine Aktualisierung zur Laufzeit wird nicht angeboten.",{"title":813,"path":814,"stem":815,"icon":785,"description":816},"Übersetzungen als eigene Collections ausliefern","\u002Fadr\u002F0007-serve-translations-as-collections-of-their-own","99.adr\u002F0007-serve-translations-as-collections-of-their-own","Einer Quelle eine Locale-Dimension hinzufügen statt dem Content-Pfad ein Locale-Segment.",{"title":818,"path":819,"stem":820,"icon":785,"description":821},"Das Theme auf eigenen shadcn-vue-Komponenten bauen","\u002Fadr\u002F0008-build-the-theme-on-owned-shadcn-vue-components","99.adr\u002F0008-build-the-theme-on-owned-shadcn-vue-components","Die Ebene hält den Quelltext ihrer Interface-Komponenten selbst, statt sie aus einer Komponentenbibliothek oder einem fertigen Dokumentations-Theme zu importieren.",{"title":823,"path":824,"stem":825,"icon":785,"description":826},"Den SEO-Unterbau aus dem Nuxt-SEO-Bündel nehmen","\u002Fadr\u002F0009-take-the-seo-stack-from-the-nuxt-seo-bundle","99.adr\u002F0009-take-the-seo-stack-from-the-nuxt-seo-bundle","Die Ebene installiert @nuxtjs\u002Fseo und übergibt ihm die Head-Tags und strukturierten Daten, die sie bislang von Hand schrieb — behalten werden nur die Regeln, die von Versionen und Übersetzungen abhängen.",{"title":828,"path":829,"stem":830,"icon":831,"description":832},"Dokumentation","\u002F","index","lucide:book-open-text","Eine Nuxt-Ebene, die den docs-Ordner eines Repositories in eine versionierte Dokumentationsseite über mehrere Repositories verwandelt.",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":837},0,24,false,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09\"\u002F>\u003Cpath d=\"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z\"\u002F>\u003Cpath d=\"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":839},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"m16.24 7.76l-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":841},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 5v16m8.001-2A2 2 0 0 0 22 17V5a2 2 0 0 0-1.999-2L16 3.002A5 5 0 0 0 12 5a5 5 0 0 0-4-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 1.999 2H8a5 5 0 0 1 4 2a5 5 0 0 1 4-2z\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":843},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Zm-6.8-2.8l2-2m-5-1l2-2m-5-1l2-2m7 11l2-2\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":845},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m14 13l-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381M16 16l6-6m-.5.5l-8-8M8 8l6-6M8.5 7.5l8 8\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":847},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":849},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0a2.34 2.34 0 0 0 3.319 1.915a2.34 2.34 0 0 1 2.33 4.033a2.34 2.34 0 0 0 0 3.831a2.34 2.34 0 0 1-2.33 4.033a2.34 2.34 0 0 0-3.319 1.915a2.34 2.34 0 0 1-4.659 0a2.34 2.34 0 0 0-3.32-1.915a2.34 2.34 0 0 1-2.33-4.033a2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"3\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":851},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z\"\u002F>\u003Ccircle cx=\"7.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":853},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 6a9 9 0 0 0-9 9V3\"\u002F>\u003Ccircle cx=\"18\" cy=\"6\" r=\"3\"\u002F>\u003Ccircle cx=\"6\" cy=\"18\" r=\"3\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":855},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\u002F>\u003Cpath d=\"M14 2v5a1 1 0 0 0 1 1h5m-10 4.5L8 15l2 2.5m4-5l2 2.5l-2 2.5\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":857},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2\"\u002F>\u003Crect width=\"8\" height=\"8\" x=\"14\" y=\"2\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":859},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0zm-13.239 0a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0zm6.619 6.619a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0zm0-13.238a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":861},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\"\u002F>\u003Cpath d=\"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3m-6 4.2h5.7\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":863},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"6\" cy=\"19\" r=\"3\"\u002F>\u003Cpath d=\"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15\"\u002F>\u003Ccircle cx=\"18\" cy=\"5\" r=\"3\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":865},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":867},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 22v-5m3-9V2m2 6a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1zM9 8V2\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":869},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":871},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":873},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":875},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":877},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"left":834,"top":834,"width":879,"height":880,"rotate":834,"vFlip":836,"hFlip":836,"body":881},640,480,"\u003Cpath fill=\"#fc0\" d=\"M0 320h640v160H0z\"\u002F>\u003Cpath fill=\"#000001\" d=\"M0 0h640v160H0z\"\u002F>\u003Cpath fill=\"red\" d=\"M0 160h640v160H0z\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":883},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"page":885,"from":1842,"asked":1843},{"id":886,"title":47,"body":887,"compare":785,"contributors":1832,"date":785,"description":196,"extension":1835,"icon":50,"lastUpdated":1836,"layout":785,"meta":1837,"navigation":836,"path":194,"rawbody":1838,"redirectFrom":785,"seo":1839,"sitemap":1840,"stem":195,"__hash__":1841},"docs_de\u002F4.reference\u002F2.sources.md",{"type":888,"value":889,"toc":1823},"minimark",[890,906,911,1083,1086,1116,1131,1134,1149,1241,1254,1257,1260,1341,1357,1378,1387,1433,1452,1454,1518,1523,1526,1534,1676,1688,1696,1701,1705,1775,1779,1813,1819],[891,892,893,897,898,901,902,905],"p",{},[894,895,896],"code",{},"duxt.sources"," ist eine Liste von Quelleneinträgen; ",[894,899,900],{},"duxt.sourceOptions"," sagt,\nwie daraus URLs werden. Beide werden zur Build-Zeit gelesen. Was sie erzeugen\nund warum, steht in ",[903,904,47],"a",{"href":48},".",[907,908,910],"h2",{"id":909},"ein-quelleneintrag","Ein Quelleneintrag",[912,913,914,930],"table",{},[915,916,917],"thead",{},[918,919,920,924,927],"tr",{},[921,922,339],"th",{"align":923},"left",[921,925,926],{"align":923},"Typ",[921,928,929],{"align":923},"Anmerkungen",[931,932,933,949,970,983,996,1014,1027,1042,1057,1070],"tbody",{},[918,934,935,941,946],{},[936,937,938],"td",{"align":923},[894,939,940],{},"path",[936,942,943],{"align":923},[894,944,945],{},"string",[936,947,948],{"align":923},"Ordner mit dem Markdown, relativ zur Repository-Wurzel",[918,950,951,956,960],{},[936,952,953],{"align":923},[894,954,955],{},"repo",[936,957,958],{"align":923},[894,959,945],{},[936,961,962,965,966],{"align":923},[894,963,964],{},"owner\u002Fname"," oder eine git-URL. ",[967,968,969],"strong",{},"Weggelassen heißt dieses Repository",[918,971,972,977,980],{},[936,973,974],{"align":923},[894,975,976],{},"refs",[936,978,979],{"align":923},"Ref-Liste",[936,981,982],{"align":923},"Refs, die als Versionen veröffentlicht werden. Weggelassen heißt der aktuelle Checkout",[918,984,985,990,993],{},[936,986,987],{"align":923},[894,988,989],{},"label",[936,991,992],{"align":923},"Text",[936,994,995],{"align":923},"Im Umschalter gezeigt und in der URL genutzt; standardmäßig der Ref",[918,997,998,1003,1007],{},[936,999,1000],{"align":923},[894,1001,1002],{},"slug",[936,1004,1005],{"align":923},[894,1006,945],{},[936,1008,1009,1010,1013],{"align":923},"Das URL-Segment dieser Quelle. ",[967,1011,1012],{},"Wer eines nennt, beansprucht es"," — siehe unten",[918,1015,1016,1021,1024],{},[936,1017,1018],{"align":923},[894,1019,1020],{},"status",[936,1022,1023],{"align":923},"Status",[936,1025,1026],{"align":923},"Lebenszyklus jeder Version, die dieser Eintrag veröffentlicht",[918,1028,1029,1034,1039],{},[936,1030,1031],{"align":923},[894,1032,1033],{},"origin",[936,1035,1036],{"align":923},[894,1037,1038],{},"{ repo, ref? }",[936,1040,1041],{"align":923},"Wo von der Platte gelesene Seiten liegen, für Links zurück",[918,1043,1044,1049,1054],{},[936,1045,1046],{"align":923},[894,1047,1048],{},"history",[936,1050,1051],{"align":923},[894,1052,1053],{},"boolean",[936,1055,1056],{"align":923},"Die git-Historie dieser Quelle lesen",[918,1058,1059,1064,1067],{},[936,1060,1061],{"align":923},[894,1062,1063],{},"locales",[936,1065,1066],{"align":923},"Locale-Liste",[936,1068,1069],{"align":923},"Sprachen, in denen diese Quelle vorliegt — siehe unten",[918,1071,1072,1077,1080],{},[936,1073,1074],{"align":923},[894,1075,1076],{},"generated",[936,1078,1079],{"align":923},"Sektionsliste",[936,1081,1082],{"align":923},"Artefakte, die neben dem Markdown als Seiten veröffentlicht werden — siehe unten",[891,1084,1085],{},"Zwei Felder sind leicht zu verwechseln und teuer, wenn man sie falsch setzt:",[1087,1088,1089,1104],"ul",{},[1090,1091,1092,1100,1101,1103],"li",{},[967,1093,1094,1096,1097,1099],{},[894,1095,955],{}," lädt herunter, ",[894,1098,1033],{}," verlinkt nur."," Das eigene Repository in\n",[894,1102,955],{}," zu nennen lässt den Build den Checkout klonen, in dem er bereits steht.",[1090,1105,1106,1111,1112,1115],{},[967,1107,1108,1110],{},[894,1109,1048],{}," kostet einen vollständigen Clone."," Content klont ein entferntes\nRepository mit ",[894,1113,1114],{},"--depth 1",", sein Checkout hält also einen Commit und jede\nDatei sieht aus, als hätte sie die Person geschrieben, die die Spitze gesetzt\nhat — falsche Daten, keine fehlenden. Das einzuschalten macht den Clone einmal\nvollständig. Eine von der Platte gelesene Quelle ist ohnehin ein vollständiger\nCheckout und wird unabhängig davon gelesen.",[891,1117,1118,1123,1124,1126,1127,1130],{},[967,1119,1120,1122],{},[894,1121,1002],{}," beansprucht ein Segment."," Ein Segment bekommt eine Quelle sonst erst,\nwenn die Liste mehr als ein Repository nennt — alles oder nichts, für die ganze\nSeite. Eine Quelle, die einen eigenen ",[894,1125,1002],{}," schreibt, wird ohnehin darunter\nausgeliefert, und die Quellen ohne bleiben, wo sie sind. Genau das lässt eine\nSache unter ",[894,1128,1129],{},"\u002Fdemo"," neben einer Dokumentation stehen, die die Wurzel behält.",[907,1132,1133],{"id":976},"Refs",[891,1135,1136,1137,1140,1141,1144,1145,1148],{},"Eine bloße Zeichenkette ist ein ",[967,1138,1139],{},"Branch",". Ein Tag muss das sagen: git hält\nBranches und Tags in getrennten Namensräumen, und einen Tag unter ",[894,1142,1143],{},"refs\u002Fheads","\nzu verlangen lässt den Build mit ",[894,1146,1147],{},"Could not find refs\u002Fheads\u002F…"," scheitern.",[1150,1151,1156],"pre",{"className":1152,"code":1153,"language":1154,"meta":1155,"style":1155},"language-ts shiki shiki-themes github-light github-dark","refs: [\n  'main',                                     \u002F\u002F ein Branch\n  { branch: 'next', status: 'upcoming' },     \u002F\u002F derselbe, mit einem Lebenszyklus\n  { tag: 'v2.0.0', label: 'v2' },             \u002F\u002F ein Tag\n  'latest'                                    \u002F\u002F der neueste Semver-Tag, im Build aufgelöst\n]\n","ts","",[894,1157,1158,1170,1184,1205,1226,1235],{"__ignoreMap":1155},[1159,1160,1163,1166],"span",{"class":1161,"line":1162},"line",1,[1159,1164,976],{"class":1165},"sScJk",[1159,1167,1169],{"class":1168},"sVt8B",": [\n",[1159,1171,1173,1177,1180],{"class":1161,"line":1172},2,[1159,1174,1176],{"class":1175},"sZZnC","  'main'",[1159,1178,1179],{"class":1168},",                                     ",[1159,1181,1183],{"class":1182},"sJ8bj","\u002F\u002F ein Branch\n",[1159,1185,1187,1190,1193,1196,1199,1202],{"class":1161,"line":1186},3,[1159,1188,1189],{"class":1168},"  { branch: ",[1159,1191,1192],{"class":1175},"'next'",[1159,1194,1195],{"class":1168},", status: ",[1159,1197,1198],{"class":1175},"'upcoming'",[1159,1200,1201],{"class":1168}," },     ",[1159,1203,1204],{"class":1182},"\u002F\u002F derselbe, mit einem Lebenszyklus\n",[1159,1206,1208,1211,1214,1217,1220,1223],{"class":1161,"line":1207},4,[1159,1209,1210],{"class":1168},"  { tag: ",[1159,1212,1213],{"class":1175},"'v2.0.0'",[1159,1215,1216],{"class":1168},", label: ",[1159,1218,1219],{"class":1175},"'v2'",[1159,1221,1222],{"class":1168}," },             ",[1159,1224,1225],{"class":1182},"\u002F\u002F ein Tag\n",[1159,1227,1229,1232],{"class":1161,"line":1228},5,[1159,1230,1231],{"class":1175},"  'latest'",[1159,1233,1234],{"class":1182},"                                    \u002F\u002F der neueste Semver-Tag, im Build aufgelöst\n",[1159,1236,1238],{"class":1161,"line":1237},6,[1159,1239,1240],{"class":1168},"]\n",[891,1242,1243,1246,1247,1250,1251,905],{},[894,1244,1245],{},"'latest'"," ist reserviert. Ein Branch, der wirklich ",[894,1248,1249],{},"latest"," heißt, braucht die\nForm ",[894,1252,1253],{},"{ branch }",[907,1255,1256],{"id":1063},"Locales",[891,1258,1259],{},"Weggelassen hat die Quelle eine Sprache und eine Collection. Aufgelistet wird\njeder Eintrag zu einer eigenen Collection.",[1150,1261,1263],{"className":1152,"code":1262,"language":1154,"meta":1155,"style":1155},"locales: [\n  'en-GB',                                              \u002F\u002F der Standard: docs\u002F selbst\n  'de',                                                 \u002F\u002F docs\u002Fde\u002F\n  { locale: 'fr', path: 'translations\u002Ffr' },            \u002F\u002F woanders in diesem Repository\n  { locale: 'es', repo: 'acme\u002Fdocs-es', path: 'docs' }  \u002F\u002F ein anderes Repository\n]\n",[894,1264,1265,1271,1282,1293,1313,1337],{"__ignoreMap":1155},[1159,1266,1267,1269],{"class":1161,"line":1162},[1159,1268,1063],{"class":1165},[1159,1270,1169],{"class":1168},[1159,1272,1273,1276,1279],{"class":1161,"line":1172},[1159,1274,1275],{"class":1175},"  'en-GB'",[1159,1277,1278],{"class":1168},",                                              ",[1159,1280,1281],{"class":1182},"\u002F\u002F der Standard: docs\u002F selbst\n",[1159,1283,1284,1287,1290],{"class":1161,"line":1186},[1159,1285,1286],{"class":1175},"  'de'",[1159,1288,1289],{"class":1168},",                                                 ",[1159,1291,1292],{"class":1182},"\u002F\u002F docs\u002Fde\u002F\n",[1159,1294,1295,1298,1301,1304,1307,1310],{"class":1161,"line":1207},[1159,1296,1297],{"class":1168},"  { locale: ",[1159,1299,1300],{"class":1175},"'fr'",[1159,1302,1303],{"class":1168},", path: ",[1159,1305,1306],{"class":1175},"'translations\u002Ffr'",[1159,1308,1309],{"class":1168}," },            ",[1159,1311,1312],{"class":1182},"\u002F\u002F woanders in diesem Repository\n",[1159,1314,1315,1317,1320,1323,1326,1328,1331,1334],{"class":1161,"line":1228},[1159,1316,1297],{"class":1168},[1159,1318,1319],{"class":1175},"'es'",[1159,1321,1322],{"class":1168},", repo: ",[1159,1324,1325],{"class":1175},"'acme\u002Fdocs-es'",[1159,1327,1303],{"class":1168},[1159,1329,1330],{"class":1175},"'docs'",[1159,1332,1333],{"class":1168}," }  ",[1159,1335,1336],{"class":1182},"\u002F\u002F ein anderes Repository\n",[1159,1338,1339],{"class":1161,"line":1237},[1159,1340,1240],{"class":1168},[891,1342,1343,1344,1346,1347,1349,1350,1352,1353,1356],{},"Eine Zeichenkette ist ein Ordner innerhalb des ",[894,1345,940],{}," der Quelle. Die\nObjektform überschreibt ",[894,1348,940],{},", ",[894,1351,955],{}," und ",[894,1354,1355],{},"ref"," allein für diese Sprache — und\ngenau das lässt eine Übersetzung in einem eigenen Repository leben, mit eigenen\nBetreuern und eigenem Releaseplan.",[891,1358,1359,1365,1366,1369,1370,1373,1374,1377],{},[967,1360,1361,1362,1364],{},"Die Standard-Locale ist der Baum in ",[894,1363,940],{}," selbst und nimmt keinen Ordner.","\nWelche das ist, kommt aus ",[894,1367,1368],{},"sourceOptions.defaultLocale",", und sie muss mit\n",[894,1371,1372],{},"i18n.defaultLocale"," übereinstimmen — der Build scheitert, wenn sie abweichen,\ndenn ",[894,1375,1376],{},"content.config.ts"," löst die Collections ohne Zugriff auf die\nNuxt-Konfiguration auf.",[891,1379,1380,1381,1383,1384,1386],{},"Ein Ref darf eigene ",[894,1382,1063],{}," tragen, die die der Quelle überschreiben, genau\nwie ",[894,1385,1020],{},". Das ist die übliche Form: Die aktuelle Version ist übersetzt, die\ndahinter nicht.",[1150,1388,1390],{"className":1152,"code":1389,"language":1154,"meta":1155,"style":1155},"refs: [\n  { tag: 'v2.0.0' },                     \u002F\u002F erbt die Locales der Quelle\n  { tag: 'v1.0.0', locales: ['en-GB'] }  \u002F\u002F nur das Original\n]\n",[894,1391,1392,1398,1410,1429],{"__ignoreMap":1155},[1159,1393,1394,1396],{"class":1161,"line":1162},[1159,1395,976],{"class":1165},[1159,1397,1169],{"class":1168},[1159,1399,1400,1402,1404,1407],{"class":1161,"line":1172},[1159,1401,1210],{"class":1168},[1159,1403,1213],{"class":1175},[1159,1405,1406],{"class":1168}," },                     ",[1159,1408,1409],{"class":1182},"\u002F\u002F erbt die Locales der Quelle\n",[1159,1411,1412,1414,1417,1420,1423,1426],{"class":1161,"line":1186},[1159,1413,1210],{"class":1168},[1159,1415,1416],{"class":1175},"'v1.0.0'",[1159,1418,1419],{"class":1168},", locales: [",[1159,1421,1422],{"class":1175},"'en-GB'",[1159,1424,1425],{"class":1168},"] }  ",[1159,1427,1428],{"class":1182},"\u002F\u002F nur das Original\n",[1159,1430,1431],{"class":1161,"line":1207},[1159,1432,1240],{"class":1168},[891,1434,1435,1436,1439,1440,1443,1444,1447,1448,1451],{},"Benenne einen Ordner nach der ",[967,1437,1438],{},"Sprache",", wo eine Region nichts hinzufügt:\n",[894,1441,1442],{},"docs\u002Fpt\u002F"," bedient sowohl ",[894,1445,1446],{},"pt-PT"," als auch ",[894,1449,1450],{},"pt-BR",", weil eine Seite über ihre\nBasissprache zurückfällt. Dieselbe Regel, der die Locale-Dateien der Ebene\nfolgen.",[907,1453,1023],{"id":1020},[912,1455,1456,1466],{},[915,1457,1458],{},[918,1459,1460,1463],{},[921,1461,1462],{"align":923},"Wert",[921,1464,1465],{"align":923},"Bedeutet",[931,1467,1468,1478,1488,1498,1508],{},[918,1469,1470,1475],{},[936,1471,1472],{"align":923},[894,1473,1474],{},"upcoming",[936,1476,1477],{"align":923},"Noch nicht veröffentlicht — kann sich noch ändern",[918,1479,1480,1485],{},[936,1481,1482],{"align":923},[894,1483,1484],{},"current",[936,1486,1487],{"align":923},"Die Dokumentation, die zu lesen ist",[918,1489,1490,1495],{},[936,1491,1492],{"align":923},[894,1493,1494],{},"maintained",[936,1496,1497],{"align":923},"Älter, weiterhin unterstützt",[918,1499,1500,1505],{},[936,1501,1502],{"align":923},[894,1503,1504],{},"deprecated",[936,1506,1507],{"align":923},"Älter, und der Leser sollte aktualisieren",[918,1509,1510,1515],{},[936,1511,1512],{"align":923},[894,1513,1514],{},"eol",[936,1516,1517],{"align":923},"Tot — wird gewarnt, und aus der Sitemap heraus",[891,1519,1520,1521,905],{},"Was jeder Wert eine Seite kostet, steht in\n",[903,1522,53],{"href":54},[907,1524,65],{"id":1525},"generierte-sektionen",[891,1527,1528,1530,1531,1533],{},[894,1529,1076],{}," listet Artefakte auf, die kein Markdown sind, und den Typ, der jedes\ndavon zu Seiten liest. Was der Mechanismus ist und welche zwei Richtlinien ein\nTyp beantwortet, steht in\n",[903,1532,65],{"href":66},"; die Felder unten sind\ndieselben, welcher Typ sie auch liest.",[912,1535,1536,1546],{},[915,1537,1538],{},[918,1539,1540,1542,1544],{},[921,1541,339],{"align":923},[921,1543,926],{"align":923},[921,1545,929],{"align":923},[931,1547,1548,1569,1582,1595,1608,1621,1639,1662],{},[918,1549,1550,1555,1559],{},[936,1551,1552],{"align":923},[894,1553,1554],{},"type",[936,1556,1557],{"align":923},[894,1558,945],{},[936,1560,1561,1562,1349,1565,1568],{"align":923},"Der Registry-Schlüssel des Typs — ",[894,1563,1564],{},"changelog",[894,1566,1567],{},"openapi",", ein eigener",[918,1570,1571,1575,1579],{},[936,1572,1573],{"align":923},[894,1574,940],{},[936,1576,1577],{"align":923},[894,1578,945],{},[936,1580,1581],{"align":923},"Das Artefakt, relativ zur eigenen Wurzel der Quelle",[918,1583,1584,1588,1592],{},[936,1585,1586],{"align":923},[894,1587,989],{},[936,1589,1590],{"align":923},[894,1591,945],{},[936,1593,1594],{"align":923},"Der Navbar-Eintrag und — slugifiziert — das URL-Segment",[918,1596,1597,1601,1605],{},[936,1598,1599],{"align":923},[894,1600,1002],{},[936,1602,1603],{"align":923},[894,1604,945],{},[936,1606,1607],{"align":923},"Überschreibt das Segment, das das Label ergeben würde",[918,1609,1610,1615,1618],{},[936,1611,1612],{"align":923},[894,1613,1614],{},"options",[936,1616,1617],{"align":923},"Objekt",[936,1619,1620],{"align":923},"Die Knöpfe dieses Typs; jeder Typ prüft seine eigenen",[918,1622,1623,1627,1632],{},[936,1624,1625],{"align":923},[894,1626,1063],{},[936,1628,1629],{"align":923},[894,1630,1631],{},"Record\u003Cstring, string>",[936,1633,1634,1635,1638],{"align":923},"Ein Artefakt pro Locale, nur von einem ",[894,1636,1637],{},"per-locale","-Typ gelesen",[918,1640,1641,1646,1649],{},[936,1642,1643],{"align":923},[894,1644,1645],{},"navigation",[936,1647,1648],{"align":923},"Platzierung",[936,1650,1651,1654,1655,1658,1659],{"align":923},[894,1652,1653],{},"'sections'"," (Standard), ",[894,1656,1657],{},"'navigation'"," oder ",[894,1660,1661],{},"false",[918,1663,1664,1669,1673],{},[936,1665,1666],{"align":923},[894,1667,1668],{},"icon",[936,1670,1671],{"align":923},[894,1672,945],{},[936,1674,1675],{"align":923},"Fällt auf das Icon des Typs zurück",[891,1677,1678,1683,1684,1687],{},[967,1679,1680,1682],{},[894,1681,940],{}," ist ein Pfad und nie eine URL."," Bei einer Quelle, die Content klont,\nist er relativ zur Wurzel dieses Checkouts — das Artefakt reist also mit der\nVersion, zu der es gehört, eine Regel in beide Richtungen. Ein beliebiger Ort\nwürde erlauben, ein Artefakt von überall zu holen, und die Frage nach Netzwerk\nzur Build-Zeit wieder öffnen, die ",[894,1685,1686],{},"sources"," bereits geschlossen hat.",[891,1689,1690,1695],{},[967,1691,1692,1694],{},[894,1693,989],{}," ist eine einfache Zeichenkette und kein übersetzter Text",", aus\ndemselben Grund, aus dem das Label einer Version einer ist: Ein übersetzter Text\nist keine stabile URL.",[891,1697,1698,1700],{},[894,1699,1614],{}," ist für alles außer dem Typ, der sie liest, undurchsichtig — eine\nGranularität bedeutet einem Changelog etwas und einer API-Referenz nichts. Ein\nSchlüssel, den der Typ nicht kennt, lässt den Build scheitern, statt ignoriert zu\nwerden: Eine falsch geschriebene Option ist eine Site, die still nicht bekommt,\nwas sie konfiguriert hat.",[907,1702,1704],{"id":1703},"quellenoptionen","Quellenoptionen",[912,1706,1707,1719],{},[915,1708,1709],{},[918,1710,1711,1713,1716],{},[921,1712,339],{"align":923},[921,1714,1715],{"align":923},"Standard",[921,1717,1718],{"align":923},"Was es tut",[931,1720,1721,1734,1746,1759],{},[918,1722,1723,1728,1731],{},[936,1724,1725],{"align":923},[894,1726,1727],{},"showRepo",[936,1729,1730],{"align":923},"aus",[936,1732,1733],{"align":923},"Erzwingt ein Repository-Segment bei einem einzelnen Repository",[918,1735,1736,1741,1743],{},[936,1737,1738],{"align":923},[894,1739,1740],{},"showVersion",[936,1742,1730],{"align":923},[936,1744,1745],{"align":923},"Erzwingt ein Versionssegment bei einer einzelnen Version",[918,1747,1748,1753,1756],{},[936,1749,1750],{"align":923},[894,1751,1752],{},"defaultRef",[936,1754,1755],{"align":923},"der erste Ref",[936,1757,1758],{"align":923},"Der Ref, der ohne Versionspräfix ausgeliefert wird",[918,1760,1761,1766,1769],{},[936,1762,1763],{"align":923},[894,1764,1765],{},"defaultLocale",[936,1767,1768],{"align":923},"die erste Locale",[936,1770,1771,1772,1774],{"align":923},"Die Locale, die aus ",[894,1773,940],{}," selbst ausgeliefert wird, ohne Ordner",[907,1776,1778],{"id":1777},"das-aufgelöste-manifest","Das aufgelöste Manifest",[891,1780,1781,1782,1785,1786,1788,1789,1349,1792,1349,1794,1349,1797,1349,1800,1803,1804,1349,1807,1809,1810,1812],{},"Der Build macht aus der Liste oben ",[894,1783,1784],{},"duxt.resolvedSources",", und das ist es, was\ndas Theme liest. ",[894,1787,511],{}," legt es offen; jeder Eintrag trägt den\nCollection-Namen, das URL-",[894,1790,1791],{},"prefix",[894,1793,955],{},[894,1795,1796],{},"version",[894,1798,1799],{},"isDefault",[894,1801,1802],{},"locale",",\n",[894,1805,1806],{},"isDefaultLocale",[894,1808,1020],{},", das Repository und den Ref, aus denen die Seiten\nkamen, und ob seine ",[894,1811,1048],{}," gelesen wurde.",[891,1814,1815,1816,1818],{},"Der Locale fehlt bewusst im ",[894,1817,1791],{},": i18n stellt ihn dem Pfad ohnehin voran,\njede Sprache einer Quelle teilt sich also ein Präfix und unterscheidet sich nur\ndurch die Collection.",[1820,1821,1822],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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":1155,"searchDepth":1172,"depth":1172,"links":1824},[1825,1826,1827,1828,1829,1830,1831],{"id":909,"depth":1172,"text":910},{"id":976,"depth":1172,"text":1133},{"id":1063,"depth":1172,"text":1256},{"id":1020,"depth":1172,"text":1023},{"id":1525,"depth":1172,"text":65},{"id":1703,"depth":1172,"text":1704},{"id":1777,"depth":1172,"text":1778},[1833],{"name":1834,"commits":1207},"Titus Kirch","md","2026-09-10T01:31:33+02:00",{},"---\ntitle: Quellen\ndescription: Die Felder eines Quelleneintrags, seine Refs, und die Optionen, die die URLs formen.\nicon: lucide:git-branch\n---\n\n`duxt.sources` ist eine Liste von Quelleneinträgen; `duxt.sourceOptions` sagt,\nwie daraus URLs werden. Beide werden zur Build-Zeit gelesen. Was sie erzeugen\nund warum, steht in [Quellen](\u002Fconcepts\u002Fsources).\n\n## Ein Quelleneintrag\n\n| Feld      | Typ                      | Anmerkungen                                                        |\n| :-------- | :----------------------- | :------------------------------------------------------------------ |\n| `path`    | `string`                 | Ordner mit dem Markdown, relativ zur Repository-Wurzel               |\n| `repo`    | `string`                 | `owner\u002Fname` oder eine git-URL. **Weggelassen heißt dieses Repository** |\n| `refs`    | Ref-Liste                | Refs, die als Versionen veröffentlicht werden. Weggelassen heißt der aktuelle Checkout |\n| `label`   | Text                     | Im Umschalter gezeigt und in der URL genutzt; standardmäßig der Ref  |\n| `slug`    | `string`                 | Das URL-Segment dieser Quelle. **Wer eines nennt, beansprucht es** — siehe unten |\n| `status`  | Status                   | Lebenszyklus jeder Version, die dieser Eintrag veröffentlicht        |\n| `origin`  | `{ repo, ref? }`         | Wo von der Platte gelesene Seiten liegen, für Links zurück           |\n| `history` | `boolean`                | Die git-Historie dieser Quelle lesen                                 |\n| `locales` | Locale-Liste             | Sprachen, in denen diese Quelle vorliegt — siehe unten               |\n| `generated` | Sektionsliste           | Artefakte, die neben dem Markdown als Seiten veröffentlicht werden — siehe unten |\n\nZwei Felder sind leicht zu verwechseln und teuer, wenn man sie falsch setzt:\n\n- **`repo` lädt herunter, `origin` verlinkt nur.** Das eigene Repository in\n  `repo` zu nennen lässt den Build den Checkout klonen, in dem er bereits steht.\n- **`history` kostet einen vollständigen Clone.** Content klont ein entferntes\n  Repository mit `--depth 1`, sein Checkout hält also einen Commit und jede\n  Datei sieht aus, als hätte sie die Person geschrieben, die die Spitze gesetzt\n  hat — falsche Daten, keine fehlenden. Das einzuschalten macht den Clone einmal\n  vollständig. Eine von der Platte gelesene Quelle ist ohnehin ein vollständiger\n  Checkout und wird unabhängig davon gelesen.\n\n**`slug` beansprucht ein Segment.** Ein Segment bekommt eine Quelle sonst erst,\nwenn die Liste mehr als ein Repository nennt — alles oder nichts, für die ganze\nSeite. Eine Quelle, die einen eigenen `slug` schreibt, wird ohnehin darunter\nausgeliefert, und die Quellen ohne bleiben, wo sie sind. Genau das lässt eine\nSache unter `\u002Fdemo` neben einer Dokumentation stehen, die die Wurzel behält.\n\n## Refs\n\nEine bloße Zeichenkette ist ein **Branch**. Ein Tag muss das sagen: git hält\nBranches und Tags in getrennten Namensräumen, und einen Tag unter `refs\u002Fheads`\nzu verlangen lässt den Build mit `Could not find refs\u002Fheads\u002F…` scheitern.\n\n```ts\nrefs: [\n  'main',                                     \u002F\u002F ein Branch\n  { branch: 'next', status: 'upcoming' },     \u002F\u002F derselbe, mit einem Lebenszyklus\n  { tag: 'v2.0.0', label: 'v2' },             \u002F\u002F ein Tag\n  'latest'                                    \u002F\u002F der neueste Semver-Tag, im Build aufgelöst\n]\n```\n\n`'latest'` ist reserviert. Ein Branch, der wirklich `latest` heißt, braucht die\nForm `{ branch }`.\n\n## Locales\n\nWeggelassen hat die Quelle eine Sprache und eine Collection. Aufgelistet wird\njeder Eintrag zu einer eigenen Collection.\n\n```ts\nlocales: [\n  'en-GB',                                              \u002F\u002F der Standard: docs\u002F selbst\n  'de',                                                 \u002F\u002F docs\u002Fde\u002F\n  { locale: 'fr', path: 'translations\u002Ffr' },            \u002F\u002F woanders in diesem Repository\n  { locale: 'es', repo: 'acme\u002Fdocs-es', path: 'docs' }  \u002F\u002F ein anderes Repository\n]\n```\n\nEine Zeichenkette ist ein Ordner innerhalb des `path` der Quelle. Die\nObjektform überschreibt `path`, `repo` und `ref` allein für diese Sprache — und\ngenau das lässt eine Übersetzung in einem eigenen Repository leben, mit eigenen\nBetreuern und eigenem Releaseplan.\n\n**Die Standard-Locale ist der Baum in `path` selbst und nimmt keinen Ordner.**\nWelche das ist, kommt aus `sourceOptions.defaultLocale`, und sie muss mit\n`i18n.defaultLocale` übereinstimmen — der Build scheitert, wenn sie abweichen,\ndenn `content.config.ts` löst die Collections ohne Zugriff auf die\nNuxt-Konfiguration auf.\n\nEin Ref darf eigene `locales` tragen, die die der Quelle überschreiben, genau\nwie `status`. Das ist die übliche Form: Die aktuelle Version ist übersetzt, die\ndahinter nicht.\n\n```ts\nrefs: [\n  { tag: 'v2.0.0' },                     \u002F\u002F erbt die Locales der Quelle\n  { tag: 'v1.0.0', locales: ['en-GB'] }  \u002F\u002F nur das Original\n]\n```\n\nBenenne einen Ordner nach der **Sprache**, wo eine Region nichts hinzufügt:\n`docs\u002Fpt\u002F` bedient sowohl `pt-PT` als auch `pt-BR`, weil eine Seite über ihre\nBasissprache zurückfällt. Dieselbe Regel, der die Locale-Dateien der Ebene\nfolgen.\n\n## Status\n\n| Wert         | Bedeutet                                            |\n| :----------- | :-------------------------------------------------- |\n| `upcoming`   | Noch nicht veröffentlicht — kann sich noch ändern    |\n| `current`    | Die Dokumentation, die zu lesen ist                  |\n| `maintained` | Älter, weiterhin unterstützt                         |\n| `deprecated` | Älter, und der Leser sollte aktualisieren            |\n| `eol`        | Tot — wird gewarnt, und aus der Sitemap heraus       |\n\nWas jeder Wert eine Seite kostet, steht in\n[URLs und Versionen](\u002Fconcepts\u002Furls-and-versions).\n\n## Generierte Sektionen\n\n`generated` listet Artefakte auf, die kein Markdown sind, und den Typ, der jedes\ndavon zu Seiten liest. Was der Mechanismus ist und welche zwei Richtlinien ein\nTyp beantwortet, steht in\n[Generierte Sektionen](\u002Fconcepts\u002Fgenerated-sections); die Felder unten sind\ndieselben, welcher Typ sie auch liest.\n\n| Feld         | Typ                      | Anmerkungen                                                       |\n| :----------- | :----------------------- | :----------------------------------------------------------------- |\n| `type`       | `string`                 | Der Registry-Schlüssel des Typs — `changelog`, `openapi`, ein eigener |\n| `path`       | `string`                 | Das Artefakt, relativ zur eigenen Wurzel der Quelle                 |\n| `label`      | `string`                 | Der Navbar-Eintrag und — slugifiziert — das URL-Segment             |\n| `slug`       | `string`                 | Überschreibt das Segment, das das Label ergeben würde               |\n| `options`    | Objekt                   | Die Knöpfe dieses Typs; jeder Typ prüft seine eigenen               |\n| `locales`    | `Record\u003Cstring, string>` | Ein Artefakt pro Locale, nur von einem `per-locale`-Typ gelesen     |\n| `navigation` | Platzierung              | `'sections'` (Standard), `'navigation'` oder `false`                |\n| `icon`       | `string`                 | Fällt auf das Icon des Typs zurück                                  |\n\n**`path` ist ein Pfad und nie eine URL.** Bei einer Quelle, die Content klont,\nist er relativ zur Wurzel dieses Checkouts — das Artefakt reist also mit der\nVersion, zu der es gehört, eine Regel in beide Richtungen. Ein beliebiger Ort\nwürde erlauben, ein Artefakt von überall zu holen, und die Frage nach Netzwerk\nzur Build-Zeit wieder öffnen, die `sources` bereits geschlossen hat.\n\n**`label` ist eine einfache Zeichenkette und kein übersetzter Text**, aus\ndemselben Grund, aus dem das Label einer Version einer ist: Ein übersetzter Text\nist keine stabile URL.\n\n`options` ist für alles außer dem Typ, der sie liest, undurchsichtig — eine\nGranularität bedeutet einem Changelog etwas und einer API-Referenz nichts. Ein\nSchlüssel, den der Typ nicht kennt, lässt den Build scheitern, statt ignoriert zu\nwerden: Eine falsch geschriebene Option ist eine Site, die still nicht bekommt,\nwas sie konfiguriert hat.\n\n\n## Quellenoptionen\n\n| Feld            | Standard          | Was es tut                                                 |\n| :-------------- | :---------------- | :--------------------------------------------------------- |\n| `showRepo`      | aus               | Erzwingt ein Repository-Segment bei einem einzelnen Repository |\n| `showVersion`   | aus               | Erzwingt ein Versionssegment bei einer einzelnen Version    |\n| `defaultRef`    | der erste Ref     | Der Ref, der ohne Versionspräfix ausgeliefert wird          |\n| `defaultLocale` | die erste Locale  | Die Locale, die aus `path` selbst ausgeliefert wird, ohne Ordner |\n\n## Das aufgelöste Manifest\n\nDer Build macht aus der Liste oben `duxt.resolvedSources`, und das ist es, was\ndas Theme liest. `useDuxtCollection()` legt es offen; jeder Eintrag trägt den\nCollection-Namen, das URL-`prefix`, `repo`, `version`, `isDefault`, `locale`,\n`isDefaultLocale`, `status`, das Repository und den Ref, aus denen die Seiten\nkamen, und ob seine `history` gelesen wurde.\n\nDer Locale fehlt bewusst im `prefix`: i18n stellt ihn dem Pfad ohnehin voran,\njede Sprache einer Quelle teilt sich also ein Präfix und unterscheidet sich nur\ndurch die Collection.\n",{"title":47,"description":196},{"loc":194},"A-zlvoFtae0_Yd2Mhsv6qAMLMYNMz8aA7EGF-EmsM2k","de","de-DE",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1845},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1847},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 5.88L14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88M7 10v12\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1849},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 18.12L10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88M17 14V2\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1851},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16z\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1853},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 8v4m0 4h.01\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1855},"\u003Cpath fill=\"currentColor\" d=\"M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0a13 13 0 0 0-.617-1.25a.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.08.08 0 0 0 .084-.028a14 14 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13 13 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10 10 0 0 0 .372-.292a.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01q.181.149.373.292a.077.077 0 0 1-.006.127a12.3 12.3 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028a19.8 19.8 0 0 0 6.002-3.03a.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.182 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1857},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 5v16m4-8h2m-2-4h2m2.001 10A2 2 0 0 0 22 17V5a2 2 0 0 0-1.999-2L16 3.002A5 5 0 0 0 12 5a5 5 0 0 0-4-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 1.999 2H8a5 5 0 0 1 4 2a5 5 0 0 1 4-2zM6 13h2M6 9h2\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1859},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1861},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1863},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1865},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",1789004675342]