البرمجة

كيفية إنشاء مدونة باستخدام Jekyll

مدونتك الخاصة باستعمال Jekyll – الجزء الأول: الأساسيات والتأسيس التقني الكامل

تُعَدّ التدوين الرقمي من أبرز المظاهر الحديثة للتعبير، ونقل المعرفة، وبناء العلامات الشخصية على الإنترنت. ومع تنوّع المنصات والأنظمة المتاحة، يبرز Jekyll كخيار متميز لأولئك الباحثين عن السرعة، الأمان، والتحكم الكامل في بنية الموقع. في هذا المقال الموسّع، سيتم تقديم شرح شامل حول كيفية إنشاء مدونة باستخدام Jekyll، انطلاقاً من المفاهيم الأساسية وصولاً إلى التأسيس التقني الكامل للمشروع، مع التركيز على أفضل الممارسات التي تتيح إنتاج محتوى عالي الجودة وسريع الأداء.

تعريف Jekyll: ما هو ولماذا يُستخدم؟

Jekyll هو مولّد مواقع ثابتة (Static Site Generator) مكتوب بلغة Ruby. يُستخدم لبناء مواقع ويب ومدونات تُخزَّن صفحاتها بصيغة HTML وCSS وJS، دون الحاجة إلى قاعدة بيانات أو نظام إدارة محتوى ديناميكي مثل WordPress. صُمّم Jekyll خصيصًا ليعمل بتناغم مع GitHub Pages، مما يجعله خيارًا مثاليًا للمطورين، المدونين، والمصممين الراغبين في نشر محتواهم بسرعة وبنية نظيفة.

مميزات Jekyll:

الخاصية الوصف
الأداء العالي لكونه يولّد صفحات ثابتة تُعرض مباشرة من الخادم بدون معالجة ديناميكية
الأمان عدم الحاجة لقواعد بيانات يقلل احتمالية التعرض للاختراق
سهولة النشر يتكامل مباشرة مع GitHub Pages
التحكم الكامل يُتيح للمستخدم تخصيص كل جزء من الموقع باستخدام Markdown وHTML وCSS
قابلية التوسع يدعم إضافات (Plugins) كثيرة لتحسين الأداء والميزات

المتطلبات الأساسية لإنشاء مدونة بـ Jekyll

قبل الشروع في إنشاء مدونة باستخدام Jekyll، لا بد من توفر البيئة المناسبة لذلك. فيما يلي الأدوات والمكتبات الأساسية:

  1. نظام تشغيل Unix أو Windows مع دعم Bash

  2. Ruby (الإصدار الموصى به ≥ 3.0)

  3. RubyGems

  4. Bundler

  5. Git

  6. محرر نصوص مثل VS Code أو Sublime Text

تنصيب الأدوات الأساسية:

1. تنصيب Ruby وRubyGems:

على أنظمة Linux أو macOS، يُمكن استعمال مدير الحزم:

bash
sudo apt install ruby-full # لأنظمة Debian/Ubuntu brew install ruby # لأنظمة macOS

2. تنصيب Bundler وJekyll:

bash
gem install bundler jekyll

إنشاء مشروع Jekyll جديد

بعد تنصيب جميع الأدوات اللازمة، يمكن إنشاء مشروع جديد بتنفيذ الأمر التالي:

bash
jekyll new myblog cd myblog bundle exec jekyll serve

شرح الأوامر:

  • jekyll new myblog: يقوم بإنشاء مشروع جديد باسم “myblog” يحوي جميع الملفات الأساسية.

  • cd myblog: الانتقال إلى مجلد المشروع.

  • bundle exec jekyll serve: تشغيل خادم محلي يعرض الموقع على العنوان http://localhost:4000.

هيكل المشروع في Jekyll

يتألف مشروع Jekyll من عدة ملفات ومجلدات أساسية. فهم هيكل المشروع ضروري لتخصيص المدونة والتحكم الكامل في مظهرها وسلوكها.

العنصر الوظيفة
_posts/ يحوي المقالات بصيغة Markdown مع تسمية منظمة مثل: 2025-06-11-post-name.md
_layouts/ يحوي القوالب الأساسية للصفحات والمقالات
_includes/ أجزاء قابلة لإعادة الاستخدام مثل التذييل أو شريط التنقل
_config.yml ملف الإعدادات العامة للموقع
index.md أو .html الصفحة الرئيسية
assets/ ملفات CSS وJS وصور

مثال لمحتوى ملف _config.yml:

