Trees - pustaka open source untuk merender file tree
(trees.software)- Pustaka untuk menggambar struktur file/direktori yang mirip dengan panel file di VSCode
- Dirancang dengan fokus pada kebebasan kustomisasi yang tinggi serta performa dan fleksibilitas
- Dilengkapi virtualisasi otomatis yang merender puluhan ribu item dengan cepat, hanya me-mount baris yang terlihat di layar
- Mendukung secara luas fitur yang dibutuhkan UI tree bergaya alat pengembang, seperti badge status Git, drag and drop, pencarian dan filter nama, serta menu konteks kustom
- Mendukung navigasi keyboard, manajemen fokus, ARIA, dan lainnya, sehingga aksesibilitas tersedia secara bawaan sesuai standar WCAG 2.1
- Tampilan dapat dikontrol secara detail melalui variabel CSS, tema Shiki, pengaturan kepadatan, dan lainnya
- Dapat digunakan untuk mengimplementasikan tree sidebar pada alat editor/hosting kode
- Detail fitur utama
flattenEmptyDirectories: mendukung perataan tree dengan menggabungkan rantai folder yang hanya memiliki satu anak menjadi satu barisgitStatus: menampilkan badge status Git untuk file yang ditambahkan, diubah, dihapus, diubah namanya, belum dilacak, atau diabaikan; folder yang memiliki item turunan yang berubah akan otomatis menampilkan indikator titik (dot)dragAndDrop: memindahkan file/folder dengan drag ke folder lain atau ke root; target drop akan otomatis terbuka saat di-hover, dan jalur tertentu bisa diblokir lewat callbackcanDrag- Mendukung penyusunan menu konteks kustom untuk file baru, folder baru, ubah nama, hapus, dan lainnya
- Melalui kotak pencarian, mendukung filter cepat berbasis nama/jalur dengan tiga mode:
hide-non-matches,collapse-non-matches, danexpand-matches - Menyediakan tiga set ikon bawaan:
minimal,standard, dancomplete - Opsi
density(compact,default,relaxed) untuk menyesuaikan tinggi baris dan jarak sekaligus
2 komentar
Kalau dipakai dengan alias seperti ini akan lebih praktis.
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_"'
Sepertinya ini open source yang menarik dan berguna.