ringfairy
?Dies ist ein in Rust geschriebener Webring-Generator. Es ähnelt einem statischen Site-Generator, ist jedoch auf Webrings spezialisiert.
Im Gegensatz zu den meisten Webrings, die zur Weiterleitung von Besuchern auf serverseitigen Code (z. B. PHP, JS) angewiesen sind, verwendet dieser Ansatz HTML-Weiterleitungen.
Der statische Ansatz ermöglicht einfachere Hosting-Anforderungen (es kann auf Neocities, GitHub-Seiten usw. gehostet werden), da keine serverseitige Verarbeitung erforderlich ist.
Um den Webring zu aktualisieren, müssen Sie das Ganze neu generieren. Dies geht schnell und einfach und sollte nicht häufig durchgeführt werden müssen. Es handelt sich jedoch um einen zusätzlichen Schritt, den herkömmliche serverseitige Systeme möglicherweise nicht haben, es sei denn, Sie automatisieren ihn, beispielsweise durch GitHub-Aktionen.
Ein Webring ist eine Sammlung von Websites, die in einer Schleife miteinander verbunden sind. Jede Website enthält Links zu den vorherigen und nächsten Websites im Ring. Wenn Sie weit genug navigieren, landen Sie irgendwann wieder dort, wo Sie angefangen haben!
Webrings waren in den frühen Tagen des Internets eine beliebte Möglichkeit für Websitebesitzer, die Inhalte anderer zu bewerben und das Engagement der Community zu fördern.
Dies ist ein Tool für alle, die eine persönliche Website oder einen Blog haben und mit anderen in Kontakt treten möchten. Sie können damit Ihre eigene Online-Community von Grund auf aufbauen!
Hoch optimiert
Webring-Links auf Websites automatisch erkennen
Vollständig anpassbar über Vorlagen
Erstellt eine OPML-Datei mit allen Websites, die über einen RSS-Feed verfügen
Wahl zwischen Befehlszeilenschnittstelle oder Konfigurationsdatei
Unterstützung auch für Remote-Konfigurationsdateien
Zufallsoption
HTML-Minimierung
Kontaktinformationen des Websitebesitzers automatisch verknüpfen
Fängt doppelte Einträge ab
Detaillierte Protokollierung
Webringe mit ringfairy
(soweit ich weiß):
Ghostring – Horror-Themenseiten
Craftering – für die System Crafters-Community
Roboring – für Roboterwesen
Wenn Sie sich entscheiden, Ihren eigenen Webring mit diesem Tool zu starten, lassen Sie es mich wissen und ich werde es hier auflisten! :) :)
Laden Sie eine Release-Binärdatei herunter ODER klonen Sie das Repo und erstellen Sie es aus dem Quellcode.
Ändern Sie die Datei websites.json
(standardmäßig) so, dass sie die Details der Websites enthält, die Sie in den Webring einschließen möchten. Jede Website muss zur Liste hinzugefügt werden.
Ändern Sie die Datei config.json
(standardmäßig) entsprechend Ihren Anforderungen.
(Optional) Passen Sie Seiten an, indem Sie die Vorlagen ändern, die sich standardmäßig im Ordner data/templates
“ befinden. Sie können auch Remote-Dateien als Vorlagen verwenden. Weitere Informationen finden Sie im Abschnitt „Vorlagen“ weiter unten.
(Optional) Fügen Sie alle zusätzlichen Dateien zum Ordner data/assets
hinzu (standardmäßig). Alles in diesem Ordner wird einfach in das Ausgabeverzeichnis kopiert. Hier können Sie Extras wie Bilder, HTML/CSS usw. hinzufügen.
Führen Sie ringfairy
aus, um den Webring zu generieren, indem Sie HTML-Dateien schreiben, die die Weiterleitungen enthalten. Jede Site verlinkt auf die nächste/vorherige Site in der Datei websites.json
und bildet so Ihren Webring!
Hosten Sie die generierten Dateien auf Ihrer bevorzugten Hosting-Plattform.
Befehlszeilenargumente haben Vorrang vor allen Einstellungen in der Konfigurationsdatei.
-h
, --help
: Hilfe drucken
-c
, --config
: Geben Sie den Speicherort der optionalen Konfigurationsdatei an. Es kann entfernt sein; zum Beispiel ein HTTP-Link zu einer entsprechenden JSON-Datei auf Pastebin, GitHub usw.
-l
, --list
: Geben Sie die Datei an, die die Liste der Websites enthält. Standard: ./websites.json
-o
, --output
: Definieren Sie den Ausgabeordner, in dem die generierten Dateien gespeichert werden. Standard: ./webring
-a
, --assets
: Geben Sie den Assets-Ordner an. Alle hier enthaltenen Dateien werden in den Ausgabeordner kopiert. Auf diese Weise können Sie beliebige zusätzliche Dateien einschließen, z. B. Bilder oder zusätzliche Webseiten usw. Standard: ./data/assets
-t
, --templates
: Geben Sie den Pfad zum Vorlagenordner an. Verwenden Sie template.html
für Weiterleitungsseiten (dh den HTML-Code, aus dem der Webring besteht). Hier können zusätzliche Seiten hinzugefügt werden, wenn Sie möchten, dass diese mit generierten Inhalten gefüllt werden. Standard: ./data/templates
-u
, --url
: Die Basis-URL für den Webring. Etwas wie „https://example.com“.
-n
, --name
: Der Name des Webrings. So etwas wie „Ghostring“.
-d
, --description
: Eine kurze Beschreibung/über den Webring.
-m
, --maintainer
: Der Eigentümer/Betreuer des Webrings kann eine Person oder eine Organisation sein.
-w
, --website
: Der Website-Link des Website-Eigentümers, nicht die Basis-URL des Webrings.
--skip-minification
: Gibt Seiten aus, ohne sie zu optimieren oder zu ändern. Versuchen Sie dies, wenn Sie möchten, dass Ihre generierten Dateien später manuell bearbeitet werden können, oder wenn bei der Ausgabe unerwartete Probleme auftreten.
--skip-verification
: Erstellt Dateien, ohne nach potenziellen Problemen zu suchen ... unklug!
--dry-run
: Führt die Anwendung aus, ohne Dateien auszugeben
-s
, --shuffle
: Mischt die Reihenfolge der Websites während der Generierung zufällig. Dies ist völlig intern und hat keinen Einfluss auf die Eingabeliste der Websites; Sie können denselben Webring wiederholt mischen, ohne dass die ursprüngliche Reihenfolge verloren geht.
-v
, --verbose
: Informationen an die Konsole ausgeben. -vv
für den sehr ausführlichen Modus, um noch mehr Informationen anzuzeigen.
-V
, --version
: Druckversion
-A
, --audit
: Prüfmodus. Durchsucht jede Website in der Liste und prüft, ob die nächsten/vorherigen Links gefunden werden können. Andernfalls wird die Site für diesen Build nicht zum Webring hinzugefügt. Das bedeutet, dass Sie nicht konforme Websites nicht sofort entfernen müssen; Websites werden einfach erst angezeigt, wenn die Links gefunden werden können. Wenn Sie dies ohne den ausführlichen Modus ( -v
) verwenden, werden die Ergebnisse der Prüfung möglicherweise nicht angezeigt. Verwenden Sie den Prüfmodus nicht, wenn Sie den Webring offline erstellen oder wenn Sie die schnellstmögliche Build-Geschwindigkeit wünschen.
-M
, --audit_retries_max
: Im Überwachungsmodus die maximale Anzahl der Versuche, eine erneute Verbindung zu einer Site herzustellen. Standard: 2
-D
, --audit_retries_delay
: Im Überwachungsmodus Verzögerung im Millisekundenbereich, bevor versucht wird, die Verbindung zu einer nicht reagierenden Site wiederherzustellen. Standard: 100
-U
, --client_user_agent
: Im Überwachungsmodus die vom Web Scraper zu verwendende Benutzeragentenzeichenfolge.
-H
, --client_header
: Im Prüfmodus Header-String, der vom Web Scraper verwendet werden soll.
Standardmäßig protokolliert die Anwendung nur Fehlermeldungen. Indem Sie -v
/ --verbose
(in der Befehlszeile) übergeben oder "verbose": true
(im Konfigurations-JSON) festlegen, können Sie die Anwendung anweisen, Protokolle der Warnstufe anzuzeigen. Um Protokolle auf Informationsebene anzuzeigen, übergeben Sie -vv
; zum Debuggen -vvv
.
Um diese Protokolle in einer Datei zu speichern, können Sie beim Ausführen Ihrer Anwendung die Standardausgabe und den Standardfehler in eine Datei umleiten. Zum Beispiel:
$ ./ringfairy > log.txt 2>&1
Vorlagen befinden sich standardmäßig im Ordner ./data/templates
; Dieser Pfad kann mit dem Befehlszeilenargument --templates
oder mit path_templates
in der Konfigurationsdatei angegeben werden.
Vorlagen enthalten Tags, die durch generierte Inhalte ersetzt werden. Sie können generierte Dateien anpassen, indem Sie Inhalte vor/nach den Tags hinzufügen. Das Repo enthält grundlegende Vorlagenbeispiele, um Ihnen den Einstieg zu erleichtern.
Im Vorlagenordner wird template.html
verwendet, um jede der next.html
/ previous.html
Seiten zu generieren, die die Weiterleitungen für jede Website enthält. Der Tag {{ url }}
wird vom Generator auf jeder Seite eingefügt und versorgt den Webring mit Strom.
Neben template.html
kann der Vorlagenordner beliebige weitere Vorlagen enthalten.
Beispielsweise ist es für einen Webring eine gute Idee, eine zentrale Hub-Seite zu haben, auf der alle Websites aufgelistet sind. Sie können dies auf index.html
einfügen oder eine eigene Seite wie list.html
, table.html
usw. erstellen. Verwenden Sie einfach das Tag {{ table_of_sites }}
in der Vorlage, und ringfairy
generiert eine formatierte Liste der Websites in der Webring.
Die folgenden Tags sind derzeit in Vorlagen verwendbar:
{{ table_of_sites }}
erstellt eine formatierte HTML-Tabelle mit Informationen für alle Websites im Webring.
{{ number_of_sites }}
zeigt die aktuelle Größe des Webrings an.
{{ current_time }}
zeigt den Zeitpunkt der Generierung an und zeigt an, wann die Seite zuletzt aktualisiert wurde.
{{ opml }}
fügt den relativen Pfad der OPML-Datei des Rings ein.
{{ base_url }}
gibt die vom Benutzer festgelegte Haupt-URL des Webrings aus.
{{ ring_name }}
zeigt den Titel des Webrings an.
{{ ring_description }}
zeigt die Beschreibung des Webrings entsprechend den Einstellungen an.
{{ ring_owner }}
zeigt den Namen des Besitzers des Webrings.
{{ ring_owner_site }}
gibt die URL der Website des Webring-Eigentümers aus.
{{ featured_site_name }}
gibt den Namen der „Featured Site“ aus, der zufällig ist.
{{ featured_site_description }}
druckt die Beschreibung der zufällig ausgewählten Site.
{{ featured_site_url }}
gibt die URL der zufällig ausgewählten Website aus.
Derzeit ist {{ url }}
ein spezielles Tag, das nur in template.html
für die nächsten/vorherigen Links funktioniert.
__ .-' | / <| / ' |_.- o-o / C -._) / ', | | `-,_,__,' (,,)====[_]=| '. ____/ | -|-|_ |____)_)
Beiträge sind willkommen! Wenn Sie Vorschläge für Verbesserungen oder neue Funktionen haben, können Sie gerne ein Issue eröffnen oder eine Pull-Anfrage einreichen.