- Pada D2 versi 0.7.1, ditambahkan fitur untuk merender diagram teks ke ASCII
- Dengan diagram ASCII sederhana di komentar kode, alur fungsi atau kelas bisa dijelaskan
- Secara default menggunakan karakter Unicode, tetapi dapat memilih ASCII standar melalui flag opsi
- Fitur ini masih dalam tahap alfa, sehingga sebagian style, karakter khusus, dan bentuk tertentu belum didukung
- Rendering ASCII dapat dicoba langsung di D2 Playground dan ekstensi Vim
Pengenalan rendering ASCII di D2
Mulai dari rilis terbaru D2 (versi 0.7.1), ditambahkan fitur output ASCII untuk diagram teks.
File output dengan ekstensi .txt akan otomatis dirender menggunakan renderer ASCII.
Contohnya bisa dilihat di ekstensi Vim D2, dan saat membuka file .d2 serta menyimpannya melalui jendela pratinjau, hasil diagram ASCII dapat dipantau secara real-time.
Pemanfaatan dalam dokumentasi kode
Diagram ASCII paling praktis saat disisipkan ke dalam komentar source code
- Jika menambahkan diagram sederhana di samping fungsi atau kelas kecil, pemahaman kode dapat terbantu secara lebih intuitif dibanding penjelasan alur biasa
- Di ekstensi Vim, Anda dapat menulis kode D2 lalu langsung mengubah area yang dipilih menjadi diagram ASCII
Memilih Unicode atau ASCII standar
Rendering ASCII bawaan menggunakan karakter box-drawing Unicode untuk memberikan output yang lebih enak dilihat
- Jika menginginkan portabilitas maksimum, Anda juga bisa merender dengan karakter ASCII biasa melalui flag opsi
--ascii-mode=standard
Keterbatasan saat ini
Fitur rendering ASCII ini masih dalam tahap alfa
- Bisa ada banyak corner case, area yang perlu ditingkatkan, dan bug
- Pengguna didorong untuk mengirim laporan bug atau masukan melalui situs web
Batasan utama
- Style belum didukung
- Animasi, font, dan sejenisnya tidak bermakna dalam ASCII
- Ke depannya akan dipertimbangkan dukungan untuk sebagian style terbatas seperti warna terminal
- Tema juga belum didukung
double-border,multiple, dan sebagainya masuk dalam daftar peningkatan untuk masa depan
- Jarak yang tidak seragam
- Dalam proses konversi ke ASCII, penempatan kotak bisa menjadi lebih tidak teratur dibanding SVG
- Objek yang tidak dapat dirender
- Dukungan untuk teks khusus seperti Markdown, Latex, dan kode belum diimplementasikan
- Gambar dan ikon, kelas UML, tabel SQL, dan sebagainya tidak dapat dirender
- Untuk item-item ini, nantinya akan diputuskan apakah akan dihapus atau ditampilkan sebagai placeholder
- Sebagian bentuk belum didukung
- Bentuk melengkung seperti cloud dan lingkaran sulit direpresentasikan dengan baik dalam ASCII
- Bentuk tersebut akan diganti dengan persegi panjang, lalu dibedakan tipenya lewat ikon kecil di kiri atas
Coba langsung
Fitur ini bisa langsung digunakan di D2 Playground
- Anda dapat membuka blok kode yang disediakan dan mencoba sendiri rendering ASCII
Belum ada komentar.