ringfairy
?Ini adalah generator webring yang ditulis dalam Rust. Ini mirip dengan generator situs statis, tetapi khusus untuk webring.
Tidak seperti kebanyakan webring yang mengandalkan beberapa jenis kode sisi server (misalnya PHP, JS) untuk mengarahkan pengunjung, pendekatan ini menggunakan pengalihan HTML.
Pendekatan statis memungkinkan persyaratan hosting yang lebih sederhana (dapat dihosting di Neocities, Halaman GitHub, dll) karena menghilangkan kebutuhan pemrosesan sisi server.
Memperbarui webring akan mengharuskan Anda membuat ulang semuanya. Ini cepat & sederhana, dan tidak perlu sering dilakukan. Namun ini merupakan langkah ekstra yang mungkin tidak dimiliki oleh sistem sisi server konvensional, kecuali Anda mengotomatiskannya, misalnya melalui GitHub Actions.
Webring adalah kumpulan situs web yang dihubungkan bersama dalam satu lingkaran. Setiap situs web berisi tautan ke situs web sebelumnya dan berikutnya di dalam ring. Jika Anda menavigasi cukup jauh, pada akhirnya Anda akan kembali ke titik awal!
Webring populer pada masa awal internet sebagai cara bagi pemilik situs web untuk saling mempromosikan konten dan mendorong keterlibatan komunitas.
Ini adalah alat untuk siapa saja yang memiliki situs web atau blog pribadi dan ingin terhubung dengan orang lain. Anda dapat menggunakannya untuk mengembangkan komunitas online Anda sendiri dari awal!
Sangat optimal
Deteksi otomatis tautan webring di situs
Dapat disesuaikan sepenuhnya melalui templat
Menghasilkan file OPML dengan semua situs yang memiliki RSS feed
Pilihan antarmuka baris perintah atau file konfigurasi
Dukungan file konfigurasi jarak jauh juga
Opsi acak
Minifikasi HTML
Info kontak pemilik situs web tautan otomatis
Menangkap entri duplikat
Pencatatan log yang mendetail
Webring menggunakan ringfairy
(sejauh yang saya tahu):
Ghostring - situs bertema horor
Craftering - untuk komunitas System Crafters
Roboring - untuk makhluk robot
Jika Anda memutuskan untuk meluncurkan webring Anda sendiri dengan alat ini, beri tahu saya dan saya akan mencantumkannya di sini! :)
Unduh biner rilis ATAU kloning repo dan buat dari sumber.
Ubah file websites.json
(secara default) untuk menyertakan detail situs web yang ingin Anda sertakan dalam webring. Setiap situs web harus ditambahkan ke daftar.
Ubah file config.json
(secara default) sesuai kebutuhan Anda.
(Opsional) Sesuaikan halaman dengan memodifikasi templat, yang terletak di folder data/templates
(secara default). Anda juga dapat menggunakan file jarak jauh sebagai templat. Lihat bagian "Templat" di bawah.
(Opsional) Tambahkan file tambahan apa pun ke folder data/assets
(secara default). Segala sesuatu di folder ini hanya akan disalin ke direktori keluaran. Di sini Anda dapat menambahkan tambahan seperti gambar, HTML/CSS, dll.
Jalankan ringfairy
untuk menghasilkan webring dengan menulis file HTML yang berisi pengalihan. Setiap situs akan tertaut ke situs berikutnya/sebelumnya di file websites.json
, sehingga membentuk webring Anda!
Host file yang dihasilkan pada platform hosting pilihan Anda.
Argumen baris perintah lebih diutamakan daripada pengaturan apa pun di file konfigurasi.
-h
, --help
: Cetak bantuan
-c
, --config
: Tentukan lokasi file konfigurasi opsional. Itu bisa dari jarak jauh; misalnya tautan HTTP ke file JSON yang sesuai di Pastebin, GitHub, dll.
-l
, --list
: Tentukan file yang berisi daftar situs web. Bawaan: ./websites.json
-o
, --output
: Tentukan folder keluaran, tempat file yang dihasilkan akan disimpan. Bawaan: ./webring
-a
, --assets
: Tentukan folder aset. File apa pun di sini akan disalin ke folder keluaran. Ini memungkinkan Anda memasukkan file tambahan apa pun yang Anda inginkan, seperti gambar atau halaman web tambahan, dll. Default: ./data/assets
-t
, --templates
: Tentukan jalur ke folder template. Gunakan template.html
untuk halaman pengalihan (yaitu HTML yang menyusun webring). Halaman tambahan apa pun dapat ditambahkan di sini jika Anda ingin halaman tersebut diisi dengan konten yang dihasilkan. Bawaan: ./data/templates
-u
, --url
: URL dasar untuk webring. Sesuatu seperti 'https://example.com'.
-n
, --name
: Nama webring. Sesuatu seperti 'Ghostring'.
-d
, --description
: Deskripsi singkat/tentang webring.
-m
, --maintainer
: Pemilik/pengelola webring, bisa orang atau organisasi.
-w
, --website
: Tautan situs web pemilik situs web, bukan URL dasar webring.
--skip-minification
: Menghasilkan halaman tanpa mengoptimalkan atau memodifikasinya. Coba ini jika Anda ingin file yang Anda buat dapat diedit sendiri nanti, atau jika Anda mengalami masalah tak terduga dengan hasilnya.
--skip-verification
: Menghasilkan file tanpa memeriksa potensi masalah...tidak bijaksana!
--dry-run
: Menjalankan aplikasi tanpa mengeluarkan file apa pun
-s
, --shuffle
: Mengacak urutan situs web secara acak selama pembuatan. Ini sepenuhnya bersifat internal dan tidak mempengaruhi daftar masukan situs web; Anda dapat mengacak webring yang sama berulang kali tanpa kehilangan urutan aslinya.
-v
, --verbose
: Menampilkan informasi ke konsol. -vv
untuk mode yang sangat bertele-tele untuk melihat info lebih lanjut.
-V
, --version
: Versi cetak
-A
, --audit
: Modus audit. Gores setiap situs web dalam daftar, periksa apakah tautan berikutnya/sebelumnya dapat ditemukan. Jika tidak, situs tersebut tidak akan ditambahkan ke webring untuk build tersebut. Artinya, Anda tidak perlu segera menghapus situs web yang tidak mematuhi kebijakan; situs tidak akan muncul sampai tautannya dapat ditemukan. Jika Anda menggunakan ini tanpa mode verbose ( -v
), Anda mungkin tidak melihat hasil audit. Jangan gunakan mode audit jika Anda membuat webring secara offline, atau jika Anda menginginkan kecepatan pembuatan tercepat.
-M
, --audit_retries_max
: Dalam mode audit, berapa kali maksimum untuk mencoba menyambung kembali ke situs. Bawaan: 2
-D
, --audit_retries_delay
: Dalam mode audit, tunda milidetik sebelum mencoba menyambung kembali ke situs yang tidak responsif. Bawaan: 100
-U
, --client_user_agent
: Dalam mode audit, string agen pengguna akan digunakan oleh web scraper.
-H
, --client_header
: Dalam mode audit, string header akan digunakan oleh web scraper.
Secara default, aplikasi hanya mencatat pesan kesalahan. Dengan meneruskan -v
/ --verbose
(di baris perintah) atau menyetel "verbose": true
(di konfigurasi JSON), Anda dapat memberi tahu aplikasi untuk menampilkan log tingkat peringatan. Untuk menampilkan log tingkat info, berikan -vv
; untuk debug, -vvv
.
Untuk menyimpan log ini ke file, Anda dapat mengarahkan output standar dan kesalahan standar ke file saat menjalankan aplikasi Anda. Misalnya:
$ ./ringfairy > log.txt 2>&1
Templat terletak di folder ./data/templates
secara default; jalur ini dapat ditentukan dengan argumen baris perintah --templates
, atau dengan path_templates
di file konfigurasi.
Templat berisi tag yang akan diganti dengan konten yang dihasilkan. Anda dapat menyesuaikan file yang dihasilkan dengan menambahkan konten sebelum/sesudah tag. Repo ini menyertakan contoh templat dasar untuk membantu Anda memulai.
Di folder templates, template.html
digunakan untuk menghasilkan setiap halaman next.html
/ previous.html
, yang berisi pengalihan untuk setiap situs web. Tag {{ url }}
disisipkan oleh generator di setiap halaman, dan itulah yang menggerakkan webring.
Selain template.html
, folder templates dapat berisi template lain yang Anda inginkan.
Misalnya, merupakan ide bagus bagi webring untuk memiliki halaman hub pusat yang mencantumkan semua situs. Anda dapat meletakkannya di index.html
, atau membuat halaman khusus seperti list.html
, table.html
, dll. Cukup gunakan tag {{ table_of_sites }}
di templat, dan ringfairy
akan menghasilkan daftar situs yang diformat di jaring itu.
Tag berikut saat ini dapat digunakan dalam templat:
{{ table_of_sites }}
menghasilkan informasi daftar tabel HTML berformat untuk semua situs di webring.
{{ number_of_sites }}
menunjukkan ukuran webring saat ini.
{{ current_time }}
menampilkan waktu pembuatan, menunjukkan kapan halaman terakhir diperbarui.
{{ opml }}
menyisipkan jalur relatif dari file OPML cincin.
{{ base_url }}
mencetak URL utama webring, seperti yang ditetapkan oleh pengguna.
{{ ring_name }}
menampilkan judul webring.
{{ ring_description }}
menampilkan deskripsi webring sesuai pengaturan.
{{ ring_owner }}
menunjukkan nama pemilik webring.
{{ ring_owner_site }}
mencetak URL situs pemilik webring.
{{ featured_site_name }}
mencetak nama "situs unggulan", yang acak.
{{ featured_site_description }}
mencetak deskripsi situs unggulan acak.
{{ featured_site_url }}
mencetak URL situs unggulan acak.
Saat ini, {{ url }}
adalah tag khusus yang hanya berfungsi di template.html
untuk tautan berikutnya/sebelumnya.
__ .-' | / <| / ' |_.- o-o / C -._) / ', | | `-,_,__,' (,,)====[_]=| '. ____/ | -|-|_ |____)_)
Kontribusi dipersilakan! Jika Anda mempunyai saran untuk perbaikan atau fitur baru, jangan ragu untuk membuka masalah atau mengirimkan permintaan penarikan.