عن المشروع

D2 هي لغة مُخصصة لإنشاء رسوم بيانية من النصوص. يكتب المستخدمون ملفات .d2 تصف العقد والاتصالات والأشكال والأسلوب، ويقوم D2 بتحويلها إلى رسوم بيانية مرئية. الخصائص الرئيسية تشمل: - استخدام واجهة سطر الأوامر: قم بتشغيل `d2 --watch in.d2 out.svg` لإنشاء ملفات SVG مع إعادة تحميل فورية في نافذة المتصفح عند تغيير الملف. - أشكال التصدير: SVG، PNG، GIF، PDF، وPPTX. - محركات التخطيط: ثلاث محركات مدمجة — Dagro (الافتراضي، تخطيطات طبقية/متعددة الطبقات، نسخة Go الأصلية من Dagre)، ELK (نسخة Go الأصلية مناسبة لرسومات العقد والاتصالات مع الاتجاه والمنافذ)، وTALA (مُفعَّل اختياريًا، مصمم خصيصًا لرسومات المعمارية البرمجية). تدعم أيضًا تخطيطات مخصصة لرسومات التسلسل والشبكات. - القوالب: تشمل D2 مجموعة من القوالب الرسمية للاستخدام الفوري. - الخطوط: تأتي مع "Source Sans Pro"؛ يمكن تكوين خطوط بديلة. - أدوات اللغة: يُبلغ المُحلل عن أخطاء متعددة، ويحتوي على مُصَوِّر تلقائي، وتحديد لون الجملة، ودعم مخططات الملفات المخطط (LSP) المخطط. هناك إضافات لـ VSCode وVim كإضافات رسمية. - مكتبة Go: يمكن استخدام D2 كمكتبة Go لإنشاء رسوم بيانية برمجياً. - الرسم في وضع المخطط عبر rough-go (نسخة Go الأصلية من Rough.js) ودعم العلامات الرياضية عبر mathjax-go (نسخة Go الأصلية من MathJax). التركيب متاح عبر برنامج تثبيت (`curl -fsSL https://d2lang.com/install.sh | sh -s --`)، من مصادر Go (`go install github.com/d2lang/d2@latest`)، أو بناء الإصدار. خيار إزالة التثبيت متوفر أيضًا. يوجد إيكوسيست واسع من الإضافات المجتمعية، بما في ذلك التكاملات لـ Obsidian، MdBook، MkDocs، VitePress، Hexo، مُعدِّلات Pandoc، Confluence، Logseq، Zed، Emacs، قواعد tree-sitter، ومُصدِّرات لقواعد بيانات Postgres، MongoDB، Structurizr، AsyncAPI، ROS2، ووحدات CIL. هناك لعبه ويب متاحة على play.d2lang.com. تُستخدم D2 في الوثائق من قبل مشاريع مفتوحة المصدر البارزة مثل ElasticSearch، Sourcegraph، Temporal، Tauri، IntelliJ، Coder، UC Berkeley، LocalStack، وDagger. مرخصة تحت رخصة Mozilla Public License 2.0. لا يتم جمع أي تقارير عن الاستخدام؛ لا تستخدم D2 اتصالاً بالإنترنت بعد التثبيت إلا لفحص تحديثات الإصدار بشكل دوري من GitHub.