Diagram MakerMarkdown Integration
📄

Markdown Integration

Embed diagrams in .md files with remark or markdown-it

Markdown ինտեգրում

Տեղադրեք Datro-ի դիագրամները անմիջապես Markdown ֆայլերում՝ օգտագործելով ստանդարտ ցանկապատված կոդային բլոկներ: Գործիքների շղթան ապահովում է նկատողությունների հավելված (MDX, Next.js, Astro և Vite-ի համար) և markdown-it plugin (VitePress, Docusaurus և հատուկ խողովակաշարերի համար):

դիտողություն pluginmarkdown-it pluginCLI խողովակաշարSVG · PNG ելք

Դիագրամի ներկառուցում

Նշեք ցանկապատված ծածկագրի ցանկացած բլոկ datro լեզվի նույնացուցիչով: Բլոկը պետք է սկսվի #!DATRO 1.0 կախարդական վերնագրով։ Փլագինը վերլուծում, վավերացնում և փոխարինում է բլոկը ներկառուցված SVG-ով (կամ <img>-ով, որը ցույց է տալիս մատուցված PNG-ը):

docs/architecture.md
# System Architecture

The diagram below is generated automatically from source:

```datro
#!DATRO 1.0

meta { title: "Auth Service" }

node client  { type: web      label: "Browser" }
node api_gw  { type: gateway  label: "API Gateway" }
node auth    { type: service  label: "Auth Service" }
node user_db { type: database label: "User DB" }

edge client -> api_gw  { kind: http  label: "POST /login" }
edge api_gw -> auth    { kind: http }
edge auth   -> user_db { kind: query }

layout { direction: LR  algo: dagre }

theme {
  palette { gateway: "#FFD0D0"  service: "#D0E8FF"  database: "#FFE8C0" }
  accessibility { min_contrast: AA }
}
```

> Rendered inline by the datro remark plugin.
ℹ️

Վավերացում կառուցման ժամանակ

Երկու պլագիններն էլ կառուցման ընթացքում գործարկում են չորս անցանց վավերացուցիչը: Եթե ​​որևէ բլոկ ունի սխալի ծանրության ախտորոշում, ապա կառուցումը անմիջապես ձախողվում է file:line:col տեղանքով:

Արգելափակման id հատկանիշ

Բացվող ցանկապատից հետո ավելացրեք id="name"՝ բլոկին կայուն նույնացուցիչ տալու համար: CLI-ն օգտագործում է սա ելքային ֆայլեր անվանելիս, և պլագինները ցուցադրում են այն որպես տվյալների հատկանիշ՝ ներկայացված տարրի վրա:

Markdown
```datro id="auth-flow"
#!DATRO 1.0
node a { type: service label: "A" }
node b { type: service label: "B" }
edge a -> b { kind: http }
```
Ելքային ֆայլը դառնում է `architecture-auth-flow.svg`՝ `architecture-block-1.svg`-ի փոխարեն

դիտողություն plugin

Օգտագործեք դիտողությունների վրա հիմնված ցանկացած խողովակաշարի հետ՝ Next.js MDX, Astro, Gatsby, միասնական կամ պարզ դիտողություն:

SH
npm install datro remark remark-html
Տեղադրեք
remark.config.mjs
// remark.config.mjs
import remarkDatro from "datro/remark";

const config = {
  plugins: [
    // Transforms ```datro blocks to inline SVG
    [remarkDatro, { format: "svg" }],
  ],
};

export default config;

Next.js MDX

next.config.mjs
// next.config.mjs
import remarkDatro from "datro/remark";
import createMDX from "@next/mdx";

const withMDX = createMDX({
  options: {
    remarkPlugins: [[remarkDatro, { format: "svg" }]],
  },
});

export default withMDX({
  pageExtensions: ["js", "jsx", "ts", "tsx", "md", "mdx"],
});
FieldTypeRequiredDescription
formatstring
"svg""png"
NoԱրտադրված ելքային ձևաչափ:
failOnErrorbooleanNoԵրբ false, սխալներով բլոկները թողնվում են որպես ցանկապատված կոդ՝ կառուցումը ձախողելու փոխարեն:
outDirstringNoPNG ֆայլերի գրացուցակ (միայն PNG ռեժիմ): Կանխադրված է նույն գրացուցակը, ինչ սկզբնական ֆայլը:

markdown-it plugin

Օգտագործեք ցանկացած markdown-it խողովակաշարի հետ՝ VitePress, Docusaurus կամ ցանկացած Node.js սերվեր, որն ուղղակիորեն օգտագործում է markdown-it:

JavaScript
import MarkdownIt from "markdown-it";
import datroPLugin from "datro/markdown-it";

const md = new MarkdownIt();
md.use(datroPLugin, { format: "svg" });

const html = md.render(source);
Ուղիղ օգտագործումը markdown-it-ով
💡

VitePress / Vite

VitePress-ում ավելացրեք հավելվածը defineConfig({ markdown: { config: md => md.use(datroPlugin) } })-ին: Vite-ի համար vite-plugin-markdown-ով տես Vite կազմաձևման օրինակը ստորև:

vite.config.ts
// vite.config.ts
import { defineConfig } from "vite";
import mdPlugin from "vite-plugin-markdown";
import remarkDatro from "datro/remark";

export default defineConfig({
  plugins: [
    mdPlugin({
      remarkPlugins: [[remarkDatro, { format: "svg" }]],
    }),
  ],
});

CLI խողովակաշար (առանց փաթեթի)

Եթե դուք փաթեթներ չեք օգտագործում, օգտագործեք datro md CLI հրամանները Markdown ֆայլերը ուղղակիորեն մշակելու համար: Սա պահանջում է Graphviz SVG/PNG ելքի համար, բայց md check-ն աշխատում է առանց դրա:

SH
# Render all datro blocks in a markdown file to SVG
datro md render docs/architecture.md --out-dir public/diagrams

# Validate all blocks without rendering (fast, no Graphviz needed)
datro md check docs/architecture.md
  • Ելքային ֆայլերը կոչվում են {markdown-basename}-{block-id}.{svg|png}:
  • Օգտագործեք --no-fail՝ բոլոր բլոկները մշակելու համար, նույնիսկ երբ որոշ սխալներ կան, ինչը օգտակար է միգրացիոն խողովակաշարերի համար:
  • Օգտագործեք --jsonmd check-ի հետ՝ CI անոտացիայի համակարգերում կառուցվածքային ելքի համար:

Հաջորդ քայլերը

  • Կարդացեք .dtro ամբողջական .dtro շարահյուսությունը:
  • Կարդացեք datro md renderdatro md render դրոշների և CI ինտեգրման համար:
Բացեք Diagram Maker-ը

Կառուցեք և նախադիտեք դիագրամներ զննարկիչում առանց տեղական տեղադրման:

Schema v1 · Updated September 2026