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 -._) / ', | | `-,_,__,' (,,)====[_]=| '. ____/ | -|-|_ |____)_)
歡迎貢獻!如果您對改進或新功能有任何建議,請隨時提出問題或提交拉取請求。