d2(1) General Commands Manual d2(1)

d2 — کامپایل و رندر دیاگرام‌های d2 به svg

d2 [--watch false] [--theme ] [--salt string] file.d2 [file.svg | file.png | file.pdf | file.pptx | file.gif | file.txt] d2 layout [name] d2 fmt file.d2 ... d2 play file.d2 d2 validate file.d2

دستور d2 فایل file.d2 را به file.svg | file.png | file.pdf | file.pptx | file.gif | file.txt کامپایل و رندر می‌کند.

اگر مسیر خروجی داده نشود، پیش‌فرض file.svg است.

برای خواندن از stdin یا نوشتن در stdout، مقدار - را ارسال کنید.

هرگز از وجود فایل خروجی برای بررسی موفقیت استفاده نکنید. همیشه از وضعیت خروج d2 استفاده کنید. دلیل این امر این است که گاهی اوقات هنگام بروز خطا در زمان رندر، d2 همچنان خروجی رندر جزئی را می‌نویسد تا امکان اصلاح و تکرار روی دیاگرام خراب فراهم شود.

مستندات بیشتر، کد منبع و مجوز را در https://github.com/d2lang/d2 ببینید.

آیکون‌های میزبانی‌شده در https://icons.d2lang.com

محیط اجرای آنلاین (Playground) در https://play.d2lang.com

, --watch false
پایش تغییرات فایل ورودی و بارگذاری مجدد زنده. از $PORT و $HOST برای تعیین آدرس گوش دادن استفاده کنید.
, --host localhost
آدرس گوش دادن میزبان در هنگام استفاده به همراه watch.
, --port 0
پورت گوش دادن در هنگام استفاده به همراه watch.
, --theme 0
تنظیم شناسه پوسته (تم) دیاگرام.
-1
پوسته‌ای که در صورت فعال بودن حالت تاریک در مرورگر بیننده استفاده می‌شود. اگر تنظیم نشود، --theme هم برای حالت روشن و هم تاریک استفاده خواهد شد. توجه داشته باشید که استایل‌های صریح تنظیم‌شده در کد D2 همچنان اعمال می‌شوند و ممکن است نتایج غیرمنتظره‌ای ایجاد کنند. ما قصد داریم این مشکل را با اختصاصی‌سازی نقشه‌های استایل در حالت روشن/تاریک D2 حل کنیم. ببینید: https://github.com/d2lang/d2/issues/831.
, --sketch false
رندر کردن دیاگرام به شکلی که انگار با دست طراحی شده است.
flag
قرار دادن SVG در مرکز کادر نمایش ظرف (viewbox)، مانند صفحه مرورگر شما.
-1
مقیاس‌بندی خروجی. برای نمونه، 0.5 برای نصف کردن اندازه پیش‌فرض. مقدار پیش‌فرض -1 به این معنی است که SVGها با صفحه تطبیق داده می‌شوند و سایر فرمت‌ها از اندازه پیش‌فرض رندر خود استفاده خواهند کرد. تنظیم روی 1 تطبیق SVG با اندازه صفحه را خاموش می‌کند.
مسیر فایل .ttf برای قلم عادی (regular). در صورت عدم ارائه، از Source Sans Pro Regular استفاده می‌شود.
مسیر فایل .ttf برای قلم مورب (italic). در صورت عدم ارائه، از Source Sans Pro Regular-Italic استفاده می‌شود.
مسیر فایل .ttf برای قلم توپر (bold). در صورت عدم ارائه، از Source Sans Pro Bold استفاده می‌شود.
مسیر فایل .ttf برای قلم نیمه‌توپر (semibold). در صورت عدم ارائه، از Source Sans Pro Semibold استفاده می‌شود.
مسیر فایل .ttf برای قلم تک‌فاصله (monospace). در صورت عدم ارائه، از Source Code Pro Regular استفاده می‌شود.
مسیر فایل .ttf برای قلم تک‌فاصله توپر (monospace bold). در صورت عدم ارائه، از Source Code Pro Bold استفاده می‌شود.
مسیر فایل .ttf برای قلم تک‌فاصله مورب (monospace italic). در صورت عدم ارائه، از Source Code Pro Italic استفاده می‌شود.
مسیر فایل .ttf برای قلم تک‌فاصله نیمه‌توپر (monospace semibold). در صورت عدم ارائه، از Source Code Pro Semibold استفاده می‌شود.
100
فاصله درونی (حاشیه امن به پیکسل) پیرامون دیاگرام رندرشده.
0
در صورت تعیین، چندین برد به صورت یک فایل SVG بسته‌بندی می‌شوند که با این فاصله زمانی (به میلی‌ثانیه) بین هر برد جابجا می‌شود. فقط با خروجی‌های SVG یا GIF قابل استفاده است. برای خروجی‌های GIF، در صورت عدم تعیین، مقدار پیش‌فرض ۱۰۰۰ میلی‌ثانیه است.
true
فایل اجرایی مرورگری که دستور پایش باز می‌کند. تنظیم روی 0 هیچ مرورگری را باز نمی‌کند.
, --layout dagre
تنظیم موتور چیدمان دیاگرام به رشته ارائه‌شده. برای مشاهده فهرست گزینه‌های موجود، دستور layout را اجرا کنید.
, --bundle true
بسته‌بندی تمام دارایی‌ها و لایه‌ها در فایل خروجی svg.
false
پیوستی برای نکات ابزار (tooltips) و پیوندها به خروجی‌های PNG اضافه می‌شود زیرا تعاملی نیستند. تنظیم این گزینه روی true، پیوست را به خروجی‌های SVG نیز اضافه می‌کند.
برد هدف برای رندر کردن. برای هدف قرار دادن برد ریشه، یک رشته خالی ارسال کنید. اگر هدف با '*' خاتمه یابد، همراه با تمام سناریوها، مراحل و لایه‌هایش رندر می‌شود. در غیر این صورت، تنها برد هدف رندر خواهد شد. برای مثال --target='' فقط برای رندر کردن برد ریشه یا --target='layers.x.*' برای رندر لایهٔ 'x' همراه با تمام فرزندان آن.
, --debug
چاپ گزارش‌های اشکال‌زدایی.
true
در حالت پایش، تصاویر استفاده‌شده در آیکون‌ها برای کامپایل‌های بعدی ذخیره می‌شوند (cache). اگر احتمال تغییر تصاویر وجود دارد، این گزینه باید غیرفعال شود.
120
حداکثر زمان اجرا (به ثانیه) برای D2 پیش از اتمام مهلت و خروج. هنگام رندر دیاگرام‌های بزرگ، افزایش این مقدار توصیه می‌شود.
false
بررسی اینکه آیا فایل‌های مشخص‌شده به درستی قالب‌بندی شده‌اند یا خیر.
string
افزودن مقدار سالت (salt) برای اطمینان از استفاده خروجی از شناسه‌های یکتا. این گزینه هنگام تولید چندین دیاگرام مشابه برای قرار گرفتن در یک سند HTML کاربرد دارد تا شناسه‌های تکراری باعث نامعتبر شدن HTML نشوند. مقدار سالت رشته‌ای است که به شناسه‌ها در خروجی اضافه خواهد شد.
, --help
چاپ اطلاعات نحوه استفاده و خروج.
, --version
چاپ اطلاعات نسخه و خروج.
string
تنظیم قالب خروجی هنگام نوشتن در خروجی استاندارد (stdout). قالب‌های پشتیبانی‌شده: png, svg, ascii, txt, pdf, pptx, gif. فقط زمانی استفاده می‌شود که خروجی روی stdout (-) تنظیم شده باشد.
false
حذف تگ XML (مانند <?xml ...?>) از فایل‌های خروجی SVG. برای تولید SVG جهت قرار دادن مستقیم در HTML مفید است.
false
حذف نسخه D2 از تصویر تولیدشده.
extended
حالت رندر ASCII برای خروجی‌های متنی. گزینه‌ها: 'standard' (کاراکترهای پایه ASCII) یا 'extended' (کاراکترهای یونیکد).

