Markdown: مشروع Markdown العملي — كتابة README

لا شيء يتفوق على كتابة مستند حقيقي — اليوم سننشئ README كاملاً لمشروع مفتوح المصدر من الصفر.

1. ما ستتعلمه


2. قصة حقيقية لمؤسس مشروع مفتوح المصدر

(1) نقطة الألم: README فوضوي يخنق نمو المشروع

أصدر كيسي أداة CLI مفتوحة المصدر بجودة تعليمات برمجية رائعة، لكن README كان يحتوي فقط على ثلاث فقرات وأمر تثبيت واحد. بعد شهر من الإصدار، كان لدى المشروع 50 نجمة فقط، وكانت المشكلات تغمر بـ "كيف أستخدم هذا؟"، "ماذا يفعل؟"، و "كيف أساهم؟"

(2) الحل: إعادة كتابة README باستخدام Markdown

درس كيسي ملفات README لـ 10 مشاريع عالية النجوم وأعاد كتابة README المشروع باستخدام Markdown: أضاف شارات المشروع وقائمة ميزات ولقطات شاشة توضيحية وخطوات تثبيت وتوثيق API ودليل مساهمة وترخيصًا. بعد إعادة الكتابة، قفزت النجوم من 50 إلى 800، وانخفضت الأسئلة الأساسية بنسبة 70%.


3. الهيكل القياسي لـ README

يتضمن README الاحترافي على GitHub عادةً هذه الأقسام:

القسم الغرض الجمهور
العنوان + الشارات تعريف سريع بالمشروع وحالته جميع الزوار
وصف المشروع جملة أو جملتان حول ما يفعله المشروع الزوار لأول مرة
الميزات قائمة الميزات الأساسية المستخدمون المحتم��ون
لقطات الشاشة / العرض التوضيحي عرض بصري جميع الزوار
دليل التثبيت إعداد سريع المستخدمون
أمثلة الاستخدام حالات الاستخدام الشائعة المستخدمون
توثيق API مرجع مفصل المطورون
دليل المساهمة كيفية المشاركة المساهمون
الترخيص حقوق الاستخدام جميع الزوار

4. مشروع عملي: كتابة README كامل

فيما يلي هيكل README الكامل لمشروع مفتوح المصدر خيالي QuickLog (مكتبة تسجيل خفيفة لـ Python).

(1) اسم المشروع والشارات

استخدم H1 للعنوان وصيغة الصورة التي تشير إلى shields.io للشارات:

TEXT 📖 للعرض فقط
العنوان: QuickLog
سطر الشارات: إصدار Python · حالة البناء · الترخيص
الشعار: مكتبة تسجيل خفيفة بدون تكوين لـ Python

الشارات تتيح للزوار رؤية إصدار المشروع وحالة البناء والترخيص بنظرة واحدة.

(2) الميزات

TEXT 📖 للعرض فقط
قسم الميزات:
- بدون تكوين: يعمل مباشرة، لا حاجة للتكوين
- تسجيل منظم: يدعم إخراج بتنسيق JSON
- إخراج ملون: ترميز لوني حسب مستوى السجل
- خفيف: Python خالص، بدون تبعيات خارجية

(3) التثبيت والبدء السريع

BASH
# التثبيت
pip install quicklog

# البدء السريع
from quicklog import get_logger
logger = get_logger("my_app")
logger.info("بدأ التطبيق")

(4) توثيق API

TEXT 📖 للعرض فقط
get_logger(name, level=INFO, format="console")

المعاملات:
| الاسم   | النوع | مستوى السجل الأدنى    |
| المستوى | int  | الحد الأدنى لمستوى السجل |
| التنسيق | str  | "console" أو "json"  |

(5) دليل المساهمة

TEXT 📖 للعرض فقط
خطوات المساهمة:
1. تفرع المستودع
2. أنشئ فرع ميزة
3. أودع تعليماتك البرمجية
4. ادفع إلى المستودع البعيد
5. افتح طلب سحب

