إضافة الصور إلى GitHub README.md بدون استضافة خارجية

إضافة الصور إلى GitHub README.md بدون استضافة خارجية
إضافة الصور إلى GitHub README.md بدون استضافة خارجية

تضمين الصور مباشرة في GitHub README.md

انضممت مؤخرًا إلى GitHub وبدأت في استضافة بعض مشاريعي هناك. إحدى المهام التي واجهتها كانت الحاجة إلى تضمين الصور في ملف README الخاص بي.

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

يأمر وصف
base64.b64encode() يقوم بتشفير البيانات الثنائية إلى سلسلة Base64، وهو مفيد لتضمين الصور مباشرة في Markdown.
.decode() يحول بايتات Base64 إلى سلسلة، مما يجعلها جاهزة للتضمين في HTML/Markdown.
with open("file", "rb") يفتح ملفًا في وضع القراءة الثنائي الضروري لقراءة بيانات الصورة.
read() يقرأ محتوى الملف المستخدم هنا لقراءة بيانات الصورة للتشفير.
write() يكتب البيانات إلى ملف، يُستخدم هنا لإخراج السلسلة المشفرة Base64 إلى ملف نصي.
f-string بناء جملة Python لتضمين التعبيرات داخل سلسلة حرفية، يُستخدم لتضمين الصورة المشفرة في علامة HTML img.

كيفية تضمين الصور في GitHub README.md

توضح البرامج النصية المذكورة أعلاه طرقًا مختلفة لإضافة صور إلى ملف GitHub README.md الخاص بك دون الاعتماد على خدمات استضافة الطرف الثالث. يستخدم البرنامج النصي الأول base64.b64encode() لتحويل صورة إلى سلسلة مشفرة Base64. هذه الطريقة مفيدة لأنها تسمح لك بتضمين الصورة مباشرة داخل ملف README. ال with open("image.png", "rb") يفتح الأمر ملف الصورة في وضع القراءة الثنائية، مما يسمح للبرنامج النصي بقراءة بيانات الصورة. ال encoded_string = base64.b64encode(image_file.read()).decode() يقوم السطر بتشفير بيانات الصورة إلى سلسلة Base64 وفك تشفيرها إلى تنسيق مناسب للتضمين في HTML. وأخيرًا، يكتب البرنامج النصي هذه السلسلة المشفرة إلى ملف نصي، بتنسيق HTML بطاقة شعار.

