مدونتك الخاصة باستعمال 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، لا بد من توفر البيئة المناسبة لذلك. فيما يلي الأدوات والمكتبات الأساسية:
-
نظام تشغيل Unix أو Windows مع دعم Bash
-
Ruby (الإصدار الموصى به ≥ 3.0)
-
RubyGems
-
Bundler
-
Git
-
محرر نصوص مثل VS Code أو Sublime Text
تنصيب الأدوات الأساسية:
1. تنصيب Ruby وRubyGems:
على أنظمة Linux أو macOS، يُمكن استعمال مدير الحزم:
bashsudo apt install ruby-full # لأنظمة Debian/Ubuntu
brew install ruby # لأنظمة macOS
2. تنصيب Bundler وJekyll:
bashgem install bundler jekyll
إنشاء مشروع Jekyll جديد
بعد تنصيب جميع الأدوات اللازمة، يمكن إنشاء مشروع جديد بتنفيذ الأمر التالي:
bashjekyll 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:
yamltitle: "مدونتي الشخصية"
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:
htmlhtml>
<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 لنشر المدونة مجاناً على الإنترنت.
خطوات النشر:
-
إنشاء مستودع جديد على GitHub باسم
username.github.io. -
رفع مجلد المدونة إليه باستخدام Git.
-
تفعيل GitHub Pages من إعدادات المستودع.
أوامر Git الأساسية:
bashgit 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) منظمة
مثال على إعداد روابط دائمة:
yamlpermalink: /: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، وتتيح إمكانيات تطوير واسعة دون الحاجة لخبرة كبيرة في إدارة الخوادم. في الأجزاء القادمة، سيتم تناول كيفية توسيع المدونة، إضافة نماذج الاتصال، وتحسين التكامل مع أدوات التحليل والتسويق الرقمي.

