🏷️ مميز

MDX

Markdown مدمج مع JSX (Markdown + JSX Component System)

(4/5)
👁️ 6 مشاهدة
📅 02 Jul 2026
⚛️ React 💚 Vue.js 🧡 Svelte 🌐 عام

مستوى الخبرة المطلوب:

🔗 زيارة الموقع الرسمي
4
تقييم المستخدمين
التصنيف 🏷️ HTML
المشاهدات 6
تاريخ الإضافة 02/07/2026
آخر تحديث 02/07/2026

📖 الوصف

MDX هو امتداد لـMarkdown يسمح لك بتضمين مكونات React (JSX) داخل ملفات Markdown. يجمع بين بساطة Markdown في كتابة المحتوى وقوة React في التفاعل والمكونات. استورد مكون React واستخدمه في أي مكان داخل محتوى Markdown. يُستخدم MDX بشكل واسع في توثيق المشاريع (Docusaurus, Gatsby)، المدونات التقنية، والكتب...

🎯 يستخدم في

مجالات استخدام هذه الأداة

بناء مواقع توثيق تفاعلية (Docusaurus

Nextra)

مدونات تقنية مع عرض أكواد تفاعلية

كتب تعليمية تفاعلية

محتوى مع ألعاب ورسوم بيانية

عروض تقديمية تفاعلية (Slidev)

محتوى قابل للتخصيص

المميزات

أبرز مميزات هذه الأداة

مكونات React مدمجة في Markdown

استيراد واستخدام مكونات في المحتوى

Props و Expressions في Markdown

متغيرات (Variables) مخصصة

Layouts مخصصة لكل صفحة

دعم كامل لـJSX (HTML + JavaScript)

تكامل مع كل Static Site Generators

remark/rehype plugins - نظام إضافات قوي

⚠️ العيوب

نقاط يجب مراعاتها

×

يتطلب React - غير متاح بدونها

×

منحنى تعلم - تحتاج معرفة React + Markdown

×

أبطأ من Markdown عادي (تحويل JSX)

×

أخطاء JSX مكسورة قد تكون مربكة

×

ليس Markdown قياسي - لا يعمل في GitHub

×

حجم ملفات أكبر

🔄 البدائل

أدوات بديلة يمكنك استخدامها

Markdown
MDsveX
Astro Components
VuePress

💻 مثال على الاستخدام

كيفية استخدام هذه الأداة

Example Code
---
import Alert from './components/Alert';
import { CodeBlock } from './components/CodeBlock';
import Chart from './components/Chart';

export const meta = {
  title: 'دليل React',
  description: 'تعلم React من الصفر',
  date: '2024-01-15'
};
---

# مرحباً بك في React

import { useState } from 'react';

## المفاهيم الأساسية

<Alert type="info">
  React مكتبة لبناء واجهات المستخدم
  باستخدام **المكونات** (Components).
</Alert>

### مثال على مكون

<CodeBlock lang="jsx">
  {`function Counter() {
    const [count, setCount] = useState(0);
    return (
      <button onClick={() => setCount(count + 1)}>
        Count: {count}
      </button>
    );
  }`}
</CodeBlock>

### رسم بياني تفاعلي

<Chart
  data={[10, 20, 30, 40, 50]}
  labels={['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو']}
  type="bar"
/>

### محتوى ديناميكي

{meta.title} - نشر في {meta.date}

<details>
  <summary>معلومات إضافية</summary>
  
  محتوى إضافي قابل للطي...
  
</details>

<Tabs>
  <Tabs.Item title="JavaScript">
    \`\`\`js
    console.log('Hello!');
    \`\`\`
  </Tabs.Item>
  <Tabs.Item title="TypeScript">
    \`\`\`ts
    const msg: string = 'Hello!';
    console.log(msg);
    \`\`\`
  </Tabs.Item>
</Tabs>

📚 أدوات أخرى في HTML

قد يعجبك أيضاً