Diagram MakerMarkdown Integration
📄

Markdown Integration

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

التكامل تخفيض السعر

قم بتضمين مخططات Datro مباشرة في ملفات Markdown باستخدام كتل التعليمات البرمجية المسيجة القياسية. توفر سلسلة الأدوات مكوّنًا إضافيًا للتعليقات (لـ MDX وNext.js وAstro وVite) ومكوّنًا إضافيًا لـmarkdown-it (لـ VitePress وDocusaurus وخطوط الأنابيب المخصصة).

البرنامج المساعد ملاحظةتخفيض السعر البرنامج المساعدخط أنابيب CLISVG · إخراج 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="name" بعد سياج الفتح لإعطاء الكتلة معرفًا ثابتًا. يستخدم سطر الأوامر هذا عند تسمية ملفات الإخراج، وتعرضها المكونات الإضافية كسمة بيانات على العنصر المقدم.

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، أو Unified، أو الملاحظة البسيطة.

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، يتم ترك الكتل التي بها أخطاء كتعليمات برمجية مسيجة بدلاً من فشل الإنشاء.
outDirstringNoدليل لملفات PNG (وضع PNG فقط). الافتراضي هو نفس الدليل مثل الملف المصدر.

تخفيض السعر البرنامج المساعد

استخدمه مع أي مسار تخفيض السعر: VitePress أو Docusaurus أو أي خادم Node.js يستخدم تخفيض السعر مباشرة.

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);
الاستخدام المباشر مع تخفيض السعر-it
💡

فيتبريس / فيت

في 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 لمعالجة كافة الكتل حتى في حالة وجود أخطاء في بعضها — وهو أمر مفيد لخطوط أنابيب الترحيل.
  • استخدم --json مع md check للإخراج المنظم في أنظمة التعليقات التوضيحية CI.

الخطوات التالية

  • اقرأ Language Reference للحصول على بناء جملة .dtro الكامل.
  • اقرأ علامات CLI Reference لـ datro md render وتكامل CI.
افتح صانع المخططات

إنشاء الرسوم البيانية ومعاينتها في المتصفح دون أي إعداد محلي.

Schema v1 · Updated September 2026