Ihr eigener statischer URL-Shortener ⚡️
Statische Site-Generatoren, die auf Github-Seiten veröffentlicht werden, erfreuen sich heutzutage großer Beliebtheit. Aber wie wäre es mit einem statischen URL-Shortener (um nicht zu sagen Generator), der es Ihnen ermöglicht, URLs basierend auf statischen Dateien umzuleiten?
Normalerweise richten Entwickler dafür einen Server mit Weiterleitungen ein (nicht statisch). Hier kommt URLZap ins Spiel. Es generiert URLs mithilfe von Dateien und HTML-Assistenten und ermöglicht es Benutzern, ihre eigenen URL-Weiterleitungen auf Github-Seiten zu hosten.
Ähnlich wie statische Website-Generatoren, jedoch für URLs
Behalten Sie Ihre (gekürzten oder nicht) URLs bei sich
Kann mit Github-Seiten verwendet werden
Es ist nicht erforderlich, einen Server zu betreiben oder HTTP 301-Weiterleitungen einzurichten
Beispielprojekt: brunoluiz/_
Sie fragen sich vielleicht: Wie geht das ohne Server? Nun, die Antwort liegt bei <meta http-equiv="refresh" /> . Es funktioniert wie der Statuscode HTTP 301 (Redirect), erfolgt jedoch auf der Clientseite. Auf der w3c-Website gibt es etwas mehr Erklärung.
Basierend auf einer config.yml die den gewünschten Pfad und die gewünschte URL enthält, erstellt urlzap index.html -Dateien, die Meta-Refresh-Tags verwenden. Es ist nicht perfekt als HTTP 301, kommt aber ziemlich nahe. Eine ähnliche Strategie wird von anderen statischen Website-Generatoren wie Hugo verwendet.
Ein Beispiel wäre:
Pfad: './links' # Standard ist './'urls: google: https://google.com Werkzeuge:github: https://github.com
Jeder Schlüssel in der Karte wird den Routen {.path param}/{key} zugeordnet und zu {value} weitergeleitet. Dies würde Folgendes generieren:
- links/ - google/ - index.html (contains redirect) - tools/ - github/ - index.html (contains redirect)
Diese Dateien können beispielsweise auf Github-Seiten hochgeladen werden, ohne dass ein Server erforderlich ist. Auf brunoluiz/_ können Sie ein Beispiel config.yml sehen und die Ausgabe im Zweig gh-pages auschecken
Weitere Informationen finden Sie im Abschnitt „Veröffentlichungen“.
Verwenden Sie brew , um es zu installieren
brew tap brunoluiz/tap brew install urlzap
Unter Verwendung des vorherigen YAML-Beispiels:
Pfad: './links' # Standard ist './'urls: google: https://google.com Werkzeuge:github: https://github.com
urls : gewünschte URL-Zuordnung, nach dem Muster {key}:{redirect URL}
path : Ausgabepfad
Um die statischen Dateien zu generieren, führen Sie urlzap generate aus.
Höchstwahrscheinlich werden Sie Github Pages zusammen mit diesem Tool verwenden. Wenn ja, ist Github Actions vielleicht der beste Weg, es zu nutzen und von seinen Vorteilen zu profitieren. Weitere Informationen zur Installation sowie zur Generierung und Bereitstellung finden Sie unter brunoluiz/urlzap-github-action .
️ Möglicherweise müssen Sie Github Pages in Ihrem Repository manuell aktivieren! Weitere Details finden Sie im Github Pages-Leitfaden
Wenn Github-Aktionen nicht für Sie geeignet sind, versuchen Sie stattdessen den folgenden manuellen Prozess.
Aktivieren Sie Github Pages und richten Sie den Zweig ein, in dem sich Ihre statischen HTML-Dateien befinden. Weitere Details finden Sie im Github Pages-Leitfaden
Richten Sie Ihre config.yml ein
Commit und Push auf main
Gehen Sie zur Kasse zu Ihrem Github Pages-Zweig (normalerweise gh-pages ) und führen Sie git reset --hard origin/main aus (dadurch wird der HEAD auf master zurückgesetzt).
Führen Sie urlzap generate aus
Commit und Push
Das folgende Skript folgt den oben beschriebenen Schritten:
#!/bin/bash# fügt Ihre Änderungen hinzu, schreibt sie fest und pusht sie.git add config.yml git commit -m 'chore: config.yml aktualisieren'git push -u origin main# gh-pages-Zweig so gestalten, dass er mit maingit checkout gh-pages identisch ist git reset --hard origin/main# filesurlzap generieren# generierte Dateien hinzufügen, festschreiben und pushengit add --all git commit -m 'Aufgabe: HTML-Dateien aktualisieren'git push -u origin gh-pages --force