Votre propre raccourcisseur d'URL statique ⚡️
Les générateurs de sites statiques, publiés sur les pages Github, sont très populaires de nos jours. Mais qu’en est-il d’un raccourcisseur d’URL statiques (pour ne pas dire générateur), qui permet de rediriger des URL basées sur des fichiers statiques ?
Habituellement, les développeurs finissent par configurer un serveur avec des redirections pour cela (pas de manière statique). C'est là qu'intervient URLZap. Il génère des URL à l'aide de fichiers et de la magie HTML, permettant aux utilisateurs d'héberger leurs propres redirections d'URL dans les pages Github.
Similaire aux générateurs de sites Web statiques, mais pour les URL
Conservez vos URL (raccourcies ou non) avec vous
Peut être utilisé avec les pages Github
Pas besoin d'exécuter un serveur ou de configurer des redirections HTTP 301
Exemple de projet : brunoluiz/_
Vous vous demandez peut-être : comment cela se fait-il sans serveur ? Eh bien, la réponse réside sur <meta http-equiv="refresh" />
. Cela fonctionne comme un code d'état HTTP 301 (Redirection), mais cela se fait côté client. Il y a un peu plus d'explications sur le site Web du w3c.
Sur la base d'un config.yml
contenant le chemin et l'URL souhaités, urlzap
créera des fichiers index.html
qui utilisent des balises méta d'actualisation. Ce n’est pas parfait comme HTTP 301, mais c’est assez proche. Une stratégie similaire est utilisée par d’autres générateurs de sites Web statiques, tels que Hugo.
Un exemple serait :
chemin : './links' # par défaut est './'urls : google : https://google.com outils : github : https://github.com
Chaque clé de la carte sera mappée aux routes {.path param}/{key}
, redirigeant vers {value}
. Cela générerait ce qui suit :
- links/ - google/ - index.html (contains redirect) - tools/ - github/ - index.html (contains redirect)
Ces fichiers peuvent être téléchargés sur les pages Github par exemple, ne nécessitant aucun serveur. Sur brunoluiz/_
vous pouvez voir un exemple config.yml
et récupérer la sortie dans la branche gh-pages
Consultez la section des versions pour plus d'informations
Utilisez brew
pour l'installer
brew tap brunoluiz/tap brew install urlzap
En utilisant l'exemple YAML précédent :
chemin : './links' # par défaut est './'urls : google : https://google.com outils : github : https://github.com
urls
: mappage d'URL souhaité, suivant le modèle {key}:{redirect URL}
path
: chemin de sortie
Pour générer les fichiers statiques, exécutez urlzap generate
.
Très probablement, vous finirez par utiliser les pages Github avec cet outil. Si tel est le cas, la meilleure façon de l'utiliser et de récolter ses avantages est peut-être d'utiliser les actions Github. Rendez-vous sur brunoluiz/urlzap-github-action
pour plus de détails sur la façon de l'installer, couvrant la génération et le déploiement.
️ Vous devrez peut-être activer manuellement les pages Github dans votre référentiel ! Plus de détails dans le guide des pages Github
Si les actions Github ne vous conviennent pas, essayez plutôt le processus manuel suivant.
Activez les pages Github et configurez la branche où seront situés vos fichiers HTML statiques. Plus de détails dans le guide des pages Github
Configurez votre config.yml
S'engager et pousser vers main
Accédez à votre branche Github Pages (généralement gh-pages
) et exécutez git reset --hard origin/main
(cela réinitialisera le HEAD sur master
)
Exécutez urlzap generate
S'engager et pousser
Le script suivant suit ce qui est décrit dans les étapes ci-dessus :
#!/bin/bash# ajoute, valide et transmet vos modificationsgit add config.yml git commit -m 'chore: update config.yml'git push -u origin main# rend la branche gh-pages identique à celle de maingit checkout gh-pages git reset --hard origin/main# generate filesurlzap generate# add, commit et push les fichiers générésgit add --all git commit -m 'chore : mettre à jour les fichiers HTML'git push -u origin gh-pages --force