
Este é o código-fonte do meu site pessoal em persa. O persa, também conhecido como farsi, é escrito da direita para a esquerda, no entanto, algumas pessoas usam a escrita romana para escrever a língua persa em aplicativos de mensagens e redes sociais.
Este repositório pode ser útil para qualquer pessoa disposta a construir um novo site da direita para a esquerda. Gradualmente corrigi problemas que encontrei ao escrever novas postagens em meu site. Este site é produzido usando o gerador de sites estáticos Jekyll.
Ter uma seção de comentários em um site verdadeiramente estático (na verdade, um monte de documentos) é impossível. Para formulários HTML devem ser manipulados em um servidor. Este site usou Disqus no início, depois formulários Netlify e agora um script CGI em meu próprio servidor auto-hospedado. O script armazena envios em um banco de dados sqlite3. Consulte o schema.sql para o modelo de dados. O script de construção exporta comentários do banco de dados sqlite3 para arquivos de dados. Esses arquivos, por sua vez, são usados para gerar comentários estáticos na construção de páginas.
Eu uso nginx e fcgiwrap para executar o script. Algumas variáveis de ambiente são necessárias, como localização do banco de dados e um valor simples como solução do quebra-cabeça.
A seção de comentários mais recente usa um script CGI junto com um banco de dados sqlite3. Para executar scripts CGI usei fcgiwrap. Após a instalação no Ubuntu habilitei o fcgiwrap.service . Eu uso o seguinte bloco para lidar com o caminho cgi-bin no 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;
}
O formulário de comentários envia uma solicitação POST para cgi-bin/submit URL que será tratada por este script. O scripts/rebuild_commends.py é atualizado para reconstruir comentários do banco de dados sqlite3. O caminho deve estar disponível na variável env ALEF_DB . Veja o Makefile para os comandos de construção.
Siga as seguintes etapas para criar seu próprio site:
Para construir o site corretamente, você deve nomear o repositório bifurcado diferente do seu nome de usuário. Se você colocá-lo em um repositório como yourusername.github.io , o Github usará seu próprio construtor Jekyll para construir seu site, não importa o que você coloque no branch gh-pages . Boa escrita!