الموقع الشخصي الانجليزي؛ ملف تعريف ومدونات بتقنية مختلفة عن وردبريس

بعد ١٥ سنة من التدوين اقدر اقول ان التدوين واي مدون غير احترافي «اي التدوين كعمل ومهنة للرزق» فراح يمر هذا المدون بفترات صعود ونزول، فترات نفسه تنفتح على التدوين ويكتب بشكل مستمر وفترات ينقطع عن المدونة بالشهور، وهذا امر طبيعي ويحدث مع جميع المدونين حول العالم.

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

اذا حاولت تنفذها باوقات الارهاق وعدم الرغبة بالتدوين فغالبًا راح تجبر نفسك على تنفيذ فكرتك او افكارك، بالتالي قد لا تكون النتيجة بافضل ما يمكن تقديمه.

وباعتبار اني اعيش هذه الايام حالة من الحماس والاندفاع اتجاه التدوين والمدونات، فقررت ارجع لمشاريعي وافكاري الي مضى عليها سنوات الان بدون اتخاذ اي خطوة للامام.

الموقع الشخصي الانجليزي

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

عكس حال الوضع العربي الي من سنة ٢٠٠٠ «بداياتي بالانترنت» لم يتغير الامر، بالعكس اتجه للاسوء بعد سيطرة المواقع الاجتماعية والي تسببت في موت اغلب المجتمعات الالكترونية العربية المتخصصة غير ان كثير من المحترفين انتقلو للتفاعل ونشر المحتوى باللغة الانجليزية بشكل كامل بسبب تنوع الفرص وبحثًا عن الرزق.

لهذا وجود مدونة عربية تتحكم بكل مفاصلها ومحتواها يعتبر امر مهم لكل شخص يجيد كتابة سطرين او ثلاثة لتقديم فكرة ما.

مع هذا في اخر ٥ سنين «ممكن نشيل سنتين كورونا الي ضاعت بلّوشي، يبقى ٣» بدأت تتملكني فكرة انشاء موقع ومدونة شخصية انجليزية لي. خصوصًا ان مجال دراستي وعملي انجليزي تمامًا بالنتيجة احتاج للتسويق لنفسي من خلال مدونة انجليزية مثل ما سويت بالضبط مع مدونتي العربية، لكن هالمرة بغير لغة.

سبب اخر قوي بالنسبة لي اني لم اعد اتحمل الغوغاء في المواقع الاجتماعية. لا تستطيع نشر فكرة ما إلا ودخل عليك بعض الغوغاء من تحت الارض يناقشوك في ما لا يفقهون. ولاني لم يعد لي رغبة بتضيع اي وقت في مجادلات لا نتيجة منها فالكتابة بمدونة خاصة بي ستوفر لي حرية التعبير.

رابط الموقع الانجليزي

بحثت كثيرًا بالشهرين الماضية عن رابط يكون بسيط ويعبر عني بنفس الوقت، وبعد التفكير بين هذا وذاك ثبتت على نطاق https://Mustafa.Page 😼

كنت اريد نفس النطاق لكن بنهاية .blog ورغم انه متوفر لكن سعره مرتفع جدًا حوالي 3000£ .. اما طبعًا نطاقات com و net وهذه الاسماء القديمة لنطاق Mustafa كلها محجوزة من زمن طويل.

اول ما نزلت النطاقات المتعددة تقريبًا قبل ١٢ سنة، كان خطأ مني وقتها اني لم اشتري مجموعة من النطاقات الي ممكن يكون لها مستقبل بالبيع بسعر جيد. كانت فرصة استثمار حقيقية.

استخدام مولد الصفحات Hugo بدل من وردبريس في تصميم الموقع

مولدات الصفحات الثابتة Static-Site-Generators اختصارًا SSG عبارة عن منصة او اطار عمل برمجي يتيح لكل تصميم مواقع بصفحات ثابتة HTML, CSS, Javascript بوقت اسرع وجهد اقل عن محاولة تصميم كل صفحة بالموقع بشكل يدوي، خصوصًا لو كانت هذه الصفحات بحاجة للتحديث بشكل مستمر عند اضافة محتويات جديدة على الموقع او المدونة.

