GUI untuk mengedit diagram kelas Mermaid
- Keunggulan chart Mermaid: Chart Mermaid yang memungkinkan representasi diagram kompleks dengan cepat kini menjadi lebih intuitif dan mudah untuk pengeditan diagram kelas berkat pembaruan terbaru. Fitur baru ini memperluas editor visual untuk mendukung interaksi langsung dengan diagram kelas, serta menyediakan berbagai alat yang dapat meningkatkan pengalaman pengguna saat membuat diagram.
Apa itu diagram kelas?
- Definisi diagram kelas: Salah satu jenis UML (Unified Modeling Language) yang memodelkan struktur sistem dengan menampilkan kelas, atribut, metode, dan hubungan antarobjek. Ini adalah alat penting dalam desain berorientasi objek, yang membantu memvisualisasikan bagaimana berbagai bagian sistem saling berinteraksi.
- Elemen dasar:
- Kelas: Mewakili objek atau konsep.
- Atribut: Karakteristik atau properti dari suatu kelas.
- Metode: Tindakan atau operasi yang dapat dilakukan oleh kelas.
- Relasi: Menunjukkan koneksi atau interaksi antar kelas.
Alat editor visual baru
- Pengenalan alat: Toolbar editor visual memperkenalkan beberapa alat baru untuk diagram kelas.
- Mengubah arah rendering diagram: Menyesuaikan tata letak diagram.
- Menambahkan kelas baru: Menambahkan kelas baru ke diagram dengan mudah.
- Menambahkan judul dan catatan: Menambahkan judul ke diagram atau menyisipkan catatan yang tidak terhubung ke kelas tertentu.
- Menambahkan namespace kosong: Mendefinisikan placeholder untuk kelas yang termasuk dalam namespace tertentu.
- Memperbarui konfigurasi diagram: Menjaga tampilan tetap rapi dengan menyalakan atau mematikan opsi seperti visibilitas "kotak anggota kosong".
- Mengubah tema dan tata letak: Memilih berbagai tema dan menyesuaikan tampilan diagram.
Membuat kelas dan relasi baru
- Cara membuat kelas dan relasi:
- Membuat kelas baru dari relasi yang sudah ada: Klik kelas yang sudah ada di diagram lalu tarik ke ruang kosong untuk membuat kelas baru dan menetapkan relasi langsung dengan kelas asal.
- Membuat relasi antar kelas yang sudah ada: Tarik garis relasi dari satu kelas ke kelas lain untuk menyiapkan relasi dengan cepat.
Mengedit detail kelas
- Memodifikasi properti kelas: Editor visual menyediakan antarmuka interaktif yang kuat untuk memodifikasi properti kelas tanpa menulis kode. Setiap properti kelas dapat dikonfigurasi secara rinci.
- Atribut: Menentukan modifier visibilitas, mengatur tipe data, dan memberi nama atribut.
- Metode: Mengatur visibilitas metode, menentukan return type, serta menetapkan nama metode dan parameter.
Tips tambahan untuk mengoptimalkan diagram
- Bereksperimen dengan berbagai tata letak: Gunakan opsi tata letak dan tema untuk menemukan tampilan diagram yang paling optimal.
- Menambahkan konteks dengan catatan: Gunakan fitur catatan untuk menjelaskan bagian diagram dan memperjelas relasi yang kompleks.
Mulai
- Memanfaatkan alat editor visual Mermaid: Jelajahi fitur baru untuk membuat diagram kelas menjadi lebih efisien dan mudah diakses. Baik saat membuat diagram baru dari nol maupun menyempurnakan diagram yang sudah ada, pembaruan ini membantu menghemat waktu dan tenaga sehingga Anda dapat fokus pada desain dan struktur sistem.
1 komentar
Opini Hacker News
Untuk frontend Mermaid, biasanya saya memakai Claude. Saat harus menjelaskan ide yang kompleks, diagram yang cepat dibuat Claude membuat penjelasan jauh lebih mudah
Saya juga punya akun berbayar Mermaid, tetapi karena pada akhirnya paling sering memakai Claude, Claude tetap menjadi titik masuk pertama. Yang saya harapkan dari GUI adalah kemampuan memberi gaya dan warna pada diagram cepat seperti ini, serta sedikit memindahkan kotak agar panahnya lebih baik daripada tata letak otomatis
Melihat blognya, sepertinya fitur untuk mengubah warna dan styling tiap kotak mungkin saja tidak ada, padahal saat menanganinya secara manual lewat kode, bagian itulah yang paling memakan waktu, jadi akan menyenangkan jika ada alat yang kaya fitur
Padahal Claude punya widget Mermaid sendiri, tetapi saya tetap tidak bisa membuatnya memperbaiki galat kodenya sendiri
Saya Dominic dari tim produk Mermaid. Jika ada masalah produk saat ini, permintaan perbaikan, atau hal yang ingin dibicarakan, silakan kirim email ke dominic@mermaidchart.com atau jadwalkan waktu di kalender: https://calendly.com/dominic-01w/mermaid-shapers-product-int...
Saya membuat editor Markdown bernama KeenWrite(https://keenwrite.com/), dan membuatnya dapat menyematkan diagram dengan sintaks triple backtick. Editor ini mem-parsing prefiks
diagram-, meneruskan kata sepertigraphvizke Kroki(https://kroki.io/), lalu Kroki merender berbagai diagram ASCII termasuk MermaidDalam Markdown, potongan kode sumber pada dasarnya ditampilkan dengan font monospace dengan menambahkan pengenal bahasa setelah triple backtick, jadi sayang sekali GitHub mematahkan konvensi ini ketika membuat standar de facto untuk diagram Mermaid
Untuk alat yang ingin diadopsi luas, menurut saya rendering tanpa browser harus menjadi prioritas utama sebagai kemampuan dasar yang melampaui PoC
Saya baru-baru ini mencoba ini dan awalnya menyukainya. ChatGPT juga cukup baik menghasilkan diagram Mermaid, tetapi saya belum mencoba fitur AI bawaannya
Namun setelah membuat diagram dengan kompleksitas sedang, ketika mencoba memperbaiki layout dengan menyeretnya sendiri lewat fitur Whiteboard, semuanya jadi cukup goyah. Sulit merapikannya ke posisi yang diinginkan atau melakukan drag dengan baik, dan overlap juga sulit diatasi. Sayang juga beberapa jenis diagram tidak mendukung Whiteboard
Perbedaan fitur antara mermaidchart.com dan mermaid.live juga membingungkan. Saya tidak tahu apakah itu produk pesaing atau variasi dari aplikasi serupa, dan nama “Playground” serta “Live Editor” juga membingungkan. Meski begitu, saya senang produk ini ada dan berharap terus membaik
mermaidchart.com dan mermaid.live dijalankan oleh tim yang sama. Mermaid.live adalah editor asli dari proyek open source berusia 10 tahun sekaligus editor hosting yang sepenuhnya open source
Pencipta Mermaid baru-baru ini membuat mermaidchart.com bersama venture studio milik CEO GitLab, dan kami sedang memperluasnya untuk lebih banyak pengguna serta fitur kelas enterprise. Perusahaannya adalah open core dan telah menerima pendanaan ventura, tetapi proyek Mermaid akan tetap open source dan kami akan terus berinvestasi di dalamnya
Alat diagram dengan algoritme tata letak otomatis biasanya hanya saya pakai saat membuat visualisasi untuk debugging secara terprogram. Kalau untuk dokumentasi, saya lebih suka menggambarnya manual dengan OmniGraffle
Membuat grafik terlihat bagus dengan alat seperti graphviz itu sangat rumit, dan pada akhirnya kita jadi menyalahgunakan fitur secara akal-akalan demi mendapatkan bentuk yang diinginkan
Menurut saya yang benar-benar dibutuhkan adalah algoritme tata letak graf berbasis machine learning yang bisa mempertimbangkan keterbacaan dan estetika. Yang saya temukan sejauh ini cenderung berfokus pada penampilan graf berukuran besar, jadi lebih dekat ke bidang lain
Kalau Mermaid mengumpulkan semua titik edit yang terjadi di UI, itu sepertinya bisa menjadi dataset yang cukup bagus
Contoh yang lebih besar ada di sini: https://play.d2lang.com/?script=rJLfavMwDMXv_RR6gYbvo3ce7FWG...
Saya tidak suka promosi diri di tulisan pesaing, tetapi karena ini tidak bersaing dengan arah Mermaid untuk membuat layout engine sendiri, saya rasa ini relevan dalam konteks ini
Eksperimen dari tim Kiel University yang mengembangkan ELK: https://github.com/kieler/KLighD
Wiki proyek Kieler: https://rtsys.informatik.uni-kiel.de/confluence/display/KIEL...
Library penggambaran graf berbasis constraint: https://www.adaptagrams.org/, implementasi JS: https://ialab.it.monash.edu/webcola/
Selain itu, makalah HOLA https://ialab.it.monash.edu/~dwyer/papers/hola2015.pdf, demo Confluent Graphs https://www.aviz.fr/~bbach/confluentgraphs/, makalah tata letak ortogonal https://arxiv.org/pdf/1408.4626.pdf, dan makalah kompresi power graph https://arxiv.org/pdf/1311.6996v1.pdf juga layak dilihat
Saya paham bahwa algoritme tata letak otomatis adalah daya tarik besar Mermaid karena memberi kecepatan, tetapi layout saat ini kadang bisa menjadi agak kusut dan rumit
Ide model machine learning ini menarik, dan saya penasaran apa syarat dasar sebuah diagram agar mudah dibaca dan enak dilihat. Misalnya, bisa saja ada kriteria seperti apakah sudut garis harus siku-siku atau membulat. Jika bersedia berbagi pemikiran, silakan kirim email ke dominic@mermaidchart.com
Saya berharap ini bisa sangat mempermudah rendering diagram yang konsisten dan penyempurnaan sampai tingkat piksel terakhir. Saat ini versi alfa yang sangat awal dari renderer yang memakai Cassowary sudah berjalan, dan saya sedang membuat GUI yang bagus
Minat saya langsung hilang di “Create your account”. Akan lebih baik kalau sebelum membuat akun kita bisa mencoba editornya, lalu menyimpan ke penyimpanan lokal browser sampai merasa cocok
Saya senang Mermaid terus membaik. Untuk sequence diagram, menurut saya https://sequencediagram.org/ adalah yang terbaik. Saya bukan pihak terkait, hanya pengguna yang puas
Saya paham filosofinya berbeda, tetapi saya berharap suatu hari Mermaid bisa dipakai di dalam LaTeX. Setidaknya, kalau ada alat yang bisa mengonversi Mermaid ke TikZ secara stabil, persiapan slide rasanya akan jauh lebih mudah
Ekspor ke PNG/JPG juga bisa, tetapi biasanya banyak kustomisasi yang hilang, dan yang bisa dilakukan hanya memperbesar atau memperkecil ukuran agar pas dengan halaman
Kemarin saat melihat-lihat soal ini, saya juga menemukan GUI baru yang diperkenalkan di tulisan ini, dan akhirnya cukup kerepotan mengekspornya sebagai PNG lalu menyesuaikannya dengan tata letak halaman Beamer
Draw.io bisa menyematkan diagram Mermaid dan ada juga VSCode serta berbagai plugin IDE, jadi saya penasaran apa yang membuat ini istimewa
Pembeda Mermaid Chart adalah pengeditan dua arah. Anda bisa mengubah diagram dengan memodifikasi kode, dan jika Anda mengubah diagram secara langsung, perubahan itu otomatis tercermin di kode
Saat ini pengeditan dua arah ini tersedia untuk diagram kelas dan flowchart, dan ke depannya akan diperluas ke jenis diagram populer lainnya
Gambar “Theme Customization in Toolbar” tidak dirender
Proyeknya sendiri keren, tetapi dari sisi filosofi saya agak mempertanyakannya
Mermaid ingin menjadi Markdown untuk diagram, jadi hal terpentingnya adalah bisa diedit dan dikonsumsi sebagai teks biasa. Jika harus memakai editor visual, saya tidak mengerti mengapa tidak memakai alat yang lebih kuat saja dan keluar dari format yang terbatas
Ini mirip dengan editor Markdown WYSIWYG. Tentu saja mungkin ada ceruk pasarnya, tetapi kalau begitu bukankah lebih baik memakai Google Docs atau MS Word saja