Ini adalah kode sumber situs web Persia pribadi saya. Bahasa Persia alias Farsi ditulis dari kanan ke kiri, namun beberapa orang menggunakan aksara Romawi untuk menulis bahasa Persia di aplikasi perpesanan dan jejaring sosial.
Repositori ini dapat berguna bagi siapa saja yang ingin membangun situs web baru dari kanan ke kiri. Saya secara bertahap memperbaiki masalah yang saya temui saat menulis postingan baru di situs web saya. Website ini dibuat menggunakan generator situs statis Jekyll.
Memiliki bagian komentar di situs web yang benar-benar statis (memang banyak dokumen) adalah hal yang mustahil. Untuk formulir HTML harus ditangani di server. Situs web ini awalnya menggunakan Disqus, kemudian formulir Netlify, dan sekarang skrip CGI di server yang saya hosting sendiri. Skrip menyimpan kiriman dalam database sqlite3. Lihat skema.sql untuk model data. Skrip build mengekspor komentar dari database sqlite3 ke dalam file data. File-file ini pada gilirannya digunakan untuk menghasilkan komentar statis pada pembuatan halaman.
Saya menggunakan nginx dan fcgiwrap untuk menjalankan skrip. Beberapa variabel lingkungan diperlukan, seperti lokasi database dan nilai sederhana sebagai solusi teka-teki.
Bagian komentar terbaru menggunakan skrip CGI bersama dengan database sqlite3. Untuk menjalankan skrip CGI saya menggunakan fcgiwrap. Setelah instalasi di Ubuntu saya mengaktifkan fcgiwrap.service
. Saya menggunakan blok berikut untuk menangani jalur cgi-bin
di 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;
}
Formulir komentar mengirimkan permintaan POST ke cgi-bin/submit
URL yang akan ditangani oleh skrip ini. scripts/rebuild_commends.py
diperbarui untuk membangun kembali komentar dari database sqlite3. Jalur harus tersedia di variabel env ALEF_DB
. Lihat Makefile untuk perintah build.
Lakukan langkah-langkah berikut untuk membuat situs web Anda sendiri:
Untuk membangun situs web dengan benar, Anda harus memberi nama repositori bercabang berbeda dari nama pengguna Anda. Jika Anda meletakkannya di bawah repositori seperti nama pengguna Anda.github.io, Github akan menggunakan pembuat Jekyll-nya sendiri untuk membangun situs web Anda, tidak peduli apa yang Anda masukkan ke dalam cabang gh-pages . Selamat menulis!