الفكرة انك بالاعتماد على اطار العمل تقوم بتصميم قالب يحتوي على الصفحة الرئيسية وتصميم اخر للصفحات الثانوية «شكل اساسي موحد مثلا لصفحات المقالات ان كانت مدونة» وقالب لصفحة التاگ «بغض النظر عن اسم ورابط التاگ» وهكذا لكل قسم في الموقع تصمم القالب ولمرة واحدة. بحيث لو كان لديك ٣٠٠ مقال فانت تصمم القالب لصفحة المقال مرة واحدة، وتستخدم هذا القالب الموحد لبناء صفحات المقالات كلها.

غالبًا ما يتم تخزين المحتوى في اطر العمل هذه من خلال ملفات المارك داون Markdown. وهي ملفات نصية ثابتة اشبه بملفات التكست العادية، مع اختلاف اكستنشن الملف الى .md ويتم استخدام ترميزات Markdown, Frontmatter, Yaml, Toml…الخ لتصنيف وترتيب هذه الملفات.

مثال لكيفية تصنيف صفحة او مقال ما باستخدام الترميزات النصية:

---
title: سلبية الشبكات الاجتماعية على صحتك وحالتك النفسية
subtitle: اكتب عنوان فرعي للمقال
description: ممكن هنا كتابة المقتطف او الوصف الخاص بالمقال
author: مصطفى البازي
draft: false
date: 2022-02-12T17:05:03
slug: negativity-social-media-your-mental-health
featuredImage: '/images/2022/02/pexels-photo-3367850.jpeg.webp'
featuredImagePreview: '/images/2022/02/pexels-photo-3367850.jpeg.webp'
categories:
  - مقالات
tags:
  - الصحة
  - تويتر
  - شبكات اجتماعية
  - فيسبوك
  - مواقع
hiddenFromHomePage: false
hiddenFromSearch: false
toc:
  enable: false
math:
  enable: false
lightgallery: false
license: ""
---

هذه الترميزات ببساطة اشبه بالمتغيرات Variables في البرمجة. عند تصميمك للقالب فانت تقوم ببناء فنكشن وتقول له ابحث في ملف الماركداون «المقال في حالتنا» وان كان المتغير draft يعرف بـ false فهنا سوف نقوم ببناء هذه الصفحة، واما اذا كان يعرف بـ true فسوف نتجاهل هذه الصفحة «كونها مجرد درافت او مسودة غير جاهزة للنشر بعد».

وهكذا مع باقي الترميزات، نقوم بعملها واستخدامها لمساعدتنا بالتعرف على نوع الملف وكيف يجب التعامل معه اثناء عملية بناء الصفحات.

يوجد طريقة اخرى من خلال استخدام قاعدة بيانات و API واثناء البناء يقوم الاطار بالاتصال بقاعدة البيانات وسحب البيانات المطلوبة وبناء الصفحة. لكن شخصيًا لم اجرب هذا بعد.

بعد الانتهاء من تصميم القالب الخاص بك وتجهيز ملفات المحتوى كالمقالات وصفحة من نحن وغيرها من محتويات الموقع بالاضافة للصور. تقوم بتنفيذ امر البناء، ويكون عبارة عن امر تكتبه داخل سطر الاوامر فيقوم بقراءة كل شيء وبناء كل الصفحات ويحول كل هذه المعلومات إلى مجلد Folder يحتوي كل ملفات الموقع بصفحات ثابتة مثل html, css, js, images.

عملية بناء الموقع بكل الصفحات الثابتة «وحسب اطار العمل المستخدم» تاخذ وقت قصير جدًا بالعادة، فمثلاً اطار العمل Hugo على مدونة ب ١٠٠٠ صفحة بين مقالات وارشيف وصفحات لمختلف التاگات مع تقريبًا ١٨٠٠ صورة اخذ من الوقت ١.٢ ثانية فقط!

الان يمكنك بكل بساطة نقل هذه الملفات التي ولدها اطار العمل ونقلها على اي سيرفر وستعمل طبيعي دون الحاجة الى مفسر PHP وسيرفر قواعد بيانات MySQL كما هو الحال مع وردبريس ،، بل حتى يمكنك تصفح الملفات من خلال جهازك بمجرد الضغط على اي صفحة html سوف تفتح فورًا في المتصفح بكل المحتوى والتصميم!

وعند اضافة مقال جديد فتقوم باعادة تنفيذ امر البناء ليقوم ببناء الصفحة الجديدة وتستطيع بعدها نقلها للسيرفر. وهكذا كل ما اردت اضافة شيء للموقع.

