Repolode
d2lang

d2lang/d2

Текстовый язык для описания диаграмм и CLI, который компилирует файлы .d2 в SVG, PNG, GIF, PDF или PPTX.

Open source альтернатива:LucidchartVisio

Звёзды
25,701
Форки
767
Открытые issues
536
Последний коммит
10 дней назад

Что это?

D2 — это язык для описания диаграмм: вы задаёте узлы, связи, контейнеры и стили в обычном тексте, а CLI D2 преобразует результат в файл SVG, PNG, GIF, PDF или PPTX. В режиме watch результат перерисовывается, а предпросмотр в браузере перезагружается при каждом изменении исходного файла.

В проект входят три движка компоновки: Dagre (по умолчанию), ELK и TALA. Их можно выбирать с помощью флага, переменной окружения или настройки в исходном коде D2. Также поддерживаются отрисовка в стиле скетча и подписи LaTeX, а парсер сообщает о нескольких ошибках в повреждённом файле. Автоформаттер и подсветка синтаксиса помогают редактировать большие диаграммы и поддерживать их в порядке.

D2 также можно использовать в программах на Go как библиотеку. Расширения для VS Code, Vim и Obsidian, а также ряд плагинов сообщества для инструментов Markdown перечислены в связанных ресурсах проекта.

Ключевые возможности

  • 01Преобразует текстовые скрипты .d2 в SVG, PNG, GIF, PDF или PPTX.
  • 02Предоставляет режим watch, в котором предпросмотр в браузере автоматически обновляется при изменении файла.
  • 03Включает движки компоновки Dagre, ELK и TALA, которые можно выбирать для каждой диаграммы.
  • 04Парсер сообщает о нескольких ошибках; также доступны автоформаттер и подсветка синтаксиса.
  • 05Можно использовать как библиотеку Go для программной генерации диаграмм.

Сценарии использования

  • Документирование архитектуры ПО с хранением диаграмм рядом с кодом в системе контроля версий.
  • Поддержание системных и сетевых диаграмм в актуальном состоянии в виде текста, который удобно сравнивать и проверять.
  • Автоматическая генерация диаграмм из программ на Go или в конвейерах сборки документации.
  • Создание диаграмм сущность–связь или блок-схем для сайтов с документацией на основе Markdown.

Быстрый старт

  1. 1

    Установите D2 с помощью скрипта установки из README

  2. 2

    Установите D2 через Go

    go install github.com/d2lang/d2@latest
  3. 3

    Создайте входной файл и выполните его рендеринг с автоматической перезагрузкой

    echo 'x -> y -> z' > in.d2 && d2 --watch in.d2 out.svg

Что важно знать

  • Рекомендуемый способ установки — передать скрипт curl в sh; некоторые пользователи предпочитают избегать такого способа.
  • При установке через Go страница man не устанавливается.

Темы

Частые вопросы

Что такое d2?
Текстовый язык для описания диаграмм и CLI, который компилирует файлы .d2 в SVG, PNG, GIF, PDF или PPTX. D2 — это язык для описания диаграмм: вы задаёте узлы, связи, контейнеры и стили в обычном тексте, а CLI D2 преобразует результат в файл SVG, PNG, GIF, PDF или PPTX. В режиме watch результат перерисовывается, а предпросмотр в браузере перезагружается при каждом изменении исходного файла.
d2 можно использовать бесплатно? Какая у него лицензия?
d2 распространяется с открытым исходным кодом под лицензией MPL-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
d2 всё ещё поддерживается?
Активно поддерживается. Последний коммит в d2 — 11 окт. 2026 г..
Для чего можно использовать d2?
Документирование архитектуры ПО с хранением диаграмм рядом с кодом в системе контроля версий. Поддержание системных и сетевых диаграмм в актуальном состоянии в виде текста, который удобно сравнивать и проверять. Автоматическая генерация диаграмм из программ на Go или в конвейерах сборки документации. Создание диаграмм сущность–связь или блок-схем для сайтов с документацией на основе Markdown.
Как установить d2?
Установите D2 с помощью скрипта установки из README Установите D2 через Go: go install github.com/d2lang/d2@latest Создайте входной файл и выполните его рендеринг с автоматической перезагрузкой: echo 'x -> y -> z' > in.d2 && d2 --watch in.d2 out.svg
Где скачать d2?
Исходный код и инструкции по установке — на GitHub: https://github.com/d2lang/d2

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Навык для агентских инструментов, который создаёт редакционные диаграммы в одном автономном HTML-файле с SVG и поддерживает 45 типов диаграмм и оформление в стиле бренда.

58,9 тыс.3,8 тыс.HTMLMITОбновлён позавчера