Zum Inhalt springen
duxt

Danksagungen

Worauf duxt aufbaut, und wem es nachempfunden ist.

duxt ist eine dünne Ebene über der Arbeit anderer Leute. Fast nichts davon ist eigene Erfindung — das Beziehen der Quellen, das Parsen, die Komponenten und das Styling kommen alle aus Projekten, die diese Probleme zuerst gelöst haben, und die ehrliche Beschreibung dieses Repositories ist der Kleber dazwischen plus eine Handvoll Meinungen.

Aufgebaut auf

ProjektWas es hier tut
VueDas Komponentenmodell, in dem hier alles geschrieben ist
NuxtDas Framework, und der Ebenen-Mechanismus, auf dem die ganze Idee ruht
Nuxt ContentBeziehen, Parsen, Abfragen — inklusive der git-nativen Repositories
shadcn-vueDie Komponentenbasis, in die Ebene kopiert statt importiert
reka-uiDie Primitive darunter: Fokus, roving tabindex, ARIA
Tailwind CSSDas Styling-System und die Token-Ebene
ShikiSyntax-Hervorhebung, zur Build-Zeit
Die Icon-SätzeVier Sammlungen, eine je Art von Zeichen
MDCAus Markdown aufrufbare Komponenten

Die Version von jedem steht in package.json, wo eine Zahl hingehört — eine zweite Kopie in Prosa ist eine, die stillschweigend veraltet.

Icons

Vier Sammlungen, weil einfarbig und selbstfarbig verschiedene Aufgaben sind — die Regel, die entscheidet, welche was zeichnet, steht unter Konventionen.

SatzZeichnetLizenz
Lucidedie OberflächeISC
vscode-iconsDateien, Fence-Sprachen, die WerkzeugeMIT
Simple Iconsdie Zeichen, die vscode-icons nicht führtCC0-1.0
flag-iconsdie Flagge neben jedem LocaleMIT

Die Lizenz steht hier und nicht nur in package.json, weil der Build diese SVGs in das Ausgelieferte inlined: das Paket transportiert die Werke, also transportiert es die Hinweise.

Eine Lizenz auf einer Datei ist keine Lizenz auf eine Marke. Die Package Manager, GitHub, Discord, Claude und OpenAI sind Marken ihrer Inhaber; sie werden hier gezeichnet, um die Sache zu benennen, die sie identifizieren, und für nichts sonst.

Nachempfunden

Ideen, die duxt aus Projekten übernommen hat, auf denen es nicht aufbaut. Worauf es aufbaut, steht in der Tabelle oben — nichts wird zweimal genannt.

  • shadcn/ui — die ursprüngliche Idee: Komponenten, die dir als Dateien gehören, statt sie als Abhängigkeit zu importieren. Jede Komponente in dieser Ebene ist deswegen hier.
  • shadcn-docs-nuxt — der nächste Nachbar, und der Beweis, dass eine Dokumentationsvorlage auf Nuxt Content und shadcn-vue sich lohnt.
  • Docus — die ursprüngliche Ergonomie „eine Ebene erweitern, eine Doku-Seite bekommen“ im Nuxt-Ökosystem.
  • Nuxt UI — für das maschinenlesbare Ende: llms.txt und ein Dokumentations-Endpunkt, den ein Agent aufrufen kann, behandelt als Build-Ausgabe statt als Zusatz.
  • VitePress und Starlight — für das, was ein Dokumentations-Theme einem Leser standardmäßig schuldet: einen Versionsumschalter, der die Navigation überlebt, ein Inhaltsverzeichnis, das mitläuft, eine Suche, die ohne Konfiguration da ist.

Hier nicht genannt

Zwei Dinge fehlen mit Absicht. Die eigenen Abhängigkeiten der Ebene stehen in package.json und brauchen keine zweite, handgepflegte Kopie; und wer eine bestimmte Seite geschrieben hat, wird auf dieser Seite genannt, aus der git-Historie dahinter, statt in einer Liste hier, die beim nächsten Commit veralten würde.

War diese Seite hilfreich?