قائمة التحقق قبل الإيداع:
- التعليمات البرمجية تتبع PEP 8
- الاختبارات تنجح
- التوثيق محدث

ملخص الصيغة: هذا README يطبق تقريبًا كل صيغة من هذا الدرس — العناوين وتنسيق النص والروابط والصور (الشارات) والتعليمات البرمجية (مضمنة ومسورة) والجداول والقوائم (مرتبة/غير مرتبة/مهام) والاقتباسات والفواصل الأفقية والرموز التعبيرية. كل قسم يستخدم الصيغة الأنسب لغرضه.

▶ مثال: تشريح هيكل README كامل

TEXT 📖 للعرض فقط
هيكل README القياسي:

العنوان + الشارات (اسم المشروع وحالته)
وصف المشروع (جملة أو جملتان عن الغرض)
الميزات (قائمة نقطية بالإبرازات)
دليل التثبيت (كتلة تعليمات برمجية بأوامر التثبيت)
أمثلة الاستخدام (كتلة تعليمات برمجية بالاس��خدام الأساسي)
مرجع API (جدول بأوصاف المعاملات)
دليل المساهمة (قائمة مرتبة بالخطوات)
الترخيص (معلومات ترخيص مفتوح المصدر)

5. تنظيم توثيق المشروع

يحتاج المشر��ع الناضج مفتوح المصدر عادةً إلى ملفات توثيق إضافية:

TEXT 📖 للعرض فقط
جذر-المشروع/
  README.md              # الصفحة الرئيسية للمشروع
  CONTRIBUTING.md        # دليل المساهمة
  CHANGELOG.md           # سجل تغييرات الإصدارات
  LICENSE                # الترخيص
  CODE_OF_CONDUCT.md     # مدونة السلوك
  docs/                  # توثيق مفصل
    installation.md
    getting-started.md
    api-reference.md
    troubleshooting.md

(1) مثال CHANGELOG.md

TEXT 📖 للعرض فقط
سجل التغييرات يتضمن رقم الإصدار والتاريخ وفئات التغيير:

الإصدار 2.0.0:
  مضاف: دعم إخراج بتنسيق JSON�� توافق غير متزامن
  تم الإصلاح: إخراج ملون على Windows، إصلاح تسرب الذاكرة

(2) مثال CONTRIBUTING.md

TEXT 📖 للعرض فقط
مستند المساهمة يتضمن:
1. إعداد بيئة التطوير
2. أوامر تشغيل الاختبارات
3. دليل أسلوب التعليمات البرمجية
4. متطلبات تقديم طلب السحب

(3) ▶ مثال: من README إلى موقع توثيق كامل

TEXT 📖 للعرض فقط
خارطة طريق التوثيق:
1. ابدأ بـ README.md الذي يغطي المعلومات الأساسية
2. أضف CONTRIBUTING.md و CHANGELOG.md حسب الحاجة
3. ابنِ دليل docs/ مع نضوج المشروع
4. انشر موقع توثيق باستخدام MkDocs أو Hugo

▶ مثال: تدقيق مستنداتك تلقائيًا

BASH
# التحقق من تنسيق صيغة Markdown
markdownlint README.md

# التحقق من الأخطاء الإملائية
codespell README.md

# التحقق من الروابط المعطلة
lychee README.md

6. قائمة التحقق من جو��ة التوثيق

راجع كل عنصر بعد كتابة مستنداتك:

# التحقق ملاحظات
1 التدقيق الإملائي لا أخطاء إملائية أو سوء استخدام للمصطلحات التقنية
2 صلاحية الروابط جميع الروابط قابلة للوصول، لا روابط معطلة
3 التعليمات البرمجية قابلة للتشغيل أمثلة التعليمات البرمجية في README تعمل فعليًا
4 تنسيق متسق أنواع المحتوى المتشابهة تستخدم تنسيقًا متسقًا
5 مصطلحات متسقة نفس المفهوم يستخدم نفس المصطلح في كل مكان
6 لقطات الشاشة محدثة لقطات الشاشة تطابق أحدث إصدار

