💾 Archived View for jdrm.info › articulos › actualizar-contenido.gmi captured on 2024-02-05 at 09:35:36. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Actualizando contenido automáticamente

No, no he puesto a una IA a hacer mi trabajo, eso jamás.

Hace un par de años decidí abrir esta web en un pequeño servidor alojado en Islandia. El código fuente de la web y de la cápsula lo tengo guardado en dos repositorios públicos en Codeberg. Haosta hace no mucho, después de escribir una nueva entrada, tenía que acceder al servidor y tenía que actualizar manualmente el contenido desde el repositorio. Ya se sabe: en casa del herrero, cuchillo de palo.

Este fin de semana saqué por fin unos minutos para hacer un script muy básico y sencillo que comprueba si hay cambios en el repositorio y, si los hay, actualiza la página con los cambios. Algo tan sencillo como esto:

#!/bin/bash

HTMLDIR="$HOME/git/jdrm.info"
GEMINIDIR="$HOME/gemini/content"

cd $HTMLDIR
haycambios=`git pull`

if [ "$haycambios" != "Already up to date." ]; then
    echo "Hay cambios en la web"
    git pull
    source myenv/bin/activate
    pelican
    cp -r output/* ~/my-site
else
    echo "No hay cambios en la web"
fi

cd $GEMINIDIR
git checkout *
haycambios=`git pull`

sed -i "1c\\$(ddate) del calendario discordiano" ~/gemini/content/index.gmi

Y mediante crontab hago que este script se ejecute cada hora:

0 * * * * ~/update.sh >> /tmp/update.log

En el script hago algunas chorraditas. como añadir la fecha del calendario discordiano en la primera línea de la cápsula. Además, como uso Pelican para generar el código HTML estático, regenero el contenido sólo si hay cambios.