1) المقدمة (المشكلة/الهدف)
الشرح اللي ما له مرجع… يضيع. أنا أبغى شروحاتي تعيش ويكون سهل الرجوع لها — عشان كذا سويت مدونة للقناة: كل فيديو معه مقال مرتب.
وأنت تقدر تسوي نفس الشيء — بل أكثر: مكان لقصصك، أفكارك، أو أي شيء تبنيه وتنشره. صفحتك الخاصة فيك.
تبغى مدونة/موقع شخصي مجاني وسريع… بدون استضافة مدفوعة… وبدون ما تدخل في تعقيد سيرفرات؟
تخيل الموضوع ببساطة:
GitHub= مكان نحفظ فيه ملفات موقعك.GitHub Web UI= تعدّل ملفات موقعك مباشرة من المتصفح.Hugo= برنامج يبني الموقع من ملفات Markdown بسيطة.
بنهاية الشرح: موقعك يصير Live على GitHub Pages + عربي RTL + أول مقال.
إذا تبغى تشوف أمثلة على “شكل المقالات” عندي في المدونة:
2) الفيديو
3) المتطلبات (Prerequisites)
- حساب GitHub.
- متصفح.
- اتصال إنترنت.
- (اختياري) صورة بروفايل
avatar.png.
4) التطبيق خطوة بخطوة (لا تنط)
هذا “ترتيب” الشرح عشان تمشي معي بنفس التسلسل:
- انسخ القالب لحسابك
- فعّل النشر التلقائي (GitHub Pages)
- عدّل الملفات من GitHub Web UI
- عرب الموقع + RTL +
baseurl - عدّل صفحات القائمة
- أضف حسابات السوشيال
- ارفع صورك من جهازك لـ GitHub
- احذف أو اخفِ المقالات الافتراضية
- اكتب أول مقال + غلاف
- اعمل Commit للتعديلات
- (اختياري) خيارات إضافية للي يبغى تحكم أكثر
4.1) انسخ القالب لحسابك (أول خطوة)
وش تسوي؟
- تخلي القالب يصير عندك في حسابك (عشان تقدر تعدّل عليه).
الخطوات:
- افتح ريبو القالب على GitHub (وإذا عجبك اعطه نجمة).
- اضغط
Use this template. - اختر
Create a new repository. - اكتب اسم للريبو.
معلومة مهمة جدًا عن الاسم (عشان baseurl):
- إذا اسم الريبو
YOUR_USERNAME.github.io→ موقعك يكون على:https://YOUR_USERNAME.github.io - إذا اسم الريبو
my-blog→ موقعك يكون على:https://YOUR_USERNAME.github.io/my-blog
4.2) فعّل النشر التلقائي (مرة واحدة فقط)
وش يعني؟
- كل مرة تسوي تغير شي الموقع يتحدث لوحده.
الخطوات:
- افتح الريبو حقك في GitHub.
- ادخل
Settings. - ادخل
Pages. - في
Build and deploymentاختر:Source = GitHub Actions.
4.3) عدّل الملفات من GitHub Web UI (بدون تيرمنال)
الفكرة:
- كل تغيير تسويه من GitHub لازم تحط له Commit.
- بعد كل Commit، GitHub Actions يبني الموقع وينشره تلقائيًا.
طريقة التعديل:
- افتح الملف اللي تبي تعدّله داخل الريبو.
- اضغط أيقونة القلم
Edit. - عدّل.
- تحت الصفحة: اكتب رسالة قصيرة.
- اضغط
Commit changes.
4.4) كيف تشوف التغيير بعد التعديل؟
- افتح تبويب
Actions. - ادخل آخر Workflow.
- انتظر لين يصير ✅.
- افتح رابط موقعك وشوف النتيجة.
أول مرة البلد ممكن تفشل — هذا طبيعي لأن GitHub Actions ما كان مفعّل بعد. بعد ما تفعّله (خطوة 4.2)، ارجع لـ
Actions> اضغط علىbuild and deploy> اضغطRun workflowعشان يحاول يبني الموقع مرة ثانية.
4.5) عرب الموقع بالكامل + RTL + baseurl (أهم خطوة)
4.5.1) عدّل رابط الموقع + اسم الموقع
افتح: config/_default/config.toml
إذا اسم الريبو YOUR_USERNAME.github.io:
| |
إذا اسم الريبو my-blog:
| |
4.5.2) خلي اتجاه الموقع عربي (RTL)
افتح: config/_default/languages.toml
| |
4.5.3) عدّل نص البروفايل (تحت الصورة) + الفوتر (اخر شي تحت بالصفحة)
افتح: config/_default/params.toml
| |
4.6) عدّل صفحات القائمة (الرئيسية/الأرشيف/البحث/الروابط)
فكرة بسيطة:
- هذي صفحات جاهزة.
- أنت بس تغيّر العنوان والكلام.
تبغى تخفي صفحة من القائمة؟ (مثلاً الأرشيف) افتح
config/_default/menu.tomlواعمل Comment لسطور الصفحة اللي تبغى تخفيها — في GitHub Web UI اضغطCtrl + /على الأسطر المحددة.
الرئيسية
افتح: content/_index.md
| |
الأرشيف
افتح: content/page/archives/index.md
| |
البحث
افتح: content/page/search/index.md
| |
الروابط (صفحة روابطك)
افتح: content/page/links/index.md
| |
وش يسوي links؟
- يعرض لك كروت (Cards) بروابطك.
4.7) أضف حسابات السوشيال تحت الصورة
وش يعني؟
- الأيقونات الصغيرة اللي تظهر تحت صورة البروفايل.
افتح: config/_default/menu.toml وحط روابطك:
| |
تنبيه: القالب يجي معه أيقونات محدودة جاهزة (مثل GitHub و Twitter). أيقونات مثل YouTube و Instagram مو موجودة بشكل افتراضي — لازم تسوي ملف SVG لكل وحدة وتحطه في
assets/icons/. شوف قسم “إضافة أيقونات SVG بنفسك” في آخر المقال لشرح الطريقة بالتفصيل.
إذا ما ظهرت الأيقونات بعد التعديل:
- سو Refresh للصفحة.
- أو إبدء build ثانية من Actions.
4.8) كيف ترفع صورك من جهازك إلى GitHub
هذا مهم لأن الصور تكون في جهازك، وGitHub لازم ترفعها داخل الريبو.
أسهل طريقة: Upload files
- افتح المجلد اللي تبغى ترفع فيه الصورة داخل GitHub.
- اضغط
Add file. - اختر
Upload files. - اسحب الصور (Drag & Drop) أو اخترها من جهازك.
- اضغط
Commit changes.
4.9) احذف أو اخفِ المقالات الافتراضية
لما تنسخ القالب بيجيك مقالات جاهزة كأمثلة. قبل ما تكتب مقالك، نظّفها:
طريقة 1: إخفاء (draft)
- افتح ملف المقال (مثلاً
content/post/hello-world/index.md). - اضغط أيقونة القلم
Edit. - أضف هذا السطر في بطاقة المقال (بين الـ
---):
| |
- اضغط
Commit changes.
draft: trueيخفي المقال من الموقع لكنه يبقى في الريبو — تقدر ترجعه لاحقًا.
طريقة 2: حذف نهائي
- افتح مجلد المقال داخل
content/post/. - اضغط على الملف اللي تبغى تحذفه.
- اضغط النقاط
...(أعلى يمين) >Delete file. - اضغط
Commit changes.
4.10) اكتب أول مقال (من GitHub Web UI)
4.10.1) أنشئ المقال
- افتح مجلد
content/post/في الريبو. - اضغط
Add file>Create new file. - في خانة الاسم اكتب:
my-first-post/index.md- أول جزء قبل الـ
/يصير اسم المجلد. index.mdهو ملف المقال (لازم يكون بهذا الاسم بالضبط).
- أول جزء قبل الـ
4.10.2) بطاقة المقال (Front Matter)
الصق هذا في الملف:
| |
أهم سطر هنا:
draft: falseيعني المقال يظهر (مو مخفي).
- اضغط
Commit changes.
4.10.3) (اختياري) صورة غلاف
- ادخل مجلد المقال (
content/post/my-first-post/). - اضغط
Add file>Upload files. - ارفع صورة باسم
cover.png(أوcover.jpg). - اضغط
Commit changes. - ارجع لملف
index.mdوأضف في البطاقة:
| |
مهم:
- لا تكتب
image: cover.pngإلا إذا الصورة موجودة فعلاً — وإلا الموقع يعطيك خطأ. - نفس الشيء لأي صورة داخل المقال: لازم الملف يكون موجود في نفس المجلد بنفس الاسم.
4.11) اعمل Commit للتعديلات (بدون Git أو Terminal)
إذا أنت تعدّل من GitHub Web UI:
- كل ما تضغط
Commit changesأنت كذا “رفعت التعديل”. - بعدين تابع النشر من
Actionsلين يصير ✅.
5) ليش بعض الخيارات تفرق؟ (مختصر مفيد)
baseurl: إذا غلط… الموقع يطلع “مكسّر” (CSS/صور/روابط).- Page Bundle (مجلد لكل مقال): يخليك تحط الصور داخل نفس مجلد المقال بدل ما تتوه.
draft: false: هو اللي يحدد هل المقال يطلع للعالم أو لا.
6) مشاكل شائعة وحلولها
الموقع يطلع أبيض أو المسارات خربانة
- راجع
baseurlوخصوصًا إذا اسم الريبو موYOUR_USERNAME.github.io.
الصور ما تظهر + خطأ Height
- هذا غالبًا لأنك كتبت صورة في المقال لكن ملف الصورة غير موجود.
- الحل: حط الصورة داخل نفس مجلد المقال بنفس الاسم، أو احذف سطر الصورة مؤقتًا.
الأيقونات ما تظهر
- تأكد ملفات SVG داخل
assets/icons/. - تأكد اسم الملف يطابق
iconفيmenu.toml.
التعديلات ما تبان في المعاينة
- سو Refresh.
- أو أعد تشغيل
hugo server -D.
7) FAQ (أسئلة تتكرر)
هل لازم أعرف برمجة؟
لا. تقدر تبدأ بمقالات Markdown وتعديلات بسيطة.
هل لازم أثبّت Hugo على جهازي؟
لا. كل الشرح هنا يشتغل من المتصفح فقط (GitHub Web UI). بس لو تبغى تشوف التغييرات قبل ما تنشرها، شوف قسم Codespaces في آخر المقال.
كم ياخذ النشر على GitHub Pages؟
عادةً دقائق. أول مرة ممكن تطول شوي.
هل أقدر أخلي الموقع عربي RTL بالكامل؟
اي نعم، أهم شيء languagedirection = "rtl" + ضبط إعدادات اللغة.
8) الخلاصة
الآن عندك مدونة شغالة من الصفر:
- Repo جاهز
- GitHub Actions ينشر تلقائي
- كل شيء من المتصفح بدون تيرمنال
- عربي RTL + أول مقال
إذا تبغى حلقة تكملة: (تخصيص أكثر / صفحات إضافية / تحسين SEO) اكتبها بالكومنت.
9) خيارات إضافية (اختياري) — للي يبغى تحكم أكثر
هنا حطّيت الأشياء “اللي مو أساسية” داخل Dropdown عشان ما تتشتت كبداية.
إضافة أيقونات SVG بنفسك (إذا تبغى أيقونة مو موجودة)
الفكرة:
- نسوي مجلد:
assets/icons/ - نحط فيه ملفات
.svg - ونستخدم اسم الملف في
menu.toml
مثال (Instagram):
احفظ ملف:
assets/icons/brand-instagram.svgالصق هذا الـ SVG:
| |
مثال (Youtube):
احفظ ملف:
assets/icons/brand-youtube.svgالصق هذا الـ SVG:
| |
قاعدة سهلة:
- اسم الملف (بدون
.svg) لازم يطابقicon.
تفعيل التعليقات (Disqus) — للمبتدئ
أبسط خيار للمبتدئ: Disqus.
سو حساب في Disqus واختر
Shortname.افتح:
config/_default/config.tomlوحط:
| |
- افتح:
config/_default/params.tomlوتأكد:
| |
ملاحظة:
- أحيانًا صندوق التعليقات ما يبان في المعاينة المحلية، أفضل اختبار بعد النشر.
ثيمي المستخدم هنا
افتح: assets/scss/custom.scss
هذا الي انا استخدمه في هذي المدونه هنا:
| |
إذا ما ظهر التغيير:
- Hard Refresh (CTRL + SHIFT + R)
- أو أعد تشغيل
hugo server -D.
تحديث الثيم بأمان (بدون ما تخسر شغلك)
قبل التحديث: سو “Backup” سريع:
| |
تحديث الثيم:
| |
تأكد إن كل شيء شغال:
| |
إذا تمام:
| |
استخدام Codespaces — شوف التغييرات مباشرة قبل النشر (متقدم)
الطريقة اللي شرحناها فوق (GitHub Web UI) كافية وتشتغل. لكن مشكلتها: كل تعديل لازم تسوي Commit وتنتظر البلد تخلص عشان تشوف النتيجة.
GitHub Codespaces يعطيك بيئة تطوير كاملة في المتصفح — تعدّل وتشوف النتيجة لحظيًا، وبعد ما تخلص تسوي Push مرة واحدة.
وش تحتاج؟
- حساب GitHub (نفس الحساب).
- Codespaces مجاني يعطيك 60 ساعة/شهر على الحساب المجاني.
كيف تشغله؟
- افتح الريبو حقك في GitHub.
- اضغط الزر الأخضر
Code. - اختر تبويب
Codespaces. - اضغط
Create codespace on main. - انتظر لين يجهّز البيئة (أول مرة ياخذ دقيقة أو أكثر).
شغّل المعاينة المحلية
بعد ما يفتح لك Codespace، افتح Terminal (عادةً يكون مفتوح تحت) واكتب:
| |
- بيطلع لك رابط محلي (مثل
http://localhost:1313/). - Codespaces بيعرض لك إشعار — اضغط
Open in Browser. - الآن كل ما تحفظ ملف، الصفحة تتحدث لحظيًا.
عدّل وجرّب
- عدّل أي ملف (مقال، إعداد، ستايل…).
- احفظ (
Ctrl + S). - شوف النتيجة فورًا في المتصفح.
ارفع التعديلات لـ GitHub
لما تخلص من كل التعديلات:
| |
بعدها GitHub Actions يبني الموقع وينشره تلقائيًا — نفس ما تعودنا عليه.
متى تستخدم Codespaces؟
- لما تبغى تجرّب تعديلات كثيرة بدون ما تسوي Commit لكل واحدة.
- لما تبغى تشوف شكل الموقع الفعلي قبل ما ينشر.
- لما تبغى تعدّل CSS أو ألوان وتشوف النتيجة مباشرة.
ملاحظة: لا تنسى توقف الـ Codespace لما تخلص عشان ما تستهلك الساعات المجانية. ادخل github.com/codespaces وأوقف أي Codespace شغال.
قالب مقال بدون صور (الأبسط)
قالب مقال بسيط بدون صور — مناسب للمبتدئ جدًا (Hugo Stack)
استخدمه كـ Page Bundle:
- أنشئ مجلد:
content/post/<slug>/ - داخله ملف:
index.md
| |
قالب مقال مع صور
قالب مقال مع صور — مناسب للمبتدئ جدًا (Hugo Stack)
تنبيه مهم جدًا: كل صورة تذكرها في المقال لازم تكون موجودة فعليًا داخل نفس مجلد المقال. مثلاً إذا كتبت
لازم يكون ملفscreenshot1.pngموجود جنبindex.md. إذا الصورة مو موجودة، الموقع بيعطيك خطأ وما بيشتغل!
استخدمه كـ Page Bundle:
- أنشئ مجلد:
content/post/<slug>/ - داخله ملف:
index.md - داخل نفس المجلد: حط صورة الغلاف
cover.pngوأي صور ثانية تبغى تستخدمها بالمقال
طريقة إضافة صورة داخل المقال:

| |
