Об этом проекте
D2 — это специализированный язык для генерации диаграмм из текстовых описаний. Пользователи пишут файлы .d2, описывающие узлы, связи, формы и стили, а D2 преобразует их в визуальные диаграммы.
Основные возможности:
- Использование CLI: Запустите `d2 --watch in.d2 out.svg`, чтобы получать SVG с автоматическим обновлением в браузере при изменении файла.
- Форматы экспорта: SVG, PNG, GIF, PDF и PPTX.
- Движки компоновки: Три встроенных движка — Dagro (по умолчанию, иерархические/слоистые макеты, порт Dagre на Go), ELK (порт на Go для диаграмм узел-связь с направлением и портами) и TALA (опциональный, для архитектурных диаграмм). Также поддерживаются специализированные макеты для последовательных диаграмм и таблиц.
- Темы: В комплект входит множество официальных тем для быстрого стилизованного вывода.
- Шрифты: По умолчанию используется “Source Sans Pro”; можно настроить альтернативные шрифты.
- Инструменты языка: Парсер сообщает о нескольких ошибках, включает автоформатирование, подсветку синтаксиса и планируемую поддержку LSP. Доступны официальные плагины для VSCode и Vim.
- Библиотека Go: D2 можно использовать как библиотеку Go для программной генерации диаграмм.
- Рендеринг в режиме эскиза через rough-go (порт Rough.js на Go) и поддержка меток LaTeX через mathjax-go (порт MathJax на Go).
Установка возможна через скрипт (`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 используется в документации таких известных open-source проектов, как ElasticSearch, Sourcegraph, Temporal, Tauri, IntelliJ, Coder, UC Berkeley, LocalStack и Dagger. Лицензия — Mozilla Public License 2.0. Телеметрия не собирается; D2 не использует интернет после установки, за исключением периодических проверок обновлений версии на GitHub.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.