layout
فهرست کردن گزینه‌های موجود موتورهای چیدمان همراه با راهنمای کوتاه.
layout [name]
نمایش راهنمای کامل برای یک موتور چیدمان خاص، شامل گزینه‌های پیکربندی آن.
themes
فهرست کردن پوسته‌های در دسترس.
fmt file.d2 ...
قالب‌بندی تمام فایل‌های ارسال‌شده.
play file.d2
باز کردن فایل در playground، یک نمایشگر وب آنلاین (https://play.d2lang.com)
validate file.d2
اعتبارسنجی فایل file.d2.

بسیاری از فلگ‌ها را می‌توان با متغیرهای محیطی نیز تنظیم کرد.

فلگ -w[atch] را ببینید.
فلگ -l[ayout] را ببینید.
فلگ -t[heme] را ببینید.
فلگ --dark-theme را ببینید.
فلگ --pad را ببینید.
فلگ --center را ببینید.
فلگ -s[ketch] را ببینید.
فلگ -b[undle] را ببینید.
فلگ --force-appendix را ببینید.
فلگ --font-regular را ببینید.
فلگ --font-italic را ببینید.
فلگ --font-bold را ببینید.
فلگ --font-semibold را ببینید.
فلگ --font-mono را ببینید.
فلگ --font-mono-bold را ببینید.
فلگ --font-mono-italic را ببینید.
فلگ --font-mono-semibold را ببینید.
فلگ --animate-interval را ببینید.
فلگ --timeout را ببینید.
فلگ --check را ببینید.
فلگ --ascii-mode را ببینید.
فلگ -d[ebug] را ببینید.
فلگ --img-cache را ببینید.
فلگ -h[ost] را ببینید.
فلگ -p[ort] را ببینید.
فلگ --browser را ببینید.
فلگ --stdout-format را ببینید.
فلگ --no-xml-tag را ببینید.
فلگ --omit-version را ببینید.

d2plugin-tala(1)

D2 contributors

September 24, 2026 Linux 6.12.107+deb13-amd64