
이것은 내 개인 페르시아 웹사이트의 소스 코드입니다. 페르시아어(Farsi라고도 함)는 오른쪽에서 왼쪽으로 작성되지만 일부 사람들은 메시징 애플리케이션과 소셜 네트워크에서 페르시아어를 작성하기 위해 로마자 스크립트를 사용합니다.
이 저장소는 오른쪽에서 왼쪽으로 새로운 웹사이트를 구축하려는 모든 사람에게 유용할 수 있습니다. 내 웹사이트에 새 게시물을 작성하는 동안 발생한 문제를 점차적으로 해결합니다. 본 웹사이트는 Jekyll 정적 사이트 생성기를 사용하여 제작되었습니다.
실제로 정적인 웹사이트(실제로 많은 문서)에 댓글 섹션을 갖는 것은 불가능합니다. HTML 양식의 경우 서버에서 처리되어야 합니다. 이 웹사이트는 처음에는 Disqus를 사용했고 그 다음에는 Netlify 양식을 사용했으며 지금은 자체 호스팅 서버에서 CGI 스크립트를 사용하고 있습니다. 스크립트는 제출 내용을 sqlite3 데이터베이스에 저장합니다. 데이터 모델은 Schema.sql을 참조하세요. 빌드 스크립트는 sqlite3 데이터베이스의 주석을 데이터 파일로 내보냅니다. 이러한 파일은 페이지 빌드 시 정적 주석을 생성하는 데 사용됩니다.
스크립트를 실행하기 위해 nginx와 fcgiwrap을 사용합니다. 데이터베이스 위치 및 퍼즐 솔루션으로서의 간단한 값과 같은 일부 환경 변수가 필요합니다.
최신 주석 섹션에서는 sqlite3 데이터베이스와 함께 CGI 스크립트를 사용합니다. CGI 스크립트를 실행하기 위해 fcgiwrap을 사용했습니다. Ubuntu에 설치한 후 fcgiwrap.service 를 활성화했습니다. nginx에서 cgi-bin 경로를 처리하기 위해 다음 블록을 사용합니다.
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;
}
댓글 양식은 이 스크립트에서 처리할 cgi-bin/submit URL에 POST 요청을 제출합니다. scripts/rebuild_commends.py 업데이트되어 sqlite3 데이터베이스의 주석을 다시 작성합니다. 경로는 ALEF_DB 환경 변수에서 사용 가능해야 합니다. 빌드 명령은 Makefile을 참조하세요.
자신만의 웹사이트를 만들려면 다음 단계를 따르세요.
웹사이트를 올바르게 구축하려면 포크된 저장소의 이름을 사용자 이름과 다르게 지정해야 합니다. yourusername.github.io 와 같은 저장소에 넣으면 Github는 gh-pages 브랜치에 무엇을 넣든 관계없이 자체 Jekyll 빌더를 사용하여 웹사이트를 구축합니다. 즐거운 글쓰기!