هذا هو الكود المصدري لموقعي الشخصي الفارسي. تُكتب اللغة الفارسية المعروفة أيضًا باسم الفارسية من اليمين إلى اليسار، إلا أن بعض الأشخاص يستخدمون النص الروماني لكتابة اللغة الفارسية في تطبيقات المراسلة والشبكات الاجتماعية.
يمكن أن يكون هذا المستودع مفيدًا لأي شخص يرغب في إنشاء موقع ويب جديد من اليمين إلى اليسار. أقوم تدريجيًا بإصلاح المشكلات التي واجهتها أثناء كتابة منشورات جديدة على موقع الويب الخاص بي. تم إنتاج هذا الموقع باستخدام مولد موقع Jekyll الثابت.
من المستحيل وجود قسم للتعليقات على موقع ويب ثابت حقًا (مجموعة من المستندات بالفعل). بالنسبة لنماذج HTML يجب التعامل معها على الخادم. استخدم موقع الويب هذا Disqus في البداية، ثم نماذج Netlify والآن استخدم برنامج CGI النصي على خادمي المستضاف ذاتيًا. يقوم البرنامج النصي بتخزين التقديمات في قاعدة بيانات sqlite3. راجع schema.sql لنموذج البيانات. يقوم البرنامج النصي للإنشاء بتصدير التعليقات من قاعدة بيانات sqlite3 إلى ملفات البيانات. تُستخدم هذه الملفات بدورها لإنشاء التعليقات الثابتة عند إنشاء الصفحة.
أستخدم nginx وfcgiwrap لتشغيل البرنامج النصي. بعض متغيرات البيئة ضرورية، مثل موقع قاعدة البيانات وقيمة بسيطة كحل اللغز.
يستخدم قسم التعليقات الأخير برنامج نصي CGI مع قاعدة بيانات sqlite3. لتشغيل البرامج النصية CGI استخدمت fcgiwrap. بعد التثبيت على Ubuntu قمت بتمكين fcgiwrap.service
. أستخدم الكتلة التالية للتعامل مع مسار cgi-bin
على nginx:
location /cgi-bin/ {
gzip off;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
include /etc/nginx/fastcgi_params;
fastcgi_param ALEF_DB "/path/to/my/sqlite/db";
fastcgi_param ALEF_PUZZLE "puzzle_answer";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
يرسل نموذج التعليق طلب POST إلى cgi-bin/submit
URL والذي سيتم التعامل معه بواسطة هذا البرنامج النصي. يتم تحديث scripts/rebuild_commends.py
لإعادة إنشاء التعليقات من قاعدة بيانات sqlite3. يجب أن يكون المسار متاحًا في متغير البيئة ALEF_DB
. راجع Makefile لأوامر الإنشاء.
اتبع الخطوات التالية لإنشاء موقع الويب الخاص بك:
من أجل إنشاء موقع الويب بشكل صحيح، يجب عليك تسمية المستودع المتشعب بشكل مختلف عن اسم المستخدم الخاص بك. إذا قمت بوضعه ضمن مستودع مثل yourusername.github.io، فسيستخدم Github منشئ Jekyll الخاص به لإنشاء موقع الويب الخاص بك، بغض النظر عما تضعه داخل فرع gh-pages . كتابة سعيدة!