Tu propio acortador de URL estático ⚡️
Los generadores de sitios estáticos, publicados en Github Pages, son bastante populares hoy en día. Pero ¿qué pasa con un acortador de URL estático (por no decir generador), que le permite redirigir URL basadas en archivos estáticos?
Por lo general, los desarrolladores terminan configurando un servidor con redirecciones para esto (no de forma estática). Ahí es donde entra en juego URLZap. Genera URL utilizando archivos y magia HTML, lo que permite a los usuarios alojar sus propios redireccionamientos de URL en páginas de Github.
Similar a los generadores de sitios web estáticos, pero para URL
Mantenga sus URL (acortadas o no) con usted
Se puede utilizar con páginas de Github
No es necesario ejecutar un servidor ni configurar redireccionamientos HTTP 301
Proyecto de ejemplo: brunoluiz/_
Quizás te preguntes: ¿cómo se hace esto sin un servidor? Bueno, la respuesta está en <meta http-equiv="refresh" />
. Funciona como código de estado HTTP 301 (Redireccionamiento), pero se realiza en el lado del cliente. Hay un poco más de explicación en el sitio web del w3c.
Basado en un config.yml
que contiene la ruta y la URL deseadas, urlzap
creará archivos index.html
que utilizan metaetiquetas de actualización. No es perfecto como HTTP 301, pero se acerca bastante. Otros generadores de sitios web estáticos utilizan una estrategia similar, como Hugo.
Un ejemplo sería:
ruta: './links' # el valor predeterminado es './'urls: google: https://google.com herramientas:github: https://github.com
Cada clave en el mapa se asignará a las rutas {.path param}/{key}
, redirigiendo a {value}
. Esto generaría lo siguiente:
- links/ - google/ - index.html (contains redirect) - tools/ - github/ - index.html (contains redirect)
Estos archivos se pueden cargar en páginas de Github, por ejemplo, sin necesidad de ningún servidor. En brunoluiz/_
puedes ver un ejemplo config.yml
y consultar el resultado en la rama gh-pages
Consulte la sección de lanzamientos para obtener más detalles sobre la información.
Utilice brew
para instalarlo.
brew tap brunoluiz/tap brew install urlzap
Usando el ejemplo YAML anterior:
ruta: './links' # el valor predeterminado es './'urls: google: https://google.com herramientas:github: https://github.com
urls
: mapa de URL deseado, siguiendo el patrón {key}:{redirect URL}
path
: ruta de salida
Para generar los archivos estáticos, ejecute urlzap generate
.
Lo más probable es que termines usando Github Pages junto con esta herramienta. Si es así, quizás la mejor manera de usarlo y aprovechar sus beneficios sea a través de Github Actions. Dirígete a brunoluiz/urlzap-github-action
para obtener más detalles sobre cómo instalarlo, cubriendo generación e implementación.
️ ¡Es posible que necesites habilitar manualmente las páginas de Github en tu repositorio! Más detalles en la guía de páginas de Github
Si Github Actions no es para usted, pruebe el siguiente proceso manual.
Habilite las páginas de Github y configure la rama donde se ubicarán sus archivos HTML estáticos. Más detalles en la guía de páginas de Github
Configura tu config.yml
Comprometerse y empujar a main
Pague por su sucursal de Github Pages (generalmente gh-pages
) y ejecute git reset --hard origin/main
(esto restablecerá HEAD a master
)
Ejecute urlzap generate
Comprométete y empuja
El siguiente script sigue lo que se describe en los pasos anteriores:
#!/bin/bash# agrega, confirma y envía tus cambiosgit add config.yml git commit -m 'tarea: actualizar config.yml'git push -u origin main# hacer que la rama gh-pages sea la misma que maingit checkout gh-pages git reset --hard origin/main# generar archivosurlzap generate# agregar, confirmar y enviar archivos generadosgit add --all git commit -m 'tarea: actualizar archivos HTML'git push -u origin gh-pages --force