Markdown: صيغة الصور في Markdown والنص البديل

الصورة تساوي ألف كلمة — في Markdown، إدراج صورة يستغرق سطرًا واحدًا فقط من الصيغة، لكن القيام بذلك بشكل جيد يتطلب القليل من المعرفة.

1. ما ستتعلمه


2. قصة حقيقية لمدون تقني

(1) نقطة الألم: صور لا تُحمل

يدير جيمس مدونة تقنية ويتضمن عدة لقطات شاشة في كل مقالة. في البداية استضاف الصور على خادمه الخاص، لكن الروابط استمرت في التعطل — انتقل الخادم عدة مرات وأصبحت جميع الروابط القديمة معطلة. الأسوأ من ذلك، أن أسماء ملفات الصور كانت بأحرف غير إنجليزية، مما منع بعض المتصفحات من تحميلها. اشتكى القراء من "الصور المكسورة"، وارتفع معدل الارتداد إلى 70%.

(2) الحل: استخدام CDN للصور واصطلاحات التسمية

نقل جيمس جميع الصور إلى خدمة استضافة صور مبنية على CDN (مثل Cloudinary)، وتحول إلى أسماء ملفات إنجليزية، وكتب نصًا بديلاً وصفيًا لكل صورة. كما استخدم الصور المرجعية في Markdown لإدارة جميع عناوين URL مركزيًا. بعد التبديل، تحسن وقت تحميل الصور بمقدار 3 أضعاف وانخفض معدل الارتداد إلى 35%.


3. أساسيات صيغة الصور

(1) الصور المضمنة

صيغة الصور مشابهة جدًا للروابط، مع إضافة ! في المقدمة:

MARKDOWN
![نص بديل](رابط الصورة)

