Overview
What the Diagram Maker is and how it works
Co to jest graficzna?
Diagram Maker to narzędzie do wykonywania diagramów architektonicznych pierwszego tekstu opartego na Datro DSL** języku strukturalnym, walidowanym i kanonicznie formatowanym do opisania systemów oprogramowania jako danych, a nie obrazów.
Zamiast wyciągać pudełka na ekranie, wpisz .dtro-Plik. Łańcuch narzędzi analizuje je, weryfikuje zasady architektury, wymusza stosunki kontrastowe WCAG i renderuje je w SVG, PNG lub interaktywny JSON wszystko z jednego źródła prawdy.
Napisz, potwierdź i oddaj swój pierwszy wykres w ciągu kilku minut.
Dlaczego Datro zamiast Mermaid lub draw.io?
- Typowane węzły 23 typy semantyczne (
service,database,gateway,queue, …) automatycznie tworzyć spójne, prawidłowe wykresy. - Typowane krawędzi 21 rodzajów semantycznych (
http,query,publish,grpc, …) kodując i tworząc swoje połączenia bez manualnych przepisów. - Architektoniczne ograniczenia
database!-> externali wymusza je w momencie analizy, a nie w momencie kontroli. - Szkolenie kanoniczne –
datro fmtTransformuje każdy plik do formatu deterministycznego; diff wykazuje prawdziwe zmiany, nie reformacja dźwięku. - Importowanie i tworzenie Podzielić duże wykresy za pomocą
import, Namespace aliasing i dostarczanie witelistów do wielu plików na. - WCAG 2.1 wolność barier Odmiany kontrastów są sprawdzane automatycznie w oparciu o paletę tematyczną;
W602jest wywołana, gdy spadacie w AA. - Machine-readable JSON IR każdy wykres eksportuje bezpłatny JSON IR, który może być wykorzystywany przez każdy łańcuch narzędzi, każdy system CI lub każdy użytkownik zdefiniowany renderer.
Jak działa łańcuch narzędzi
Każdy .dtro-Plik przechodzi przez cztery etapy, zanim stanie się wykresem:
- Parsen rekursywnego leksera + parser konwertuje swój tekst źródłowy w
DatroIR-Przedmiot. Nigdy nie rzuca; wszystkie problemy sąDiagnostic[]Zwrócone z dokładnymi pozycjami linii i kolumn. - Uważanie 4 przejścia: integralność strukturalna → kontrola ograniczeń semantycznych → wskazówki → WCAG 2.1 Kontrast i dostępność długości etykiet.
- Eksportuj sprawdzony IR jest konwertowany w DOT (Graphviz), Cytoscape.js JSON lub JSON IR bez strat.
- Render wydanie DOT jest przekazywane Graphviz'owi, aby wygenerować pixelnie dokładną wersję SVG lub PNG.
Cały przykład
Te .dtro-Plik definiuje usługę płatniczą z grupami, typowanymi węzłami, semantycznymi krawędziami, regułą ograniczania, instrukcjami rozmiaru i tematem kolorowym sprawdzonym WCAG wszystko w jednym pliku:
#!DATRO 1.0
meta {
title: "Payment Service"
version: "2.0.0"
owner: "payments-team"
sla: "99.95%"
}
group data {
label: "Data Layer"
members: [payments_db, fraud_cache]
}
node api_gw { type: gateway label: "API Gateway" }
node payment_svc { type: service label: "Payment Service" attrs { tech: "nestjs" } }
node payments_db { type: database label: "Payments DB" attrs { tech: "postgres" } }
node fraud_cache { type: cache label: "Fraud Cache" attrs { tech: "redis" } }
node stripe { type: external label: "Stripe" }
edge api_gw -> payment_svc { kind: http label: "POST /charge" }
edge payment_svc -> payments_db { kind: query }
edge payment_svc -> fraud_cache { kind: read }
edge payment_svc -> stripe { kind: http label: "charge API" }
constraint {
id: "no-db-external"
rule: "database !-> external"
message: "Databases must not call external APIs"
severity: error
}
layout { direction: LR algo: dagre }
theme {
palette { gateway: "#FFD0D0" service: "#D0E8FF" database: "#FFE8C0" cache: "#C0FFE8" }
accessibility { min_contrast: AA }
}Spróbuj teraz.
Wpisz powyższy przykład do edytoru wykresu i kliknij Waliduj“. Widać wprowadzoną diagnostykę z liczbami linii, a następnie można ją przenosić na SVG przy jednym kliknięciu.
Podsumowanie funkcji
Przejdź do Quick Start aby napisać swój pierwszy wykres lub przejdź bezpośrednio do Language Reference aby uzyskać pełną syntax.