يوضح البرنامج النصي الثاني كيفية استخدام ميزة عنوان URL الأولي لـ GitHub لتضمين الصور. عن طريق تحميل صورتك مباشرة إلى مستودعك ونسخ عنوان URL الأولي، يمكنك الرجوع إلى عنوان URL هذا في ملف README.md الخاص بك. الامر ![Alt text](https://raw.githubusercontent.com/username/repo/branch/images/image.png) يوضح كيفية تنسيق رابط الصورة في Markdown. هذه الطريقة واضحة ولا تتطلب تشفيرًا إضافيًا، ولكنها تعتمد على توفر الصورة في مستودعك. تستخدم الطريقة الثالثة مسارات نسبية للإشارة إلى الصور المخزنة في مستودعك. بعد تحميل صورتك إلى دليل محدد، يمكنك استخدام المسار النسبي ![Alt text](images/image.png) في ملف README.md الخاص بك. يحافظ هذا الأسلوب على عمل روابط الصور الخاصة بك داخل الفروع والشوكات المختلفة للمستودع، طالما ظلت بنية الدليل متسقة.

تضمين الصور في GitHub README.md باستخدام ترميز Base64

سكريبت بايثون لتشفير Base64

import base64
with open("image.png", "rb") as image_file:
    encoded_string = base64.b64encode(image_file.read()).decode()
with open("encoded_image.txt", "w") as text_file:
    text_file.write(f"<img src='data:image/png;base64,{encoded_string}'>")

إضافة الصور إلى GitHub README.md عبر عنوان URL للمحتوى الخام

استخدام ميزة عنوان URL الأولي لـ GitHub

1. Upload your image to the repository (e.g., /images/image.png)
2. Copy the raw URL of the image: https://raw.githubusercontent.com/username/repo/branch/images/image.png
3. Embed the image in your README.md:
![Alt text](https://raw.githubusercontent.com/username/repo/branch/images/image.png)

تضمين الصور في README.md عبر Markdown باستخدام المسارات النسبية

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

1. Upload your image to the repository (e.g., /images/image.png)
2. Use the relative path in your README.md:
![Alt text](images/image.png)
3. Commit and push your changes to GitHub

تضمين الصور في README.md باستخدام إجراءات GitHub

هناك طريقة أخرى لتضمين الصور في ملف GitHub README.md الخاص بك دون استخدام استضافة جهة خارجية وهي أتمتة عملية تضمين الصور باستخدام GitHub Actions. يمكن لـ GitHub Actions أتمتة سير العمل مباشرة في المستودع الخاص بك. على سبيل المثال، يمكنك إنشاء سير عمل يقوم تلقائيًا بتحويل الصور إلى Base64 وتحديث ملف README.md الخاص بك. يضمن هذا الأسلوب أن أي صورة تتم إضافتها إلى مجلد معين في مستودعك يتم تشفيرها تلقائيًا ودمجها في ملف README.

لإعداد سير العمل هذا، تحتاج إلى إنشاء ملف YAML في ملف .github/workflows دليل المستودع الخاص بك. سيحدد هذا الملف خطوات سير العمل، بما في ذلك فحص المستودع، وتشغيل برنامج نصي لتشفير الصور، وإعادة تنفيذ التغييرات إلى المستودع. من خلال أتمتة هذه العملية، يمكنك الحفاظ على تحديث README.md الخاص بك بأحدث الصور دون تدخل يدوي، مما يؤدي إلى تحسين الكفاءة والحفاظ على سير عمل مبسط.

الأسئلة المتداولة حول تضمين الصور في GitHub README.md

  1. كيف أقوم بتحميل الصور إلى مستودع GitHub الخاص بي؟
  2. يمكنك تحميل الصور عن طريق سحبها وإسقاطها في عرض الملف على GitHub أو باستخدام git add الأمر متبوعًا git commit و git push.
  3. ما هو ترميز Base64؟
  4. يقوم تشفير Base64 بتحويل البيانات الثنائية إلى تنسيق نصي باستخدام أحرف ASCII، مما يجعله مناسبًا لتضمين الملفات الثنائية مثل الصور في المستندات النصية.
  5. كيف يمكنني الحصول على عنوان URL الأولي لصورة على GitHub؟
  6. انقر على الصورة في المستودع الخاص بك، ثم انقر على زر "تنزيل". سيكون عنوان URL الأولي موجودًا في شريط العناوين في متصفحك.
  7. لماذا تستخدم المسارات النسبية للصور في README.md؟
  8. تضمن المسارات النسبية بقاء روابط الصور فعالة داخل الفروع والشوكات المختلفة لمستودعك.
  9. هل يمكنني استخدام إجراءات GitHub لأتمتة تضمين الصور؟
  10. نعم، يمكنك إنشاء سير عمل باستخدام GitHub Actions لتشفير الصور تلقائيًا وتحديث ملف README.md الخاص بك.
  11. هل أحتاج إلى أي أذونات خاصة لاستخدام إجراءات GitHub؟
  12. طالما أن لديك حق الوصول للكتابة إلى المستودع، يمكنك إنشاء مهام سير عمل GitHub Actions وتشغيلها.
  13. ما فائدة استخدام ترميز Base64 في README.md؟
  14. يؤدي تضمين الصور كسلاسل مشفرة Base64 إلى إبقائها مستقلة في ملف README.md، مما يؤدي إلى التخلص من التبعيات على استضافة الصور الخارجية.
  15. هل يمكنني تضمين صور GIF متحركة في ملف README.md الخاص بي؟
  16. نعم، يمكنك تضمين صور GIF المتحركة باستخدام نفس الطرق الموضحة، إما عن طريق الروابط المباشرة أو تشفير Base64 أو المسارات النسبية.

الأفكار النهائية حول تضمين الصور في README.md

يؤدي تضمين الصور في ملف GitHub README.md إلى تحسين المظهر البصري لمشاريعك ووضوحها. من خلال استخدام أساليب مثل تشفير Base64، وعناوين URL الأولية، والمسارات النسبية، يمكنك تضمين الصور بشكل فعال دون الاعتماد على خدمات الاستضافة الخارجية. تعمل أتمتة هذه العملية باستخدام GitHub Actions على تبسيط إدارة الصور. تساعد هذه الاستراتيجيات في الحفاظ على عرض تقديمي احترافي ومصقول لعملك، مما يجعل مستودعاتك أكثر جاذبية وغنية بالمعلومات.