Hugo vs. Jekyll: أيهما مناسب لمدونتك؟

مُولِّدات المواقع الثابتة تقوم بإنشاء مواقع HTML، مع تخطيط صفحات متوقعة ومحتوى بتنسيق منتظم مثل المدونات. هناك العديد من الأطر القادرة على استغلال لغة برمجة والسماح لك باعادة استخدام الكود ومعالجة الأصول لهذه الصفحات HTML، ولكن هذه المقالة ستقارن بين اثنين من أكثرها شهرة: هوغو وجيكل. (للمقارنة بين موقع ثابت وموقع ديناميكي، انظر جيكل مقابل ووردبريس)

لماذا استخدام صفحات HTML الثابتة؟

ان مولّدي مواقع الويب الثابتة مثيرة للاهتمام لأنها تنتج مواقع آمنة تتطلب صيانة قليلة وتكون أسرع في تقديم الخدمة من الصفحات الديناميكية المُنشأة. مع الصفحات الويب الديناميكية، يقوم إطار عمل الويب المثبت على الخادم بتوليد الصفحة التي يراها المستخدم. يقوم المستخدم بطلب صفحة، ثم يستعين الخادم بقاعدة بيانات، يستخرج المعلومات التي يرغب المستخدمون برؤيتها، يقوم بدمج تلك البيانات في صفحة HTML، ثم يرسل تلك الصفحة إلى المستخدم.

مع صفحات HTML الثابتة، يتم إعداد الصفحات مسبقاً، لذا لا يقوم الخادم بأي من عملية بناء الصفحة. إنه يتعامل فقط مع إرسال الصفحة المناسبة إلى المستخدم. وهذا يعني أن صفحات HTML الثابتة أسرع، ومتطلبات الحوسبة للخادم أقل بكثير؛ وهو مهم في بيئات السحابة حيث يتم محاسبتك على الطاقة الحاسوبية.

تقوم الصفحات الثابتة بتقليل عملية إنشاء الصفحة، لذا يتلقى المستخدم صفحته بسرعة أكبر. تكون مخاطر الأمان أيضاً أصغر لأن هناك عدد أقل من العناصر المتحركة التي يمكن للمهاجمين اختراقها واستغلالها. يمكن تخزين الصفحات HTML الثابتة بسهولة في الذاكرة المؤقتة، لذا فهي مناسبة تماماً للخدمة من شبكات توزيع المحتوى (CDNs)، مما يجعل أوقات الاستجابة أسرع حتى.

نظراً لعدم حاجة الصفحات الثابتة للخوادم لأداء الحسابات أو الاستعلام عن قاعدة البيانات، يمكنك نشرها باستخدام خيارات استضافة بسيطة واقتصادية للغاية مثل دلو Amazon S3 أو صفحات GitHub.

مولدات الموقع الثابت

يمكنك ببساطة كتابة صفحة HTML ووضعها على خادم، مع أن static site generators يجعل من الأسهل بكثير إنشاء صفحات جديدة تستخدم قوالب موجودة أو تعديل جميع صفحاتك الحالية دفعة واحدة.

واحد من أوائل static site generators الذي أعاد هذه الاتجاه في تطوير الويب كان Jekyll. انضم Hugo بعد خمس سنوات.

ما هو هوغو؟

هوجو هو مولد مواقع ثابت سريع للغاية وآمن بشكل كبير يتميز بأنه أداة بناء مواقع ويب ممتعة وحديثة. يتم كتابته بلغة Go ويمكن استضافة المواقع التي تعتمد على هذا الجيل من المحتوى في أي مكان. واحدة من ميزاته المميزة هي أن مواقع هوجو الثابتة لا تحتاج إلى قاعدة بيانات في أوقات التشغيل مثل Ruby، PHP أو Python. وفقًا لموقعهم، يعد مُولّد مواقع هوجو “أسرع أداة من نوعها” مدرجًا سرعات بناء مواقع متوسطة تقل عن ثانية واحدة. لمزيد من المعلومات حول “ما هو هوجو”.

ما هو جيكل؟

جيكيل هو مولد مواقع ثابتة مفتوح المصدر مكتوب بلغة Ruby من قبل أحد مؤسسي Github، توم بريستون-ويرنر. يقوم بتحويل المستندات النصية العادية إلى مواقع ثابتة يمكن استخدامها لمواقع الويب القائمة على المعلومات أو المدونات. يحتوي على دعم مدمج لصفحات Github وهو أحد مولدات المواقع الثابتة الأكثر شعبية المتاحة.
مزيد من المعلومات حول “ما هو جيكيل”

هوغو vs. جيكل

با أي جهاز توليد ، يمكنك الحصول على مدونة قاعدة جاهزة وتعمل في غضون ثلاثين دقيقة أو أقل. إذا كنت تبدأ من الصفر ، فإن Hugo أسهل قليلاً في التثبيت. مع Jekyll ، يجب عليك تثبيت بعض الشروط الأولية مثل Ruby. Go يأتي بصورة ثنائية معبأة مسبقًا مع تثبيت Hugo.

بالنسبة إلى كل من إطارات Jekyll و Hugo ، عادة ما تكتب ملف محتوى مثل مقالة مدونة بتنسيق HTML أو Markdown. يتم دمج هذا المحتوى مع قوالب HTML ، التي تجمع وتنسق المحتوى ، لتخريج ملف HTML لعرضه على الويب.