![شعار Markdown](https://markdown-here.com/img/icon256.png)
الجزء الوصف مثال
![نص بديل] النص المعروض عند فشل تحميل الصورة ![لقطة شاشة]
(رابط الصورة) عنوان ملف الصورة (https://example.com/img/logo.png)

(2) ضبط حجم الصورة

Markdown القياسي لا يدعم تعيين أبعاد الصورة. استخدم وسم HTML <img> عند الحاجة:

MARKDOWN
![إدراج افتراضي](logo.png)

<img src="logo.png" width="200" alt="تعيين العرض إلى 200px">
💡 نصيحة: في 90% من الحالات، صيغة الصور القياسية في Markdown هي كل ما تحتاجه. عد إلى HTML <img> فقط عندما تحتاج فعلاً إلى التحكم في الحجم.

▶ مثال: إدراج صورة محلية

MARKDOWN
![مخطط بنية المشروع](./assets/architecture.png)

![لقطة شاشة: صفحة تسجيل الدخول](../screenshots/login-page.png)

(3) أهمية النص البديل (Alt Text)

يخدم النص البديل ثلاثة أغراض حاسمة:

الغرض الوصف
إمكانية الوصول تقرأ قارئات الشاشة النص البديل للمستخدمين ضعاف البصر
SEO تستخدم محركات البحث النص البديل لفهم محتوى الصورة
احتياطي عند فشل تحميل الصورة، يظهر النص البديل بدلاً منها
MARKDOWN
❌ نص بديل سيء:
![صورة](screenshot.png)
![img_20240101_123456](photo.jpg)

✅ نص بديل جيد:
![لقطة شاشة لصفحة تسجيل الدخول تعرض حقول البريد الإلكتروني وكلمة المرور](login.png)
![مخطط شريطي يقارن الإيرادات ربع السنوية للربع الأول إلى الرابع من عام 2024](chart.png)
💡 نصيحة: يجب أن يصف النص البديل الجيد كلًا من محتوى الصورة ووظيفتها. بالنسبة للصور الزخرفية (مثل أيقونات الفصل)، يمكن أن يكون النص البديل فارغًا ![] لكن لا ينبغي حذفه تمامًا أبدًا.


5. الصور كروابط

(1) الصور القابلة للنقر

غلف صورة داخل صيغة الرابط لجعلها قابلة للنقر:

MARKDOWN
[![انقر للتكبير](thumbnail.jpg)](fullsize-image.jpg)

[![زيارة الموقع](logo.png)](https://example.com)

تفصيل البنية:

MARKDOWN
[                          ← بداية الرابط
  ![صورة مصغرة](thumbnail.jpg)  ← الصورة (المنطقة القابلة للنقر)
]                          ← نهاية الرابط
(https://example.com)      ← هدف الانتقال

▶ مثال: استخدامات عملية لروابط الصور

MARKDOWN
## شارات المشروع

[![حالة البناء](https://img.shields.io/github/actions/workflow/status/user/repo/ci.yml)](https://github.com/user/repo/actions)
[![إصدار npm](https://img.shields.io/npm/v/package-name)](https://www.npmjs.com/package/package-name)

## لقطات شاشة المنتج

| الميزة | لقطة الشاشة |
|:-----|:-----|
| لوحة التحكم | [![صورة مصغرة للوحة التحكم](img/dashboard-thumb.png)](img/dashboard-full.png) |
| الإعدادات | [![صورة مصغرة للإعدادات](img/settings-thumb.png)](img/settings-full.png) |
💡 نصيحة: هذا هو نمط "الشارة" الشائع في ملفات README على GitHub. النقر على الشارة ينتقل إلى الخدمة المقابلة (مثل صفحة حالة CI، صفحة حزمة npm).


6. الصور المرجعية

مثل الروابط المرجعية، يمكن إدارة عناوين URL للصور مركزيًا:

MARKDOWN
في النص:
![شعار الشركة][logo]
![لقطة شاشة المنتج][screenshot1]

مُعرفة في الأسفل:
[logo]: https://cdn.example.com/logo.png "شعار الشركة"
[screenshot1]: https://cdn.example.com/screenshots/v2/dashboard.png "لقطة شاشة لوحة التحكم الجديدة"
💡 نصيحة: الصور المرجعية مفيدة بشكل خاص لصيانة مجموعات التوثيق الكبيرة. عند الانتقال إلى مضيف صور جديد، تحتاج فقط إلى تحديث تعريفات URL في الأسفل.


7. أفضل ممارسات الصور

(1) اختيار تنسيقات الملفات

التنسيق الأنسب لـ المزايا العيوب
PNG لقطات الشاشة، الأيقونات، الخلفيات الشفافة بدون فقدان، جودة عالية حجم ملف كبير
JPEG الصور الفوتوغرافية، الصور ذات الألوان المعقدة حجم ملف صغير ضغط مع فقدان
SVG الأيقونات، الشعارات، الرسوم التوضيحية قابل للتكبير بلا حدود، ملفات صغيرة جدًا ليس للصور الفوتوغرافية
GIF الرسوم المتحركة البسيطة توافق كبير ألوان محدودة، ملفات كبيرة
WebP بديل PNG/JPEG أصغر بنسبة 25-35% بعض المتصفحات القديمة غير مدعومة

(2) نصائح تحسين الصور

MARKDOWN
1. التحكم في الحجم: اجعل الصور الفردية أقل من 500 كيلوبايت، واستهدف 100-300 كيلوبايت
2. استخدام CDN: تسريع التحميل العالمي
3. أسماء ملفات إنجليزية: logo.png ✅ lo#go.png ❌
4. مجلدات منطقية: assets/images/ أو img/
5. كتابة نص بديل: يجب أن تحتوي كل صورة على نص بديل وصفي
⚠️ ملاحظة: في ملفات README على GitHub، الإشارة إلى مسارات الصور المحلية (./assets/image.png) آمنة، لكن إذا أشرت إلى مضيف صور خارجي، فتأكد من أن الخدمة مستقرة وموثوقة.

▶ مثال: الصور في توثيق منتج

MARKDOWN
## عرض واجهة المستخدم

### صفحة تسجيل الدخول

![لقطة شاشة لصفحة تسجيل الدخول تعرض حقول البريد الإلكتروني وكلمة المرور مع خيار "تذكرني"](img/login-page.png)

### لوحة التحكم

![واجهة لوحة التحكم تعرض 6 عناصر تنقل في الشريط الجانبي الأيسر وبطاقات نظرة عامة على البيانات المركزية](img/dashboard-overview.png)

> **ملاحظة:** انقر على الصورة لعرض النسخة كاملة الدقة
[![صورة مصغرة للوحة التحكم](img/dashboard-thumb.png)](img/dashboard-full.png)

8. مثال كامل: عرض الصور في README مشروع

TEXT 📖 للعرض فقط
بنية README لتطبيق رائع:

سطر العنوان: # تطبيق رائع + صور شارات
جدول لقطات الشاشة: الهاتف المحمول | سطح المكتب
أمر التثبيت: npm install awesome-app
مرجع الشعار: [logo]: https://cdn.example.com/logo.png

النتيجة المتوقعة: README غني بصريًا على GitHub يحتوي على شعار للمشروع وشارات وعرض لقطات شاشة وشعار مُدار مركزيًا معرف في نهاية المستند.


❓ أسئلة شائعة

س صورتي كبيرة جدًا — كيف أصغرها في Markdown؟
ج Markdown القياسي لا يدعم التحكم في الحجم. استخدم HTML: <img src="url" width="400" alt="وصف">.
س كيف أكتب مسارات الصور على GitHub؟
ج استخدم المسارات النسبية مثل ./assets/image.png للصور داخل المستودع. يمكنك أيضًا استخدام عناوين URL مطلقة لاستضافة الصور الخارجية.
س هل يمكنني استخدام صور GIF متحركة؟
ج نعم. الصيغة متطابقة مع الصور الثابتة. لكن انتبه لحجم الملف — يمكن أن يكون حجم ملف GIF الكبير 5-10 ميجابايت ويبطئ تحميل الصفحة.
س ما هو الحد الأقصى لطول النص البديل؟
ج لا يوجد حد صارم، لكن يُنصح بـ 125 حرفًا أو أقل. عادة ما تقتطع قارئات الشاشة النص البديل الطويل جدًا.
س كيف أستخدم أيقونات SVG؟
ج أشر إلى ملف .svg مباشرة في Markdown. يمكنك أيضًا تضمين كود مصدر SVG في Markdown (مدعوم من بعض المحللات).

📖 ملخص


📝 تمارين

  1. أساسي: أدرج صورة في Markdown (أي صورة عبر الإنترنت أو محلية) مع نص بديل وصفي. ثم عطّل تحميل الصور في متصفحك للتحقق من ظهور النص البديل بشكل صحيح.

  2. متوسط: أنشئ مشروعًا صغيرًا حيث يحتوي README.md على إعداد "انقر على الصورة المصغرة لعرض الصورة الكاملة" — تعرض الصفحة صورًا صغيرة، والنقر عليها يفتح النسخة كاملة الحجم في علامة تبويب جديدة.

  3. متقدم: أنشئ "معرض لقطات شاشة مواقع" باستخدام الصور المرجعية مع 5 لقطات شاشة على الأقل وعناوين URL معرفة في أسفل المستند. ثم حاول تحويل لقطات الشاشة هذه إلى تنسيق WebP وقارن الفرق في حجم الملف.

Web-Tutorial.com

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

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

100%