ringfairy
?這是一個用 Rust 寫的網路環產生器。它類似於靜態站點生成器,但專門用於網路環。
與大多數依賴某種伺服器端程式碼(例如 PHP、JS)來重新導向訪客的 webring 不同,此方法使用 HTML 重新導向。
靜態方法允許更簡單的託管要求(可以託管在 Neocities、GitHub Pages 等上),因為它消除了伺服器端處理的需要。
更新網路環將需要您重新產生整個網路環。這既快速又簡單,不需要經常進行。但這是傳統伺服器端系統可能沒有的額外步驟,除非您將其自動化,例如透過 GitHub Actions。
網路環是循環連結在一起的網站的集合。每個網站都包含環中上一個和下一個網站的連結。如果你導航得夠遠,最終你會回到起點!
網環在網路早期很流行,是網站所有者相互宣傳內容和鼓勵社區參與的一種方式。
對於任何擁有某種個人網站或部落格並希望與他人聯繫的人來說,這是一個工具。您可以使用它從頭開始發展您自己的線上社群!
高度最佳化
自動檢測網站上的 webring 鏈接
透過模板完全可自訂
產生包含所有具有 RSS 來源的網站的 OPML 文件
選擇命令列介面或設定檔
遠端設定檔也支援
隨機播放選項
HTML 縮小
自動連結網站所有者聯絡資訊
捕捉重複條目
詳細記錄
使用ringfairy
的網環(據我所知):
Ghostring - 恐怖主題網站
手工製作 - 面向 System Crafters 社區
Roboring - 用於機器人
如果您決定使用此工具啟動您自己的網路環,請告訴我,我將在此處列出它! :)
下載發行版二進位檔案或克隆儲存庫並從原始程式碼建置。
修改websites.json
(預設)檔案以包含要包含在 Webring 中的網站的詳細資訊。每個網站都必須添加到清單中。
根據您的需求修改config.json
(預設)檔案。
(可選)透過修改位於data/templates
資料夾(預設)中的範本來自訂頁面。您也可以使用遠端文件作為模板。請參閱下面的“模板”部分。
(可選)將任何其他文件新增至data/assets
資料夾(預設)。該資料夾中的所有內容都將簡單地複製到輸出目錄中。您可以在此處新增圖片、HTML/CSS 等附加內容。
運行ringfairy
透過編寫包含重定向的 HTML 檔案來產生 webring。每個站點都會連結到websites.json
檔案中的下一個/上一個站點,形成您的網環!
將產生的文件託管在您首選的託管平台上。
命令列參數優先於設定檔中的任何設定。
-h
, --help
: 列印幫助
-c
, --config
:指定可選設定檔的位置。它可以是遠端的;例如,指向 Pastebin、GitHub 等上對應 JSON 檔案的 HTTP 連結。
-l
, --list
:指定包含網站清單的檔案。預設值: ./websites.json
-o
, --output
:定義輸出資料夾,產生的檔案將保存在其中。預設值: ./webring
-a
, --assets
:指定資產資料夾。這裡的任何檔案都將複製到輸出資料夾。 ./data/assets
使您可以包含所需的任何額外文件,例如圖像或額外網頁等。
-t
, --templates
:指定模板資料夾的路徑。使用template.html
進行重定向頁面(即組成 webring 的 HTML)。如果您希望用生成的內容填充任何額外的頁面,則可以在此處添加任何額外的頁面。預設值: ./data/templates
-u
, --url
:網環的基本 URL。類似「https://example.com」。
-n
, --name
:網路環的名稱。類似「鬼魂」之類的東西。
-d
, --description
:關於網路環的簡短描述。
-m
, --maintainer
:網路環的擁有者/維護者,可以是個人或組織。
-w
, --website
:網站所有者的網站鏈接,而不是網絡環的基本 URL。
--skip-minification
:輸出頁面而不最佳化或修改它們。如果您希望生成的文件稍後可以手動編輯,或者您在輸出中遇到任何意外問題,請嘗試此操作。
--skip-verification
:產生文件而不檢查潛在問題......不明智!
--dry-run
:運行應用程式而不輸出任何文件
-s
, --shuffle
:在生成過程中隨機打亂網站的順序。這完全是內部的,不會影響網站的輸入清單;您可以重複打亂同一個網環,而不會失去原始順序。
-v
, --verbose
:將資訊輸出到控制台。 -vv
非常詳細模式以查看更多資訊。
-V
, --version
: 列印版本
-A
, --audit
:審核模式。抓取清單中的每個網站,檢查是否可以找到下一個/上一個連結。否則,該網站將不會新增到該版本的網路環中。這意味著您不必立即刪除不合規的網站;在找到連結之前,網站不會顯示。如果您在沒有詳細模式 ( -v
) 的情況下使用此選項,您可能看不到審核結果。如果您正在離線建立網路環,或者如果您想要盡可能快的建置速度,請不要使用審核模式。
-M
, --audit_retries_max
:在審核模式下,嘗試重新連線到網站的最大次數。預設值: 2
-D
, --audit_retries_delay
:在審核模式下,嘗試重新連線到無回應站點之前的毫秒延遲。預設值: 100
-U
, --client_user_agent
:在審核模式下,網頁抓取工具所使用的使用者代理字串。
-H
, --client_header
:在審核模式下,網頁抓取工具所使用的標頭字串。
預設情況下,應用程式僅記錄錯誤訊息。透過傳遞-v
/ --verbose
(在命令列上)或設定"verbose": true
(在設定 JSON 中),您可以告訴應用程式顯示警告等級日誌。若要顯示訊息等級日誌,請傳遞-vv
;對於調試, -vvv
。
若要將這些日誌儲存到檔案中,您可以在執行應用程式時將標準輸出和標準錯誤重新導向至檔案。例如:
$ ./ringfairy > log.txt 2>&1
模板預設位於./data/templates
資料夾中;此路徑可以使用命令列參數--templates
或設定檔中的path_templates
指定。
模板包含將被產生的內容取代的標籤。您可以透過在標籤之前/之後新增內容來自訂產生的檔案。此儲存庫包含可協助您入門的基本範本範例。
在 templates 資料夾中, template.html
用於產生每個next.html
/ previous.html
頁面,其中包含每個網站的重定向。標籤{{ url }}
由生成器插入到每個頁面中,並為網路環提供動力。
除了template.html
之外,templates 資料夾還可以包含您想要的任何其他模板。
例如,網頁環最好有一個列出所有網站的中央集線器頁面。您可以將其ringfairy
index.html
上,或建立專用頁面,例如list.html
、 table.html
{{ table_of_sites }}
。網環。
目前,以下標籤可在模板中使用:
{{ table_of_sites }}
產生一個格式化的 HTML 表,列出網頁環中所有網站的資訊。
{{ number_of_sites }}
顯示網路環的目前大小。
{{ current_time }}
顯示生成時間,顯示頁面上次更新的時間。
{{ opml }}
插入環的 OPML 檔案的相對路徑。
{{ base_url }}
列印使用者設定的網路環的主 URL。
{{ ring_name }}
顯示網路環的標題。
{{ ring_description }}
根據設定顯示網路環的描述。
{{ ring_owner }}
顯示網路環擁有者的姓名。
{{ ring_owner_site }}
列印網頁環擁有者網站的 URL。
{{ featured_site_name }}
列印「特色網站」的名稱,該名稱是隨機的。
{{ featured_site_description }}
列印隨機特色網站的描述。
{{ featured_site_url }}
列印隨機精選網站的 URL。
目前, {{ url }}
是一個特殊標籤,僅適用於template.html
中的下一個/上一個連結。
__ .-' | / <| / ' |_.- o-o / C -._) / ', | | `-,_,__,' (,,)====[_]=| '. ____/ | -|-|_ |____)_)
歡迎貢獻!如果您對改進或新功能有任何建議,請隨時提出問題或提交拉取請求。