Sobre el proyecto

D2 es un lenguaje específico de dominio para generar diagramas a partir de texto. Los usuarios escriben archivos .d2 que describen nodos, conexiones, formas y estilos, y D2 los representa como diagramas visuales. Funcionalidades clave incluyen: - Uso de línea de comandos: Ejecutar `d2 --watch in.d2 out.svg` para producir SVGs con recarga en vivo en una ventana del navegador al cambiar los archivos. - Formatos de exportación: SVG, PNG, GIF, PDF y PPTX. - Motores de disposición: Tres motores integrados — Dagro (predeterminado, disposiciones jerárquicas/capas, una implementación nativa en Go de Dagre), ELK (implementación nativa en Go adecuada para diagramas de nodos y enlaces con dirección y puertos), y TALA (opcional, diseñado específicamente para diagramas de arquitectura de software). También se admiten disposiciones especializadas para diagramas de secuencia y cuadrículas. - Temas: Una variedad de temas oficiales vienen con D2 para estilizar de forma inmediata. - Fuentes: Incluye "Source Sans Pro"; se pueden configurar fuentes alternativas. - Herramientas de lenguaje: El analizador informa de múltiples errores, incluye un formateador automático, resaltado de sintaxis y soporte LSP planeado. Extensiones oficiales para VSCode y Vim están disponibles. - Biblioteca de Go: D2 se puede utilizar como biblioteca de Go para producir diagramas de forma programática. - Renderizado en modo boceto mediante rough-go (una implementación nativa en Go de Rough.js) y soporte para etiquetas LaTeX mediante mathjax-go (una implementación nativa en Go de MathJax). La instalación está disponible mediante un script de instalación (`curl -fsSL https://d2lang.com/install.sh | sh -s --`), fuente de Go (`go install github.com/d2lang/d2@latest`) o versiones de construcción. También se proporciona una opción de desinstalación. Existe una amplia ecosistema de plugins de la comunidad, incluyendo integraciones para Obsidian, MdBook, MkDocs, VitePress, Hexo, filtros de Pandoc, Confluence, Logseq, Zed, Emacs, gramática de tree-sitter y exportadores para esquemas de Postgres, MongoDB, Structurizr, AsyncAPI, ROS2 y ensamblajes CIL. Un entorno de prueba web está disponible en play.d2lang.com. D2 se utiliza en documentación por proyectos de código abierto notables como ElasticSearch, Sourcegraph, Temporal, Tauri, IntelliJ, Coder, UC Berkeley, LocalStack y Dagger. Está licenciado bajo Mozilla Public License 2.0. No se recopila telemetría; D2 no utiliza una conexión a internet después de la instalación excepto para comprobaciones periódicas de actualizaciones en GitHub.