7. ملخص الدورة

تهانينا على إكمال جميع دروس Markdown الـ 14! إليك نظرة عامة على المعرفة:

الوحدة الدروس المهارات الأساسية
الصيغة الأساسية الدروس 01-05 العناوين، تنسيق النص، القوائم، الروابط، الصور
الصيغة المتوسطة الدروس 06-10 التعليمات البرمجية، الجداول، الاقتباسات، خلط HTML
الميزات الموسعة الدروس 11-12 GFM، الرموز التعبيرية، قوائم المها��، المشطوب
الاستخدام المتقدم الدرس 13 رسوم Mermaid البيانية، الصيغ الرياضية، المواقع الثابتة
التدريب العملي الدرس 14 كتابة README، تنظيم توثيق المشروع

من اليوم فصاعدًا، يمكنك كتابة التوثيق التقني و README المشاريع ومنشورات المدونات وملاحظات الدراسة بـ Markdown — هذه المهارة سترافقك طوال مسيرتك التقنية بأك��لها.


❓ أسئلة شائعة

س بعد هذه الدروس الـ 14، هل أتقنت كل Markdown؟
ج لقد أتقنت 95% مما ستحتاجه يوميًا. الـ 5% المتبقية هي امتدادات متخصصة وصيغ مخصصة خاصة بالمنصة — فقط ابحث عنها عند الحاجة.
س هل يوجد "أفضل قالب" لكتابة README؟
ج ادرس هيكل README للمشاريع عالية النجوم على GitHub. التدفق النموذجي هو: العنوان / الشارات �� الوصف → لقطات الشاشة → التثبيت → الاستخدام → API → المساهمة → الترخيص.
س كيف أحافظ على التوثيق بعد كتابته؟
ج ادمج التوثيق في فحوصات CI. GitHub Actions يمكنه التحقق من الروابط المعطلة وتشغيل أمثلة التعليمات البرمجية من README والتحقق من تنسيق Markdown.
س هل يحتاج Markdown ��لى التحكم في الإصدار مثل التعليمات البرمجية؟
ج بالتأكيد. Markdown هو نص عادي، و Git يتتبعه بشكل جيد للغاية. جميع ملفات .md يجب أن تكون تحت إدارة Git.
س كيف تمت كتابة هذا الدرس نفسه؟
ج يتبع هذا الدرس إرشادات محتوى web-tutorial.com، باستخدام أسلوب Git+R المدمج (سرد قصصي + كثافة عالية من الأمثلة/الأسئلة الشائعة + رسوم Mermaid البيانية + جداول المقارنة)، ويلتزم بـ 6 قواعد حديدية للتدويل. النسخة الإنجليزية ستكون المخطط للترجمة إلى اليابانية والبرتغالية والعربية.

📖 ملخص


📝 تمارين

  1. مبتدئ: اختر مشروعًا مفتوح المصد�� تعرفه (أو مشروعك الخاص) واكتب README من الصفر بـ Markdown. تضمن على الأقل: وصف المشروع، قائمة الميزات، أوامر التثبيت، وأمثلة الاستخدام.

  2. متوسط: أضف CONTRIBUTING.md و CHANGELOG.md إلى مشروعك. يجب أن يغطي CHANGELOG إدخالين إصدارين على الأقل.

  3. متقدم: أنشئ موقع توثيق مشروع كامل (استخدم GitHub Pages + Jekyll، أو Hugo) وانشر مستندات Markdown الخاصة بك على الإنترنت. يجب أن يحتوي الموقع على 3 صفحات على الأقل: README/الصفحة الرئيسية، البداية السريعة، ومرجع API.

Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%