بدائل ووردبريس للمدونين الأفرادبين الأنظمة المسطحة لإدارة المحتوى Flat CMSs
ومولدات المواقع الساكنة SSGs
تمهيد
يدرك المدونون اليوم أن أنظمة إدارة المحتوى التقليدية —وعلى رأسها WordPress— باتت ذاخرة اليوم بالكثير من المزايا والإمكانات التي تتجاوز في كثير من الأحيان حاجاتهم ومتطلباتهم كمدونين أفراداً، إلى الحد الذي قد تبدو فيه تلك المزايا عبئاً على كاهلهم.
واقع الأنظمة التقليدية لإدارة المحتوى
تتجلى تلك المزايا التي استحالت عبئاً بنظر الكثيرين في ٤ جوانب:
- الاعتماد على قواعد البيانات، مع ما يعنيه ذلك من متطلبات في الخبرة والصيانة قد لا يتوفر عليها مطورو الـ Front end على وجه الخصوص.
- تعدد المستخدمين (المدونين): وذلك على الرغم من أن المدون الفرد هو المستخدم (المحرر) الوحيد لمدونته في حالتنا هذه.
- ثمة جانب ثالث كان يجبر المدونين على اللجوء لقواعد البيانات هو مسألة تلقي التعليقات من زوار الموقع، بيد أنه، وبظهور وسائل التواصل الاجتماعي، أخذ التفاعل بين المدون وقُرّاءه ينتقل تدريجياً من مدونته إلى تلك المنصات، وعزف الناس شيئاً فشيئاً عن التعليق على صفحات المدونات ذاتها. وبظهور نظام Disqus وغيرها من خدمات استضافة التعليقات على المدونات، تلاشت تقريباً خدمة التعليق المباشر على صفحات المدونة.
- لوحة التحكم بالمدونة: فالمدون الفرد —إن كان تقنياً— غالباً ما يفضل الكتابة بصيغة Markdown وإيداع المقال مباشرة على المزود عن طريق FTP على سبيل المثال، دون الاستعانة بواجهة ويب تابعة لنظام إدارة المحتوى المستخدَم.
بدائل الأنظمة التقليدية لإدارة المحتوى
مولدات المواقع الساكنة Static Site Generators أو SSGs
أمام حالة التضخم المتزايدة تلك، والتي باتت تشهدها أنظمة إدارة المحتوى التقليدية، من وجهة نظر المدون الفرد، بدأت تظهر عدة أنظمة بديلة تتخذ من البساطة والسرعة مبدأ أساسياً في بنيتها، كان أشهرها نظام Jekyll المبني على لغة Ruby، حيث يعمل على توليد صفحات HTML ساكنة (غير ديناميكية) انطلاقاً من ملفات Markdown ينشئها المدون، أي أن هذا النظام لن يكون بحاجة لأي نوع من أنواع المعالجة من طرف المزود، بل يكفي للمدون أن ينشئ مقالته بصيغة Markdown، ثم يعمد إلى توليد نسخة HTML منها لعرضها على صفحات المدونة.
ولهذا السبب أُطلقَ على هذه الفئة من أنظمة إدارة المحتوى «مولدات المواقع الساكنة» Static Site Generator، أو SSG اختصاراً.
ولأن نظام SSG مكوَّن في نهاية المطاف من ملفات HTML ساكنة لا تتطلب أي نوع من المعالجة من طرف المزود كما أشرنا، فهو يتفوق على الأنظمة التقليدية من ناحية الأداء.
ولكنه بذلك:
- لا ينطوي على أي واجهة تفاعلية لإدارة المقالات أو تحريرها. وهو أنه أمر يمكن تجاوزه بالنسبة لمدون تقني يحسن التعامل مع صيغة Markdown ومع أدوات التعامل مع المزودات، من قبيل بروتوكل FTP ولوحات التحكم العمومية…
- لا يوفر للزائر عادة ميزة البحث في المقالات.
- ما لم يكن المستخدم (المدون) متمكناً من Git أو غيره من أنظمة التحكم بالإصدارات Version Control Systems، فسيبدو نظام SSG بالنسبة له مفتقراً للمرونة في إدارة عمليات التحديث.
الأنظمة المسطحة لإدارة المحتوى Flat CMSs
وأمام الجانبين الثاني والثالث من جوانب القصور، ظهرت فئة ثالثة من أنظمة إدارة المحتوى تحاول الجمع بين مزايا الفئتين السابقتين:
- ديناميكية: تولد صفحات الويب آلياً من ملفات المقالات (بصيغة Markdown غالباً)، أسوة بالأنظمة التقليدية وبعكس أنظمة SSG.
- لكنها مسطحة Flat: تتبنى الملفات بدلاً من قواعد البيانات كحل لتخزين المحتوى فيها: وذلك أسوة بأنظمة SSG وبعكس الأنظمة التقليدية.
وتبقى مسألة واجهة الإدارة Admin Panel عندئذ ميزة اختيارية يمكن تثبيتها كمكون إضافي Plugin.
مقارنة مبسطة بين مولدات المواقع الساكنة SSGs والأنظمة المسطحة لإدارة المحتوى Flat CMSs
يعرض الجدول التالي مقارنة مبسطة بين تلك الفئات الثلاث من أنظمة إدارة المحتوى.
الميزة | الأنظمة التقليدية | مولدات المواقع الساكنة SSGs | الأنظمة المسطحة Flat CMSs |
---|---|---|---|
لوحة الإدارة Admin panel | ✓ | ✕ | اختيارية |
صيغة المحتوى | قاعدة بيانات | صيغة Markdown | صيغة Markdown أو أي صيغة أخرى من صيغ الملفات |
التحويل من Markdown إلى HTML | ديناميكي | ساكن | ديناميكي |
لائحة بأبرز الأنظمة المسطحة لإدارة المحتوى Flat CMSs
فما هي إذن أبرز البدائل الديناميكية المسطحة المتاحة لإدارة المحتوى؟
أستعرض فيما يلي أبرز هذه البدائل، مقارناً بين خصائص كل منها.
تجدر الإشارة إلى أن الخلايا المميزة باللون الأحمر ما تزال بحاجة للمراجعة، بيد أني آثرت نشر المقالة على حالها على أن تظل حبيسة الأدراج بدعوى عدم اكتمالها، آملاً استكمال العمل عليها في قادم الأيام.
Name | Release | Release Date | Content Format | Theme Template | Language-File Format | Admin Panel | Size | License | URL | Note |
---|---|---|---|---|---|---|---|---|---|---|
Automad | 1.5.4 | 2020-06-17 | Folder/TXT | TXT | ✓ | 5.9 MB | MIT | https://automad.org | It has a caching engine, tagging system and search engine baked into it. | |
BatFlat | ✓ | https://batflat.org/ | ||||||||
Baun | 1.3.2 | 2015-03-18 | 0.13 MB | MIT | https://bauncms.com/ | |||||
Bludit | 3.13.1 | 2020-07-29 | Folder/MD | PHP | JSON | ✓ | 5.2 MB | MIT | https://www.bludit.com/ | |
Bolt | 3.7.1 | 2020-5-07 | SQLite | Twig | JS | ✓ | 17.8 MB | MIT | https://bolt.cm/ | |
CMSimple | 5.1 | 2020-06-15 | PHP | 3.9 MB | GPL 3.0 | https://www.cmsimple.org/en/ | ||||
CMSimple_XH | 1.7.3 | 2020-07-28 | PHP | 9.6 MB | GPL 3.0 | https://www.cmsimple.org/en/ | ||||
FlatPress | 1.1 | 2019-02-22 | TXT (BBCode) | TPL | PHP | ✓ | 2.1 MB | GPL 2.0 | https://www.flatpress.org/ | Requires e-mail address. |
FlexType | 0.9.9 | 2020-08-05 | MD | Twig | YAML | 12.9 MB | MIT | https://flextype.org/en | ||
GetSimple | 3.3.16 | 2020-03-03 | XML | PHP | PHP | ✓ | 4.2 MB | GPL 3.0 | http://get-simple.info/ | |
Ghost | SQLite | https://ghost.org/ | ||||||||
Grav | 1.6.26 | 2020-09-05 | ##.folder/file.md | Twig | YAML | ✕ | 15.5 MB | MIT | https://getgrav.org/ | |
Grav+Admin | 1.6.26 | 2020-09-05 | ##.folder/file.md | Twig | YAML | ✓ | 28.7 MB | MIT | https://getgrav.org/ | |
HTMLy | 2.7.5 | 2020-05-06 | date_tags_url.md | PHP | INI | ✓ | 3.8 MB | GPL 2.0+ | https://www.htmly.com/ | |
Kirby | 3.4.2 | 2020-08-07 | Folder/MD.txt | JSON | ✓ | 4.3 MB | EULA | http://getkirby.com/ | ||
Mecha | 2.3.2 | 2020-06-21 | 0.38 MB | GPL 3.0 | https://mecha-cms.com/ | |||||
Monstra | 3.0.4 | 2016-04-05 | XML | PHP | PHP | ✓ | 4.7 MB | MIT | https://monstra.org/ | Multi-user capabilities |
Nesta | 0.12.0 | 2020-05-30 | Ruby | ✕ | 0.176 MB | MIT | http://nestacms.com/ | |||
Phile | 1.11.1 | 2020-07-18 | file.md | Twig | ✕ | ✕ | 0.307 MB | MIT | https://philecms.github.io/ | |
Pico | 2.1.3 | 2020-07-10 | file.md | Twig | ✕ | ✕ | 2.9 MB | MIT | http://picocms.org/ | |
PivotX | 2.3.11 | 2015-06-21 | PHP | MO | ✓ | 7.9 MB | GPL 2.0 | http://pivotx.net | ||
PluXML | 5.8.3 | 2020-05-19 | XML | PHP | PHP | For installation only | 3.0 MB | GPL 2.0 | https://www.pluxml.org/ | Requires email address. |
razorCMS | 3.4.5 | 2015-02-15 | SQLite | PHP | ✓ | 4.1 MB | GPL 3.0 | https://razorcms.co.uk/ | ||
Stacey | 2.3.0 | 2011-04-14 | 0.71 MB | MIT | http://www.staceyapp.com/ | |||||
Statamic | ✓ | EULA | https://statamic.com/ | |||||||
TextPress | 2.0.1 | 2014-10-11 | date-json+markdown.txt | PHP | ✕ | 0.39 MB | MIT | http://textpress.shameerc.com/ | ||
TypeSetter | 5.1 | 2017-08-12 | Folder/PHP | PHP | PHP | ✓ | 10.5 MB + cache | GPL 2.0 | https://www.typesettercms.com/ | Requires email address. Its cornerstone feature is the true WISIWYG editor that appears on every page of the site, to easily make changes. |
WonderCMS | 3.1.1 | 2020-07-21 | database.js | PHP | ✓ | 0.81 MB | MIT | https://www.wondercms.com/ | ||
Yellow | 0.8.15 | 2020-08-07 | Folder/MD.txt | PHP | YAML.txt | 0.914 MB | GPL 2.0 | https://datenstrom.se/yellow/ |
الخلاصة
- مولدات المواقع الساكنة SSGs هي الخيار الأفضل للتقنيين الخبراء الذين يحسنون التعامل مع Git أو غيرها لإدارة المدونة وتحديث محتواها، فهي الأقل استهلاكاً لموارد المزود Server.
- أنظمة FlatCMS أقل تطلباً للخبرة التقنية، ولعل المهارة الوحيدة التي ينبغي إتقانها هنا هي الكتابة بصيغة Markdown.
- وبنظرة سريعة على الجدول أعلاه يبدو كل من Pico وGrav الخيارين الأكثر نضجاً من بينها، نظراً لتفوقهما في تبني الصيغ المبسطة للملفات، من قبيل Markdown و YAML و Twig.
if (flatCMS && !SSG) {
echo "Grav or Pico; that is the question!";
}
وعلى الرغم من النضج الذي يتمتع به Grav مقارنة بـ Pico، إلا أنني آثرت Pico وبساطته على Grav ونضجه. بعبارة أخرى، آثرت Pico رغم افتقاره لدعم تعدد اللغات، على Grav الذي يوشك أن يزاحم Wordpress بنضجه وتعقيده!