هذا الفكر والاسلوب في بناء المواقع صارله تقريبًا ٥ سنين في انتشار وتطور يوم بعد يوم. كذلك كثير من المدونين «المبرمجين تحديدًا» انتقلو له وتركو وردبريس؛ لعدة اسباب من ضمنها بطئ تصفح مواقع وردبريس في السنوات الاخيرة، وتحول برنامج وردبريس بالسنوات الاخيرة من برنامج لتبسيط عملية التدوين الى برنامج بناء مواقع شامل وحتى انه اصبح يوفر امكانية بناء المتاجر الالكترونية.

اختيار اطار العمل

يوجد اطر عمل مختلفة بعضها مبني على بايثون واخرى على Node.Js وغيرها على Go و Ruby…الخ. ومنطقيًا ان تختار اطار العمل الذي تجيد لغة البرمجة المبني عليها اطار العمل لتكون عملية التعلم عليك اسهل.

جربت مجموعة من اطر العمل مثل Gatsby و Next و Jekyll وبالنهاية اعتمدت على Hugo. وجدته وبرايي الشخصي الافضل للمدونات من حيث كيفية تصميم القالب وادارة الملفات وسرعة بناء الموقع، كون المدونات يتم تحديثها باستمرار باضافة محتوى جديد فسرعة البناء مهمة. ايضًا Hugo يمتلك مجموعة جيدة جدًا ومتنوعة من القوالب الجاهزة والي ممكن تعتمد الاقرب منها لفكرة مدونتك وتقوم بالتطوير عليه لتصل بالنهاية للشكل الذي تريد بجهد و وقت اقل.

استضافة الموقع

استضفت الموقع على خدمة Netlify مستخدمًا الباقة المجانية «وهي كافية للمدونات الشخصية» وتوفر عدة مزايا مجانًا مثل سعة باندويث بحجم ١٠٠ جب وامكانية ربط نطاق خاص وتركيب شهادة SSL مجانًا من خلال Let’s Encrypt بالاضافة لاستضافة الملفات على شبكة CDN مما يعني سرعة واستجابة افضل لمدونتك عند التصفح.

واستخدمت حسابي على Github كوسيط بين جهازي واستضافة نتليفي لادارة ملفات الموقع. بحيث عندما اقوم باضافة مقال جديد ومن ثم اقوم بتنفيذ امر بناء الموقع، ثم اقوم بعمل Commit لمجلد الموقع المبني ورفع التحديثات إلى المشروع على Github، ومن ثم اوتوماتيكيًا يتم نقل التحديثات الجديدة فورًا إلى استضافة نتليفي .. وكل هذا من سطر الاوامر.

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

نظام التعليقات

كون الموقع وصفحاته ثابته ولا يوجد اي قاعدة بيانات ولا محتوى ديناميكي، بالحالة هذه لا يمكن توفير نظام للتعليقات الا من خلال استخدام الخدمات السحابية المدمجة مثل Disqus وغيرها. شخصيًا استخدمت دسكس.

البعض وتحديدًا المواقع الي عليها اقبال كبير تستخدم انظمة تعليق Self-hosted، وهي فكرة متاحة ايضًا وتعطيك تحكم اكبر وتقريبًا ستكلفك نفس كلفة خدمة دسكس الباقة المدفوعة.

مستقبلًا

من حيث التصميم والافكار لم انتهي بشكل كامل منه، لكن ممكن اقول وصلت لمرحلة ٨٠٪ واصبح جاهز على الاقل لأن يتم نشره للعامة. في الاسابيع وربما الاشهر القادمة ساقوم باضافة افكار ومزايا اضافية وربما ازيل او اغير بعض الامور الحالية.

والاهم هو المواضبة على نشر المحتوى، هذا اهم من التصميم واهم من SEO واهم من كل شيء اخر.

هذا كل شيء الان. اتمنى هذا المقال يكون فيه بعض الفائدة لكم.

تحياتي للجميع .. مصطفى البازي.

📮 المتابعة عبر البريد الالكتروني

عند الاشتراك سيصلك جديد منشوراتي ومقالاتي على ايميلك. لا يتم نشر اي اعلانات ابدًا، فقط المقالات التي انشرها هنا في مدونتي هذه.

شاركني برأيك