ringfairy ?これは Rust で書かれた Webring ジェネレーターです。これは静的サイト ジェネレーターに似ていますが、Webring に特化しています。
ある種のサーバー側コード (PHP、JS など) に依存して訪問者をリダイレクトするほとんどの Webring とは異なり、このアプローチは HTML リダイレクトを使用します。
静的アプローチでは、サーバー側の処理が不要になるため、ホスティング要件がより単純になります (Neocities、GitHub Pages などでホストできます)。
Webring を更新するには、全体を再生成する必要があります。これは簡単で簡単なので、頻繁に行う必要はありません。ただし、これは、GitHub Actions などを使用して自動化しない限り、従来のサーバー側システムにはない追加のステップです。
Webring は、ループ状にリンクされた Web サイトのコレクションです。各 Web サイトには、リング内の前後の Web サイトへのリンクが含まれています。十分に遠くまで移動すると、最終的には開始した場所に戻ります。
Webring は、Web サイト所有者が互いのコンテンツを宣伝し、コミュニティへの参加を促進する方法として、インターネットの初期に人気がありました。
これは、何らかの個人の Web サイトやブログを持っていて、他の人とつながりたい人のためのツールです。これを使用して、独自のオンライン コミュニティをゼロから成長させることができます。
高度に最適化された
サイト上の Webring リンクを自動検出
テンプレートを使用して完全にカスタマイズ可能
RSS フィードを持つすべてのサイトを含む OPML ファイルを生成します
コマンドラインインターフェースまたは設定ファイルの選択
リモート設定ファイルのサポートも
シャッフルオプション
HTML の縮小
自動リンク Web サイト所有者の連絡先情報
重複したエントリをキャッチします
詳細なログ記録
ringfairyを使用する Webrings (私の知る限り):
Ghostring - ホラーをテーマにしたサイト
クラフタリング - システム クラフター コミュニティ向け
ロボリング - ロボット存在のための
このツールを使用して独自の Webring を起動することに決めた場合は、私に知らせてください。ここにリストします。 :)
リリース バイナリをダウンロードするか、リポジトリのクローンを作成してソースからビルドします。
websites.json (デフォルト) ファイルを変更して、Web リングに含める Web サイトの詳細を含めます。各 Web サイトをリストに追加する必要があります。
必要に応じてconfig.json (デフォルト) ファイルを変更します。
(オプション) data/templatesフォルダー (デフォルト) にあるテンプレートを変更して、ページをカスタマイズします。リモート ファイルをテンプレートとして使用することもできます。以下の「テンプレート」セクションを参照してください。
(オプション) 追加のファイルをdata/assetsフォルダーに追加します (デフォルト)。このフォルダー内のすべてが出力ディレクトリにコピーされるだけです。ここでは、画像、HTML/CSS などの追加機能を追加できます。
ringfairy実行して、リダイレクトを含む HTML ファイルを作成して Webring を生成します。各サイトは、 websites.jsonファイル内の次/前のサイトにリンクし、Web リングを形成します。
生成されたファイルを好みのホスティング プラットフォームでホストします。
コマンドライン引数は、構成ファイル内のどの設定よりも優先されます。
-h 、 --help : ヘルプを表示します。
-c 、 --config : オプションの構成ファイルの場所を指定します。遠隔地であっても構いません。たとえば、Pastebin、GitHub などの適切な JSON ファイルへの HTTP リンク。
-l 、 --list : Web サイトのリストを含むファイルを指定します。デフォルト: ./websites.json
-o 、 --output : 生成されたファイルが保存される出力フォルダーを定義します。デフォルト: ./webring
-a 、 --assets : アセットフォルダーを指定します。ここにあるファイルはすべて出力フォルダーにコピーされます。これにより、画像や追加の Web ページなど、必要な追加ファイルを含めることができます。デフォルト: ./data/assets
-t 、 --templates : テンプレート フォルダーへのパスを指定します。リダイレクト ページ (Webring を構成する HTML) にはtemplate.html使用します。生成されたコンテンツを追加したい場合は、追加のページをここに追加できます。デフォルト: ./data/templates
-u 、 --url : Webring のベース URL。 「https://example.com」のようなもの。
-n 、 --name : Webring の名前。 「ゴーストリング」みたいな。
-d 、 --description : Web リングに関する短い説明。
-m 、 --maintainer : Webring の所有者/保守者は、個人または組織になります。
-w 、 --website : Web リングのベース URL ではなく、Web サイト所有者の Web サイト リンク。
--skip-minification : ページを最適化または変更せずに出力します。生成されたファイルを後で手動で編集できるようにしたい場合、または出力で予期しない問題が発生した場合は、これを試してください。
--skip-verification : 潜在的な問題をチェックせずにファイルを生成します...賢明ではありません!
--dry-run : ファイルを出力せずにアプリケーションを実行します。
-s 、 --shuffle : 生成中に Web サイトの順序をランダムにシャッフルします。これは完全に内部的なものであり、Web サイトの入力リストには影響しません。元のシーケンスを失うことなく、同じウェブリングを繰り返しシャッフルできます。
-v 、 --verbose : 情報をコンソールに出力します。 -vv非常に詳細なモードで、さらに詳細な情報を表示します。
-V 、 --version : バージョンを表示します。
-A 、 --audit : 監査モード。リスト内の各 Web サイトをスクレイピングして、次/前のリンクが見つかるかどうかを確認します。そうしないと、サイトはそのビルドの Webring に追加されません。つまり、準拠していない Web サイトをすぐに削除する必要はありません。リンクが見つかるまでサイトは表示されません。これを冗長モード ( -v ) なしで使用すると、監査の結果が表示されない可能性があります。 Webring をオフラインで構築している場合、または可能な限り最速の構築速度が必要な場合は、監査モードを使用しないでください。
-M 、 --audit_retries_max : 監査モードで、サイトへの再接続を試行する最大回数。デフォルト: 2
-D 、 --audit_retries_delay : 監査モードでは、応答しないサイトへの再接続を試行するまでのミリ秒単位の遅延。デフォルト: 100
-U 、 --client_user_agent : 監査モードでは、Web スクレイパーによって使用されるユーザー エージェント文字列。
-H 、 --client_header : 監査モードでは、Web スクレイパーによって使用されるヘッダー文字列。
デフォルトでは、アプリケーションはエラー メッセージのみを記録します。 -v / --verbose (コマンドラインで) を渡すか、 "verbose": true (構成 JSON で) を設定することにより、警告レベルのログを表示するようにアプリケーションに指示できます。情報レベルのログを表示するには、 -vvを渡します。デバッグの場合は、 -vvv 。
これらのログをファイルに保存するには、アプリケーションの実行時に標準出力と標準エラーをファイルにリダイレクトします。例えば:
$ ./ringfairy > log.txt 2>&1
テンプレートは、デフォルトでは./data/templatesフォルダーにあります。このパスは、コマンドライン引数--templatesまたは構成ファイル内のpath_templatesで指定できます。
テンプレートには、生成されたコンテンツに置き換えられるタグが含まれています。タグの前後にコンテンツを追加することで、生成されたファイルをカスタマイズできます。このリポジトリには、開始するための基本的なテンプレートの例が含まれています。
テンプレート フォルダーでは、 template.html使用して、各 Web サイトのリダイレクトを含むnext.html previous.htmlページがそれぞれ生成されます。タグ{{ url }}はジェネレーターによって各ページに挿入され、Webring に電力を供給します。
template.html以外にも、テンプレート フォルダーには必要な他のテンプレートを含めることができます。
たとえば、Webring にすべてのサイトをリストする中央のハブ ページを設けることは良い考えです。これをindex.htmlに置くことも、 list.html 、 table.htmlなどの専用ページを作成することもできます。テンプレート内でタグ{{ table_of_sites }}を使用するだけで、 ringfairyフォーマットされたサイトのリストを生成します。ウェブリング。
現在、次のタグがテンプレートで使用できます。
{{ table_of_sites }} Webring 内のすべてのサイトの情報をリストした書式設定された HTML テーブルを生成します。
{{ number_of_sites }} Webring の現在のサイズを示します。
{{ current_time }}は生成時間が表示され、ページが最後に更新された時間が示されます。
{{ opml }}リングの OPML ファイルの相対パスを挿入します。
{{ base_url }}ユーザーが設定した Webring のメイン URL を出力します。
{{ ring_name }} Webring のタイトルが表示されます。
{{ ring_description }}設定に従って Webring の説明を表示します。
{{ ring_owner }} Webring の所有者の名前を示します。
{{ ring_owner_site }} Webring 所有者のサイトの URL を出力します。
{{ featured_site_name }} 「おすすめサイト」の名前をランダムに出力します。
{{ featured_site_description }}ランダムな注目サイトの説明を出力します。
{{ featured_site_url }}ランダムな注目サイトの URL を出力します。
現時点では、 {{ url }}次/前のリンクのtemplate.htmlでのみ機能する特別なタグです。
__ .-' | / <| / ' |_.- o-o / C -._) / ', | | `-,_,__,' (,,)====[_]=| '. ____/ | -|-|_ |____)_)
貢献は大歓迎です!改善や新機能についてご提案がある場合は、お気軽にイシューをオープンするか、プル リクエストを送信してください。