تتيح كلتا الإطارين للمطورين إضافة متغيرات إلى المحتوى ، باستخدام لغة وضع YAML ، واستهلاك ملفات بيانات في تنسيقات عامة مثل JSON و CSV. كما يأتي كل من الإطارين بعدد من الميزات المفيدة للمدونة ، مثل الوسوم والقدرة على توجيه ملفات المحتوى إلى صفحات HTML نهائية. كما أنهما مفتوحة المصدر ، لذا يمكنك طلب التغييرات والمساهمة في التحسينات.

الفارق الأول والأكثر أساسية بين إطاري Jekyll و Hugo هو اللغة التي تم كتابتهما بها. تم كتابة Jekyll بلغة Ruby ، وهي لغة برمجة شهيرة كانت واحدة من أول اللغات التي جاءت مع إطار عمل ويب معقول الرأي ، مما جعلها شديدة الشهرة لبناء المواقع بسرعة. أما Hugo فقد كتب بلغة Go ، التي تم تطويرها في Google مع التركيز على التنفيذ المتزامن ، محسنة للنشر في بيئات السحابة حيث يتم توزيع القوة الحسابية عبر العديد من الآلات.

كل إطار له تفضيلات مختلفة أيضًا بشأن اللغات التي يعمل معها بشكل جيد. يوفر Jekyll الدعم لـ Coffeescript و SASS / SCSS. يدعم Hugo TOML و JSON markdown في ملفات المحتوى ، ولكن دعم SASS و SCSS قد يتطلب بعض الإعدادات الإضافية.

حالة القالب

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

تُقدِّم أقسام GitHub مجموعة هائلة تزيد عن 1,200 سمة للاختيار من بينها من أجل Jekyll، بينما يتم تقديم 370 خيارًا فقط على صفحات سمات Hugo (على الرغم من أنه يمكنك أيضًا إنشاء سمات خاصة بك). من الواضح أنه من المرجح إيجاد سمة بالمظهر الذي تريده باستخدام Jekyll. يتم دعم Jekyll من قبل GitHub، لذا إذا كنت ترغب في نشر بسيط مجاني، يعمل Jekyll بسلاسة مع صفحات GitHub، بحيث يمكنك إطلاق مدونة Jekyll بسرعة كبيرة عبر اتباع وثائق GitHub الممتازة.

فرق آخر بين إطاري العمل Hugo وJekyll هو أن إنشاء موقع جديد بواسطة Jekyll من خلال تشغيل أمر jekyll new my-awesome-site يُثبِّت سمة أساسية، بينما إنشاء موقع جديد بواسطة الأمر hugo new site my-awesome-site ينشئ فقط هيكل المجلد وملف النموذج الأصلي. مع Jekyll، ستكون لديك شيئًا للبدء مباشرة، ولكن مع Hugo ستكون تنظر إلى شاشة فارغة تنتظر منك إضافة سمة أو قوالب مخصصة.

يمكن أن يكون هذا رائعًا لإعداد مخصص تمامًا، ولكن لدى Jekyll مسار أسرع بكثير لرؤية المحتوى الذي يمكنك العمل به.

سرعة، سرعة أكبر

واحدة من أهم فوائد استخدام مولّد مواقع Hugo الثابت هي سرعته. استغلال التركيز على التزامن في لغة Go يعني أن المدونات التي تحتوي على آلاف الإدخالات أو العديد من الصور ستولّد الصفحات HTML بشكل أسرع. هذا يهم عند تشغيل الكود في أي مكان تقوم بدفع تكلفة الطاقة الحسابية عليه.

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

مكافآت هوغو

تُقَدِّم Hugo دعمًا للتدويل، وتُوفر طُرُقًا متعددة لتصنيف المُحتوى بلغات مُختلفة. كما تُقَدِّم Hugo أيضًا معالجة للصُور، وقوائم مُدمَجة، ورسم لِخريطة الموقع، وإعادة التحميل الحيَّة.

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

استضافه

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

هوغو يقدم أيضًا العديد من الخيارات للإستضافة. بالنسبة لكلا المُولِّدَين، لديك خياران أساسيان:

  1. يمكنك تشغيل مولد الموقع محليًا، ثم رفع النتائج إلى خادم. يمكنك فعل ذلك يدويًا أو توجيه خدمة ما لالتقاط HTML الخاص بك المحدث.
  2. يمكنك تثبيت مولد موقع الويب الثابت على جهاز كمبيوتر في السحابة، وتطلب من هذا الجهاز تشغيل أمر توليد المحتوى، ثم توفير الملفات التي ينتجها هذا العملية. هذه هي الطريقة التي تعمل بها خدمات مثل Amazon Amplify و CloudCannon و Netlify. جميع هذه المزودين لديهم أدلة محددة لنشر المواقع، ولكن عملية النشر لا تسبب الكثير من العناء عند استخدام أي من مولدي مواقع الويب الثابتة.

ماذا تختار

جيكيل وهوجو يصلحان على حد سواء للمدونات والمواقع الأخرى التي تركز على الواجهة الأمامية. يقومان بإنشاء صفحات HTML ثابتة من خلال دمج المحتوى المكتوب بلغة markdown مع قوالب HTML.

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

عند اتخاذ القرار، فكر في اللغات التي تعرفها، وأنواع markdown التي ترغب في استخدامها، وكيف ستنشر الموقع. إذا كنت ترغب في بدء التدوين على الفور، فإن Jekyll مناسب بشكل رائع، ولكن إذا توقعت كتابة الكثير من المحتوى، فسرعة وميزات Hugo ستجعل تجربة تطويرك أسهل.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *