
Grubby يولّد مواقع ثابتة من مستودعات Git العارية
Grubby هو مولّد مواقع ثابتة مكتوب بلغة Ruby لمستودعات Git العارية. يستخدم Kramdown افتراضيًا، ويدعم التحديثات القائمة على الخطافات، ويُنشئ فهرسًا رئيسيًا وموقعًا منفصلًا لكل مستودع مع إعداد بسيط.
مواقع ثابتة من مستودعات Git العارية
Grubby هو مولّد مواقع ثابتة مكتوب بلغة Ruby لمستودعات Git العارية. وهو متفرّع من RepoRat ومستوحى منه إلى حد كبير. يُنشئ Grubby موقعًا إلكترونيًا لكل مستودع Git عاري ويُنتج فهرسًا رئيسيًا للمستودعات.
يتطلب المشروع Git وRuby 3.0 أو إصدار أحدث وKramdown. صُمم كحل مُعدّ برؤية شخصية وبإعداد أدنى. Kramdown هو محلل Markdown الافتراضي، رغم أنه يمكن استبداله، لكن لا يوجد ضمان أن المحللات البديلة ستعمل دون أخطاء.
الإعداد والإخراج
يفترض Grubby أن مجلدات مستودعات Git العارية تنتهي بامتداد .git. قد لا يعمل توليد فهرس المستودعات الرئيسي بشكل صحيح خارج هذه قاعدة التسمية. ملف الإعداد الرئيسي هو _config.yml، ويُستخدم لتعيين النطاق الرئيسي والمسارات.
افتراضيًا، يقع فهرس المستودعات في جذر الدليل الرئيسي ويُسمى index.html. يمكن تغيير اسم ملفه الناتج في _config.yml. يمكن للمستخدمين الذين يرغبون في تغيير مظهر المواقع المولّدة أو التنقل فيها تعديل style.css و_header.html و_footer.html.
توليد المواقع بخطافات Git
يفترض دليل الاستخدام أن العمل مع استضافة NearlyFreeSpeech.NET المشتركة، رغم أن العملية موصوفة بشكل مشابه على VPS شخصي. في مثاله، تُخزَّن المستودعات العارية في /home/public/git.sitename.org. يُنسخ Grubby نفسه إلى دليل شخصي، ثم تُشغَّل العملية من داخل المستودع العاري.
في مجلد hooks الخاص بالمستودع، تُنشأ خطافة post-update وتُمنح صلاحية التنفيذ. يعطّل السكربت GIT_DIR، ويُشغّل git update-server-info، وينسخ المستودع الحالي إلى دليل مؤقت، وينسخ ملف description الخاص به، ثم يُشغّل مولّد Ruby على checkout مؤقت. بعد ذلك يُحذف الدليل المؤقت.
تشغيل الخطافة لكل مستودع يُنشئ موقعًا منفصلًا في الدليل المناسب ويحدّث index.html في الجذر. يمكن أيضًا وضع الاستدعاء نفسه في خطافة post-receive. يمكن استخدام خطافة post-update عامة لتشغيل العملية دون إضافتها إلى كل مستودع.
القيود الحالية
لا يُنشئ Grubby صفحات منفصلة لكل commit أو branch أو تغيير منفصل آخر في المستودع. نتيجته المولّدة موجّهة نحو مواقع المستودعات وفهرس المستودعات الرئيسي.
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.