Это исходный код моего личного персидского сайта. Персидский язык, также известный как фарси, пишется справа налево, однако некоторые люди используют латинский алфавит для написания персидского языка в приложениях для обмена сообщениями и социальных сетях.
Этот репозиторий может быть полезен всем, кто хочет создать новый веб-сайт справа налево. Я постепенно исправляю проблемы, с которыми столкнулся при написании новых постов на своем сайте. Этот веб-сайт создан с использованием генератора статических сайтов 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 на URL-адрес cgi-bin/submit
, который будет обрабатываться этим сценарием. scripts/rebuild_commends.py
обновляется для восстановления комментариев из базы данных sqlite3. Путь должен быть доступен в переменной env ALEF_DB
. См. Makefile для команд сборки.
Чтобы создать свой собственный сайт, выполните следующие шаги:
Чтобы правильно создать веб-сайт, вам необходимо назвать разветвленный репозиторий, отличающийся от вашего имени пользователя. Если вы поместите его в такой репозиторий, как yourusername.github.io, Github будет использовать собственный конструктор Jekyll для создания вашего веб-сайта, независимо от того, что вы поместите в ветку gh-pages . Приятного письма!