À propos du projet
D2 est un langage spécifique au domaine pour générer des diagrammes à partir de texte. Les utilisateurs écrivent des fichiers .d2 décrivant des nœuds, des connexions, des formes et des styles, et D2 les restitue sous forme de diagrammes visuels.
Les fonctionnalités clés incluent :
- Utilisation du CLI : Exécutez `d2 --watch in.d2 out.svg` pour produire des SVG avec rechargement en direct dans une fenêtre de navigateur lors des modifications de fichier.
- Formats d'exportation : SVG, PNG, GIF, PDF et PPTX.
- Moteurs de disposition : Trois moteurs intégrés — Dagro (par défaut, dispositions hiérarchiques/en couches, un portage Go natif de Dagre), ELK (portage Go natif adapté aux diagrammes nœud-lien avec direction et ports) et TALA (optionnel, conçu spécifiquement pour les diagrammes d'architecture logicielle). Des dispositions spécialisées pour les diagrammes de séquence et les grilles sont également prises en charge.
- Thèmes : Une variété de thèmes officiels est livrée avec D2 pour un style prêt à l'emploi.
- Polices : Livré avec "Source Sans Pro" ; des polices alternatives peuvent être configurées.
- Outillage linguistique : Le parseur signale plusieurs erreurs, inclut un autoformateur, la coloration syntaxique et le support LSP prévu. Des extensions VSCode et Vim sont disponibles en tant que plugins officiels.
- Bibliothèque Go : D2 peut être utilisé comme une bibliothèque Go pour produire des diagrammes de manière programmatique.
- Rendu en mode esquisse via rough-go (un portage Go natif de Rough.js) et prise en charge des étiquettes LaTeX via mathjax-go (un portage Go natif de MathJax).
L'installation est disponible via un script d'installation (`curl -fsSL https://d2lang.com/install.sh | sh -s --`), les sources Go (`go install github.com/d2lang/d2@latest`) ou les builds de code source des versions release. Une option de désinstallation est également fournie.
Un large écosystème de plugins communautaires existe, incluant des intégrations pour Obsidian, MdBook, MkDocs, VitePress, Hexo, les filtres Pandoc, Confluence, Logseq, Zed, Emacs, la grammaire tree-sitter, ainsi que des exportateurs pour les schémas Postgres, MongoDB, Structurizr, AsyncAPI, ROS2 et les assemblages CIL. Un bac à sable web est disponible sur play.d2lang.com.
D2 est utilisé dans la documentation par des projets open-source notables, notamment ElasticSearch, Sourcegraph, Temporal, Tauri, IntelliJ, Coder, UC Berkeley, LocalStack et Dagger. Il est sous licence Mozilla Public License 2.0. Aucune télémétrie n'est collectée ; D2 n'utilise pas de connexion Internet après l'installation, à l'exception de vérifications périodiques des mises à jour de version depuis GitHub.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.