- D2 0.7.1 संस्करण में टेक्स्ट डायग्राम को ASCII में render करने की सुविधा जोड़ी गई
- कोड comments में सरल ASCII diagrams का उपयोग करके function या class के flow को समझाया जा सकता है
- डिफ़ॉल्ट रूप से Unicode characters का उपयोग होता है, लेकिन option flag से standard ASCII चुनना संभव है
- यह सुविधा अभी alpha stage में है, इसलिए कुछ styles, special characters और कुछ खास shapes सपोर्ट नहीं होते
- D2 Playground और Vim extension आदि में सीधे ASCII rendering आज़माई जा सकती है
D2 ASCII rendering का परिचय
D2 की latest release (संस्करण 0.7.1) से टेक्स्ट डायग्राम के लिए ASCII output feature जोड़ी गई है।
.txt extension वाली output files अपने-आप ASCII renderer से render की जाती हैं।
इसका उदाहरण D2 Vim extension में देखा जा सकता है, जहाँ .d2 file खोलकर preview window के ज़रिए हर save पर ASCII diagram output की स्थिति real time में देखी जा सकती है.
कोड documentation में उपयोग
ASCII diagrams का सबसे व्यावहारिक उपयोग source code comments में insert करने के लिए है
- किसी छोटे function या class के पास एक simple diagram जोड़ने से, flow को सिर्फ़ शब्दों में समझाने की तुलना में कोड को ज़्यादा सहज रूप से समझने में मदद मिलती है
- Vim extension में D2 code लिखकर चुने गए हिस्से को सीधे ASCII diagram में बदला जा सकता है
Unicode और standard ASCII में चयन
डिफ़ॉल्ट ASCII rendering Unicode box-drawing characters का उपयोग करती है, जिससे output अधिक आकर्षक दिखता है
- अगर maximum portability चाहिए, तो
--ascii-mode=standardoption flag के ज़रिए सामान्य ASCII characters में भी render किया जा सकता है
वर्तमान सीमाएँ
यह ASCII rendering सुविधा अभी alpha stage में है
- कई corner cases, सुधार के बिंदु और bugs मौजूद हो सकते हैं
- वेबसाइट पर bug report या feedback भेजने के लिए प्रोत्साहित किया गया है
मुख्य सीमाएँ
- style support नहीं
- animation, font आदि का ASCII में कोई अर्थ नहीं है
- आगे terminal colors जैसी कुछ सीमित style support पर विचार करने की योजना है
- themes भी supported नहीं हैं
- double-border, multiple आदि भविष्य में सुधार के लिए सूचीबद्ध हैं
- अनियमित spacing
- ASCII में बदलने की प्रक्रिया के दौरान box placement, SVG की तुलना में अनियमित हो सकती है
- जिन्हें render नहीं किया जा सकता
- Markdown, Latex, code जैसे special text का support अभी लागू नहीं है
- images, icons, UML classes, SQL tables आदि render नहीं किए जा सकते
- ऐसे elements को हटाया जाए या placeholder दिखाया जाए, इस पर बाद में निर्णय लिया जाएगा
- कुछ shapes unsupported हैं
- cloud, circle जैसी curved shapes को ASCII में ठीक से दिखाना मुश्किल है
- ऐसे shapes को rectangle से replace किया जाता है और बाएँ ऊपर एक छोटा icon जोड़कर प्रकार अलग दिखाया जाता है
खुद आज़माएँ
यह सुविधा D2 Playground में तुरंत इस्तेमाल की जा सकती है
- दिए गए code block को खोलकर सीधे ASCII rendering का अनुभव किया जा सकता है
अभी कोई टिप्पणी नहीं है.