Este es el código fuente de mi sitio web persa personal. El persa, también conocido como farsi, se escribe de derecha a izquierda; sin embargo, algunas personas usan la escritura romana para escribir el idioma persa en aplicaciones de mensajería y redes sociales.
Este repositorio puede ser útil para cualquiera que desee crear un nuevo sitio web de derecha a izquierda. Poco a poco soluciono los problemas que encontré mientras escribía nuevas publicaciones en mi sitio web. Este sitio web se produce utilizando el generador de sitios estáticos Jekyll.
Tener una sección de comentarios en un sitio web verdaderamente estático (un montón de documentos, de hecho) es imposible. Para los formularios HTML se debe manejar en un servidor. Este sitio web usó Disqus al principio, luego formularios Netlify y ahora un script CGI en mi propio servidor autohospedado. El script almacena los envíos en una base de datos sqlite3. Consulte el esquema.sql para el modelo de datos. El script de compilación exporta comentarios de la base de datos sqlite3 a archivos de datos. Estos archivos, a su vez, se utilizan para generar comentarios estáticos al crear la página.
Utilizo nginx y fcgiwrap para ejecutar el script. Algunas variables de entorno son necesarias, como la ubicación de la base de datos y un valor simple como solución de rompecabezas.
La última sección de comentarios utiliza un script CGI junto con una base de datos sqlite3. Para ejecutar scripts CGI utilicé fcgiwrap. Después de la instalación en Ubuntu, habilité fcgiwrap.service
. Utilizo el siguiente bloque para manejar la ruta cgi-bin
en 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;
}
El formulario de comentarios envía una solicitud POST a cgi-bin/submit
URL que será manejada por este script. El scripts/rebuild_commends.py
se actualiza para reconstruir los comentarios de la base de datos sqlite3. La ruta debería estar disponible en la variable ambiental ALEF_DB
. Consulte el Makefile para conocer los comandos de compilación.
Siga los siguientes pasos para crear su propio sitio web:
Para crear el sitio web correctamente, debe nombrar el repositorio bifurcado diferente de su nombre de usuario. Si lo coloca en un repositorio como yourusername.github.io, Github usará su propio constructor Jekyll para crear su sitio web, sin importar lo que coloque dentro de la rama gh-pages . ¡Feliz escritura!