Script para programar artículos en Gitlab Pages

2019-10-07

Ya hemos visto como montar nuestro blog en Gitlab Pages gracias a Hugo y utilizar emacs y org-mode para publicar las entradas del blog, sin embargo en Gitlab Pages no podemos programar la publicación de artículos.

En nuestro propio servidor no hay problema, basta con poner la fecha del futuro artículo para que se publique es en esa fecha pero en Gitlab Pages esto no es posible ya que el sitio se genera cada vez que realizamos un cambio en el repositorio mediante git push y se ejecute un nuevo pipeline.

Para solucionar esto he creado un pequeño script que se encarga de buscar todos aquellos artículos que tengan el valor draft = false, y compara la fecha de publicación del articulo, (valor date =) con del día en la que nos encontramos, si coinciden cambia el valor a draft = false y actualiza el repositorio de Gitlab para que vuelva a desplegar el blog.


#! /bin/bash

# PATH posts
RUTA="/mnt/datos/Docker/AppData/Nextcloud/carlos/files/Blog/content/post"
RUTA2="/mnt/datos/Docker/AppData/Nextcloud/carlos/files/Blog"
# Sacamos la fecha
HOY=$(date +%Y-%m-%d)

# Buscamos ficheros para publicar hoy
find $RUTA -name $HOY* -print | xargs sed -i "s/draft = false/draft = false/g"

# actualizamos repositorio y publicamos
cd $RUTA2
git pull
git add .
git commit -m "Publicacion articulo programado"
git push

Donde:

  • RUTA es el path donde residen los artículos del blog ya exportados a en markdown

  • RUTA2 es la raíz del blog, donde reside la carpeta .git

  • HOY variable que recupera la fecha actual del sistema

Evidentemente el script se puede mejorar, si te atreves a hacerlo por favor avísame.

Por ultimo, solo tendremos que añadirlo al cron del usuario para que se ejecute los días y las horas que necesites. En el ejemplo, ejecuta el script todos los días a las 6 A.M.


crontab -e

# publica articulos en blog
0 6 * * * /home/carlos/bin/publica.sh

Espero que te haya gustado, pasa un buen día.

Ingrese la dirección de su instancia


Más publicaciones como esta

Personalizar el tema Minimo para Hugo

2019-12-30 | #hugo

Me gustan los temas oscuros, lo reconozco, en todos mis equipos procuro tener instalado un tema dark si es posible, y el blog no iba a ser menos. El tema Minimo es un gran tema, tiene casi todo lo que quiero para un blog, de hecho lo he estado utilizando durante un tiempo para este sitio, lo único que no me gusta del tema, es el color blanco, demasiado para mi gusto y particularmente me hace daño la vista.

Continuar leyendo 


Emacs: Exportando bloques de código

2023-03-13 | #emacs #hugo #org-mode

Muchas veces cuando escribo un articulo para el blog, hago referencia a comandos o contenido de ficheros del sistema. Una manera fácil de obtener el resultado de esos comandos o ficheros para crear el articulo es ejecutar el código en una ventana de la terminal, copiar y pegar la salida al fichero õrg, pero gracias a una de las muchas cualidades de orgmode, podemos utilizar Babel para ejecutar bloques de código y exportarlo a un archivo.

Continuar leyendo 