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 -._) / ', | | `-,_,__,' (,,)====[_]=| '. ____/ | -|-|_ |____)_)
貢献は大歓迎です!改善や新機能についてご提案がある場合は、お気軽にイシューをオープンするか、プル リクエストを送信してください。