yaml
title: "مدونتي الشخصية" email: "[email protected]" description: "هذه مدونتي المبنية بواسطة Jekyll" baseurl: "" # يُستخدم إذا كان الموقع ضمن مجلد فرعي url: "https://example.github.io" theme: minima

تخصيص القالب والمظهر

Jekyll يدعم نظام القوالب (Themes)، ويمكن استعمال قوالب جاهزة مثل minima أو إنشاء قالب مخصص من الصفر. لتخصيص مظهر الموقع، يتم تحرير ملفات في مجلد assets/css أو تغيير ملفات .html في layouts/.

إنشاء قالب جديد:

لإنشاء قالب مخصص، يجب إعداد هيكل ملفات القالب، مثل:

  • default.html في مجلد _layouts/

  • ملفات CSS في assets/css/

  • تضمين رأس الصفحة (header) وتذييل (footer) في مجلد _includes/

مثال على قالب default.html:

html
html> <html lang="ar"> <head> <meta charset="UTF-8"> <title>{{ page.title }}title> <link rel="stylesheet" href="{{ "/assets/css/style.css" | relative_url }}"> head> <body> {% include header.html %} <main>{{ content }}main> {% include footer.html %} body> html>

كتابة المقالات في Jekyll

يُكتب كل مقال في ملف بصيغة .md داخل مجلد _posts باستخدام تنسيق YAML في البداية، يُعرف باسم Front Matter، ويتبعه محتوى المقال.

مثال على مقال:

markdown
--- layout: post title: "رحلتي مع Jekyll" date: 2025-06-11 categories: [تكنولوجيا, تطوير] --- في هذا المقال أشارك تجربتي الأولى في بناء مدونة باستخدام Jekyll...

إدارة الفئات والوسوم (Categories & Tags)

يُتيح Jekyll تصنيف المحتوى بسهولة باستخدام الحقول categories و tags داخل Front Matter. يمكن بعدها إنشاء صفحات مخصصة لكل فئة أو وسم.

مثال على إنشاء صفحة فئة:

html
--- layout: default title: "تطوير" --- <h1>مقالات ضمن فئة التطويرh1> <ul> {% for post in site.categories.تطوير %} <li><a href="{{ post.url }}">{{ post.title }}a>li> {% endfor %} ul>

دمج Jekyll مع GitHub Pages

واحدة من أكبر نقاط القوة في Jekyll هي سهولة دمجه مع GitHub Pages لنشر المدونة مجاناً على الإنترنت.

خطوات النشر:

  1. إنشاء مستودع جديد على GitHub باسم username.github.io.

  2. رفع مجلد المدونة إليه باستخدام Git.

  3. تفعيل GitHub Pages من إعدادات المستودع.

أوامر Git الأساسية:

bash
git init git remote add origin https://github.com/username/username.github.io git add . git commit -m "نشر المدونة" git push -u origin master

بعد ذلك، ستكون المدونة متاحة على الرابط https://username.github.io.

تحسين الأداء والسيو (SEO) في Jekyll

من أجل ضمان ظهور المدونة في نتائج البحث الأولى، يجب تطبيق ممارسات تحسين محركات البحث.

أفضل الممارسات:

  • استخدام عناوين واضحة وغنية بالكلمات المفتاحية

  • تحسين الوصف داخل meta tags

  • توليد ملف sitemap.xml باستخدام إضافات مثل jekyll-sitemap

  • إضافة ملف robots.txt

  • استخدام روابط دائمة (Permalinks) منظمة

مثال على إعداد روابط دائمة:

yaml
permalink: /:categories/:title/

الإضافات (Plugins) في Jekyll

رغم أن GitHub Pages تدعم مجموعة محدودة من الإضافات، يمكن استخدام إضافات عديدة عند تشغيل Jekyll محلياً أو من خلال أدوات CI/CD.

أبرز الإضافات:

الإضافة الوظيفة
jekyll-feed توليد RSS feed تلقائياً
jekyll-seo-tag تحسين البيانات الوصفية لمحركات البحث
jekyll-sitemap إنشاء خريطة موقع تلقائية
jekyll-paginate تقسيم الصفحات عند عرض المقالات

مقارنة Jekyll مع أنظمة التدوين الأخرى

النظام النوع الأداء التخصيص الصيانة الأمن
Jekyll مولد مواقع ثابتة عالي عالي منخفض عالي
WordPress CMS ديناميكي متوسط عالي مرتفع متوسط
Ghost CMS ديناميكي عالي متوسط متوسط جيد
Hugo مولد مواقع ثابتة أعلى من Jekyll متوسط منخفض عالي

خاتمة

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

المصادر