Overview
What the Diagram Maker is and how it works
Hvad er diagrammakeren?
Diagram Maker er et tekst-første arkitektur diagrammet værktøj bygget på Datro DSL et struktureret, valideret og kanonisch formateret sprog til at beskrive software systemer som data, ikke billeder.
I stedet for at trække bokser på et væg, skriver du en .dtro fil. Værktøjslisten analyserer den, validerer arkitektoniske regler, håndhæver WCAG kontrastforhold og returnerer den til SVG, PNG eller interaktivt JSON alle fra en enkelt sandhedskilde.
Skriv, validér og renderier dit første diagram på få minutter.
Hvorfor Datro over Mermaid eller draw.io?
- Typede knuder 23 semantiske typer (
service,database,gateway,queue.) producerer automatisk konsekvente, formkorrekte diagrammer. - Typed edges 21 semantiske typer (
http,query,publish,grpc,.) farvekode og stil dine forbindelser uden manuelle overrides. - Arkitektoniske begrænsninger – skriv regler som
database !-> external, så validatoren håndhæver dem under parsing i stedet for først ved kodegennemgang. - Kanonisk formater
datro fmtomskrifter hver fil til et deterministisk format; diff viser reelle ændringer, ikke omformatering af støj. - Importer og komponere Splittet store diagrammer over filer ved hjælp af
import, navneområde aliasing, og afsløre whitelists. - WCAG 2.1 tilgængelighed kontrastforhold kontrolleres automatisk mod temapaletten;
W602bryder, når du falder under AA. - Mashin-læselig JSON IR hvert diagram eksporterer en tabfri JSON IR, der kan forbruges af enhver værktøjskæde, CI-system eller brugerdefineret renderer.
Hvordan værktøjskæden fungerer
Hver .dtro-fil gennemgår fire faser, før den bliver et diagram:
- Parse + den rekursive-nedgang lexer + parser konverterer din kildetekst til et
DatroIRobjekt. Det kastes aldrig; alle problemer returneres somDiagnostic[]med præcise linje / kolonne placeringer. - Godkendelse 4 pass: strukturel integritet → semantisk begrænsningskontrolling → info tips → WCAG 2.1 kontrast & mærkningstængde tilgængelighed.
- Export den validerede IR konverteres til DOT (Graphviz), Cytoscape.js JSON eller tabfri JSON IR.
- Render DOT-udgangen sendes til Graphviz for at producere SVG eller PNG-pixel-perfekt udgang.
Et komplet eksempel
Denne .dtro-fil definerer en betalingsservice med grupper, indskrevne noder, semantiske kanter, en begrænsningsregel, layout-indslag og et WCAG-kontrolleret farvetema CA alle i én fil:
#!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 }
}Prøv det nu.
Læg det ovenfor anførte eksempel i diagrammaskiveren og klik på Validere, så ser du diagnosticeret med linjenummer, og derefter rendere til SVG med ét klik.
Sammendrag af funktioner
Fortsæt med Quick Start for at skrive dit første diagram, eller hop direkte til Talsreference for den fulde syntax.