Trees - Open-Source-Bibliothek zum Rendern von Dateibäumen
(trees.software)- Eine Bibliothek zum Zeichnen von Datei-/Verzeichnisstrukturen, ähnlich dem Dateifenster von VSCode
- Entwickelt mit Fokus auf hohe Anpassungsfreiheit sowie Performance und Flexibilität
- Integrierte automatische Virtualisierung, die auch Zehntausende Einträge schnell rendert, indem nur die auf dem Bildschirm sichtbaren Zeilen gemountet und verarbeitet werden
- Breite Unterstützung für Funktionen, die für Tree-UIs im Stil von Entwicklerwerkzeugen nötig sind, etwa Git-Status-Badges, Drag-and-Drop, Suche und Filter nach Namen sowie benutzerdefinierte Kontextmenüs
- Barrierefreiheit standardmäßig enthalten mit Unterstützung für Tastaturnavigation, Fokusverwaltung und ARIA gemäß WCAG 2.1
- Feinsteuerung des Erscheinungsbilds über CSS-Variablen, Shiki-Themes, Dichteanpassung usw.
- Kann zur Implementierung von Sidebar-Bäumen in Editoren/Code-Hosting-Tools verwendet werden
- Wichtige Funktionen im Detail
flattenEmptyDirectories: Unterstützt Abflachung des Baums, indem Ordnerketten mit nur einem Kind in einer Zeile zusammengefasst werdengitStatus: Zeigt Git-Status-Badges für hinzugefügte, geänderte, gelöschte, umbenannte, nicht verfolgte und ignorierte Dateien an; bei Ordnern mit geänderten untergeordneten Einträgen wird automatisch ein Punktindikator angezeigtdragAndDrop: Drag-and-Drop-Verschieben von Dateien und Ordnern in andere Ordner oder ins Wurzelverzeichnis; das Drop-Ziel wird beim Hover automatisch aufgeklappt, und über den CallbackcanDraglassen sich bestimmte Pfade sperren- Unterstützt die Konfiguration benutzerdefinierter Kontextmenüs für neue Dateien, neue Ordner, Umbenennen, Löschen usw.
- Über das Suchfeld schnelle Filterung auf Basis von Namen und Pfaden mit den drei Modi
hide-non-matches,collapse-non-matchesundexpand-matches - Bietet drei integrierte Icon-Sets:
minimal,standardundcomplete - Mit der Option
density(compact,default,relaxed) lassen sich Zeilenhöhe und Abstände auf einmal anpassen
2 Kommentare
So als Alias zu verwenden, ist praktisch.
alias t='tree -N -C -L 2 -I "node_modules|cache|dist|test_"'
alias tt='tree -N -C -L 3 -I "node_modules|cache|dist|test_"'
alias ttt='tree -N -C -L 4 -I "node_modules|cache|dist|test_"'
alias tttt='tree -N -C -L 5 -I "node_modules|cache|dist|test_"'
Scheint ein unterhaltsames und nützliches Open-Source-Projekt zu sein.