Dies ist der Quellcode meiner persönlichen persischen Website. Persisch, auch Farsi genannt, wird von rechts nach links geschrieben, einige Leute verwenden jedoch römische Schrift, um persische Sprache in Messaging-Anwendungen und sozialen Netzwerken zu schreiben.
Dieses Repository kann für jeden von Nutzen sein, der eine neue Rechts-nach-Links-Website erstellen möchte. Ich behebe nach und nach Probleme, auf die ich beim Schreiben neuer Beiträge auf meiner Website gestoßen bin. Diese Website wird mit dem statischen Site-Generator von Jekyll erstellt.
Es ist unmöglich, einen Kommentarbereich auf einer wirklich statischen Website (in der Tat eine Menge Dokumente) zu haben. Denn HTML-Formulare sollten auf einem Server abgewickelt werden. Diese Website verwendete am Anfang Disqus, dann Netlify-Formulare und jetzt ein CGI-Skript auf meinem eigenen, selbst gehosteten Server. Das Skript speichert Übermittlungen in einer SQLite3-Datenbank. Informationen zum Datenmodell finden Sie in schema.sql. Das Build-Skript exportiert Kommentare aus der SQLite3-Datenbank in Datendateien. Diese Dateien wiederum werden verwendet, um die statischen Kommentare beim Seitenaufbau zu generieren.
Ich verwende nginx und fcgiwrap zum Ausführen des Skripts. Einige Umgebungsvariablen sind erforderlich, z. B. der Speicherort der Datenbank und ein einfacher Wert als Rätsellösung.
Der neueste Kommentarbereich verwendet ein CGI-Skript zusammen mit einer SQLite3-Datenbank. Zum Ausführen von CGI-Skripten habe ich fcgiwrap verwendet. Nach der Installation unter Ubuntu habe ich den fcgiwrap.service
aktiviert. Ich verwende den folgenden Block, um cgi-bin
-Pfad auf Nginx zu verarbeiten:
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;
}
Das Kommentarformular sendet eine POST-Anfrage an cgi-bin/submit
-URL, die von diesem Skript verarbeitet wird. Die scripts/rebuild_commends.py
wird aktualisiert, um Kommentare aus der SQLite3-Datenbank neu zu erstellen. Der Pfad sollte in der Umgebungsvariablen ALEF_DB
verfügbar sein. Die Build-Befehle finden Sie im Makefile.
Führen Sie die folgenden Schritte aus, um Ihre eigene Website zu erstellen:
Um die Website korrekt zu erstellen, müssen Sie dem geforkten Repository einen anderen Namen als Ihren Benutzernamen geben. Wenn Sie es in einem Repository wie yourusername.github.io ablegen, verwendet Github seinen eigenen Jekyll-Builder, um Ihre Website zu erstellen, unabhängig davon, was Sie in den gh-pages -Zweig einfügen. Viel Spaß beim Schreiben!