• เพิ่มความสามารถในการเรนเดอร์ไดอะแกรมข้อความเป็น ASCII ใน D2 เวอร์ชัน 0.7.1
  • สามารถใช้ ไดอะแกรม ASCII แบบเรียบง่าย ในคอมเมนต์ของโค้ดเพื่ออธิบายลำดับการทำงานของฟังก์ชันหรือคลาสได้
  • โดยค่าเริ่มต้นจะใช้ อักขระ Unicode แต่สามารถเลือกใช้ ASCII มาตรฐานได้ด้วย option flag
  • ฟีเจอร์นี้ยังอยู่ใน ขั้นอัลฟา จึงยังไม่รองรับบางสไตล์ อักขระพิเศษ และรูปทรงบางชนิด
  • สามารถ ทดลองเรนเดอร์ ASCII ได้โดยตรง ใน D2 Playground และส่วนขยาย Vim เป็นต้น

แนะนำการเรนเดอร์ ASCII ของ D2

ตั้งแต่รีลีสล่าสุดของ D2 (เวอร์ชัน 0.7.1) ได้เพิ่ม ความสามารถในการส่งออกเป็น ASCII สำหรับไดอะแกรมข้อความ
ไฟล์เอาต์พุตที่มีนามสกุล .txt จะถูกเรนเดอร์ด้วยตัวเรนเดอร์ ASCII โดยอัตโนมัติ
สามารถดูตัวอย่างได้ใน ส่วนขยาย D2 สำหรับ Vim โดยเมื่อเปิดไฟล์ .d2 และดูผ่านหน้าต่างพรีวิว ก็สามารถตรวจสอบสถานะเอาต์พุตไดอะแกรม ASCII แบบเรียลไทม์ทุกครั้งที่บันทึกได้

การใช้งานในการจัดทำเอกสารโค้ด

ไดอะแกรม ASCII มีประโยชน์มากที่สุดเมื่อแทรกไว้ใน คอมเมนต์ของซอร์สโค้ด

  • หากเพิ่มไดอะแกรมแบบง่ายไว้ข้างฟังก์ชันหรือคลาสขนาดเล็ก ก็จะช่วยให้เข้าใจโค้ดได้อย่างเป็นธรรมชาติมากกว่าการอธิบายลำดับการทำงานด้วยข้อความเพียงอย่างเดียว
  • ในส่วนขยาย Vim สามารถเขียนโค้ด D2 แล้วแปลงส่วนที่เลือกให้เป็นไดอะแกรม ASCII ได้ทันที

การเลือกระหว่าง Unicode และ ASCII มาตรฐาน

การเรนเดอร์ ASCII แบบดีฟอลต์จะใช้อักขระวาดกรอบของ Unicode เพื่อให้เอาต์พุตดูสวยงามกว่า

  • หากต้องการ ความเข้ากันได้สูงสุด ก็สามารถเรนเดอร์ด้วยอักขระ ASCII ปกติได้ผ่าน option flag --ascii-mode=standard

ข้อจำกัดในปัจจุบัน

ฟีเจอร์การเรนเดอร์ ASCII นี้ยังอยู่ใน ขั้นอัลฟา

  • อาจยังมีเคสขอบ ความจุดที่ควรปรับปรุง และบั๊กอีกจำนวนมาก
  • ผู้พัฒนาสนับสนุนให้ส่งรายงานบั๊กหรือฟีดแบ็กผ่านเว็บไซต์

ข้อจำกัดหลัก

  • ยังไม่รองรับสไตล์
    • แอนิเมชัน ฟอนต์ เป็นต้น ไม่มีความหมายใน ASCII
    • มีแผนพิจารณารองรับสไตล์แบบจำกัดบางส่วนในอนาคต เช่น สีของเทอร์มินัล
    • ธีมก็ยังไม่รองรับ
    • double-border, multiple เป็นต้น อยู่ในรายการที่จะปรับปรุงในอนาคต
  • ระยะห่างไม่สม่ำเสมอ
    • ในกระบวนการแปลงเป็น ASCII การจัดวางกล่องอาจไม่สม่ำเสมอเมื่อเทียบกับ SVG
  • สิ่งที่ยังเรนเดอร์ไม่ได้
    • ยังไม่รองรับข้อความพิเศษ เช่น Markdown, Latex และโค้ด
    • ไม่สามารถเรนเดอร์รูปภาพ ไอคอน UML class และ SQL table ได้
    • สำหรับรายการเหล่านี้ จะตัดออกหรือแสดงเป็น placeholder จะตัดสินใจภายหลัง
  • ยังไม่รองรับรูปทรงบางชนิด
    • รูปทรงเส้นโค้ง เช่น cloud หรือวงกลม แสดงผลใน ASCII ได้ไม่ดี
    • รูปทรงเหล่านี้จะถูกแทนด้วยสี่เหลี่ยม และเพิ่มไอคอนขนาดเล็กที่มุมซ้ายบนเพื่อแยกประเภท

ลองใช้งานด้วยตัวเอง

ฟีเจอร์นี้สามารถใช้งานได้ทันทีใน D2 Playground

  • สามารถเปิดโค้ดบล็อกที่ให้มาแล้วทดลองเรนเดอร์ ASCII ได้ด้วยตัวเอง

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น