مررت بتجارب متعددة لتطوير موقع شخصي مرن في التوسع لأي محتوى أرغب في مشاركته، بالإضافة لكونه موقع مبني للتدوين ومشاركة التدوينات. سأختصر التجارب بالتالي :
- استخدام منصات التدوين الجاهزة الشهيرة مثل wordpress. هذه الطريقة الأسهل لكن أكبر عيب فيها هو صعوبة التوسع، وأن المنصة لا تسمح لك (بشكل مباشر) بتصميم الواجهات حسب رغبتك، بل أنت مقيد بالمتوفر من القوالب والإضافات.
- تطوير static website. يعني ببساطة بناء صفحات ويب جاهزة بمساعدة أدوات مثل jekyll . الحقيقة أن هذه الطريقة آمنة وذكية وعديمة التكلفة تقريبا، لا من حيث إستضافة الموقع ولا من بناء الصفحات. المزعج في هذه الطريقة :
- أن طريقة تحديث المحتوى بدائية وبطيئة نوعا ما وتحتاج إعادة بناء صفحات الموقع ورفعها مرة أخرى.
- الكتابة غالبا تكون باستخدام لغة markdown وهي لغة متوسطة تستخدمها لتحويل المقالات الخام إلى مقالات قابلة للعرض على الويب بالشكل المعتاد ( عناوين جانبية، صور ونصوص ..إلخ). استخدام الماركداون بحد ذاته غير مريح للكتابة المستمرة، خاصة باللغة العربية، ودعمه للحاشية وبعض التفاصيل الأخرى للأسف محدود.
من هنا نمت لدي رغبة لتصميم وتطوير منصة بسيطة تناسب احتياجي، ومرنة في التوسع متى ما رغبت في ذلك. الموقع الذي تتصفحة حاليا مبني بمساعدة أدوات مختلفة، سأشرحها بنقاط متفرقة:
- استخدمت لغة Golang لبناء خادم ويب webserver. يستقبل المستخدم، يعرض المقال أو الصفحة المطلوبة عند الطلب.
- هذا السيرفر مربوط بـ datastore أو قاعدة للبيانات. أجمع فيه المحتوى بشكل مصنف.
- استخدمت محرر نصوص متكامل WYSIWYG editor . لكتابة المحتوى وإضافته لقاعدة البيانات. المحرر الممتاز هو draft.js يمكن ببساطة إدراجه في صفحات الويب.
- نأتي للتصميم: استخدمت foundation وهي فريمورك ممتازة باستطاعتك تبني عليها تصميمك الخاص لبناء صفحات الويب. تدعم العربية RTL بدون أي تعديل. وجيدة في عرض الصفحات على الموبايل.
إذا كنت مطور، لا أمانع أبدا إعادة استخدام الأكواد المعروضة، لكن يفضّل الإشارة للمصدر. إذا كنت مهتم بـ back-end code يرجى مراسلتي. سأحاول فتح المصدر ونشره إذا وصلتني طلبات متعددة.
هذه المنصة الشخصية البسيطة قد تكون نواة لعمل آخر ...