قالب موقع شخصي ثنائي اللغة (عربي/إنجليزي) — بدون أدوات بناء، وقابل للتخصيص من ملف واحد.
English- ثنائي اللغة — عربي/إنجليزي مع دعم كامل لـ RTL
- تخصيص فوري — الألوان والمحتوى والبنية من ملف
config.yaml - محتوى Markdown — صفحات، مدونة، ومقالات قصيرة
- بدون أدوات بناء — يعمل مباشرة من ملفات المشروع
- SEO تلقائي — وسوم Open Graph ووصف للصفحات
- تلوين الشيفرات البرمجية — عبر highlight.js
- رسوم بيانية — عبر Mermaid
- نشر تلقائي — GitHub Actions workflow مُضمَّن
# استنساخ القالب
git clone https://github.com/AliOsm/alirator.git my-site
cd my-site
# تعديل الإعدادات
# عدّل config.yaml باسمك وروابطك ولون الموقع
# تعديل الصفحات
# عدّل ملفات Markdown في مجلد pages/
# بناء الفهارس وتشغيل الخادم المحلِّي
bash dev.sh
# افتح http://localhost:6570alirator/
├── index.html # صفحة HTML الرئيسية
├── app.js # منطق التطبيق
├── style.css # الأنماط
├── config.yaml # إعدادات الموقع
├── build.rb # مولّد فهارس المجموعات
├── dev.sh # سكربت التشغيل المحلي
├── assets/
│ ├── author.svg # صورة المؤلف الافتراضية
│ └── favicon.svg # أيقونة الموقع الافتراضية
└── pages/
├── home.ar.md # الصفحة الرئيسية (عربي)
├── home.en.md # الصفحة الرئيسية (إنجليزي)
├── *.ar.md / *.en.md # صفحات ثابتة أخرى
├── blogs/ # تدوينات طويلة
│ └── slug.ar.md / slug.en.md
└── posts/ # مقالات قصيرة
└── slug.ar.md / slug.en.md
ملفات
_manifest.jsonتُولَّد تلقائيًا بواسطةbuild.rbولا تُتبَّع في git.
ملف config.yaml يتحكم في كل شيء:
| القسم | الوصف |
|---|---|
siteName |
اسم الموقع (عربي/إنجليزي) |
defaultLang |
اللغة الافتراضية (ar أو en) |
theme.accent |
لون الموقع الأساسي (hex) |
author |
الاسم، النبذة، الصورة، الموقع، روابط التواصل |
pages |
صفحات الموقع — [slug, العربي, English] (استخدم ~ لإخفاء صفحة من لغة معينة) |
collections |
المجموعات — [slug, العربي, English, type] |
seo |
وصف الموقع وصورة المشاركة |
footer |
التذييل (يدعم {year}) |
أنشئ ملفًّا في pages/ بالتنسيق slug.lang.md ثم أضفه إلى pages في config.yaml:
pages:
- [slug, العنوان العربي, English Title] # كلتا اللغتين
- [slug, عربي فقط, ~] # عربي فقط
- [slug, ~, English Only] # إنجليزي فقطاستخدم ~ (null في YAML) بدلاً من العنوان لإخفاء الصفحة من لغة معينة.
أنشئ ملفًّا في pages/blogs/ أو pages/posts/ وحدِّد معلوماته كالتالي:
---
title: عنوان التدوينة
date: 2024-06-15
excerpt: وصف مختصر.
tags: [وسم1, وسم2]
cover: /path/to/image.jpg # اختياري
---ثم شغّل ruby build.rb لتحديث الفهارس.
المستودع يتضمن workflow للنشر التلقائي. عند رفع التعديلات إلى main يتم التالي:
- بناء فهارس المجموعات
- إضافة hash لجميع الملفات لكسر التخزين المؤقت
- نشر الموقع على GitHub Pages
لتفعيل GitHub Pages على مستودعك: Settings → Pages → Source → GitHub Actions.
الموقع عبارة عن ملفات ثابتة — يعمل على أي استضافة (Netlify، Vercel، Cloudflare Pages، إلخ).
bash dev.shيبني هذا الملف الفهارس ويشغِّل خادمًا محليًّا على المنفذ 6570.
- Ruby 2.7+ — لبناء الفهارس وخادم التطوير (لا يستخدم أي اعتماديات خارجية)
- جميع المكتبات الأخرى تُستخدم عبر CDN
القالب مصمم للعربية والإنجليزية افتراضيًّا، لكنه يدعم أي زوج من اللغات. لاستخدام لغات أخرى:
- حدّث رموز اللغات في
build.rb(دالةextract_slug_and_lang) وapp.js - عدّل
langDirفيconfig.yamlلتحديد اتجاه كل لغة - غيّر خطوط Google Fonts في
index.htmlلتناسب اللغات الجديدة
المساهمات مرحّب بها. افتح issue للنقاش أو أرسل pull request.