Diagram MakerMarkdown Integration
📄

Markdown Integration

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

მარკდაუნის ინტეგრაცია

ჩადეთ Datro დიაგრამები პირდაპირ Markdown ფაილებში სტანდარტული შემოღობილი კოდის ბლოკების გამოყენებით. Toolchain უზრუნველყოფს შენიშვნების დანამატს (MDX, Next.js, Astro და Vite-სთვის) და markdown-it plugin (VitePress, Docusaurus და მორგებული მილსადენებისთვის).

შენიშვნის მოდულიmarkdown-it მოდულიCLI მილსადენიSVG · PNG გამომავალი

დიაგრამის ჩასმა

მონიშნეთ ნებისმიერი შემოღობილი კოდის ბლოკი datro ენის იდენტიფიკატორით. ბლოკი უნდა დაიწყოს #!DATRO 1.0 ჯადოსნური სათაურით. დანამატი აანალიზებს, ამოწმებს და ანაცვლებს ბლოკს inline 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.
ℹ️

დადასტურება აშენების დროს

ორივე დანამატი აწარმოებს სრულ ოთხგადასასვლელ ვალიდატორს მშენებლობის დროს. თუ რომელიმე ბლოკს აქვს შეცდომის სიმძიმის დიაგნოსტიკა, build მაშინვე ჩავარდება 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`

შენიშვნის მოდული

გამოიყენეთ შენიშვნებზე დაფუძნებული ნებისმიერი მილსადენით: 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;

შემდეგი.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, შეცდომების მქონე ბლოკები რჩება შემოღობილი კოდის ნაცვლად, აწყობის წარუმატებლობის ნაცვლად.
outDirstringNoდირექტორია PNG ფაილებისთვის (მხოლოდ PNG რეჟიმი). ნაგულისხმევია იმავე დირექტორიაში, როგორც საწყისი ფაილი.

markdown-it მოდული

გამოიყენეთ ნებისმიერი markdown-it pipeline: 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 მილსადენი (შეფუთვის გარეშე)

თუ არ იყენებთ Bundler-ს, გამოიყენეთ 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 ყველა ბლოკის დასამუშავებლად მაშინაც კი, როცა ზოგიერთს აქვს შეცდომები - სასარგებლოა მიგრაციის მილსადენებისთვის.
  • გამოიყენეთ --json md check-თან ერთად CI ანოტაციის სისტემებში სტრუქტურირებული გამოსავლისთვის.

შემდეგი ნაბიჯები

  • წაიკითხეთ .dtro სრული .dtro სინტაქსისთვის.
  • წაიკითხეთ datro md render datro md render დროშებისა და CI ინტეგრაციისთვის.
გახსენით დიაგრამის შემქმნელი

შექმენით და გადახედეთ დიაგრამებს ბრაუზერში ადგილობრივი დაყენების გარეშე.

Schema v1 · Updated September 2026