Nuevo sitio web

· 5 min · @Web · #Hugo

Que no cunda el pánico ante el título de este artículo.

No voy a hacer ningún cambio en esta web ni voy a borrarlo todo e irme de ermitaño a una cueva 🤣

Solamente es para informar, que como tenía en WordPress una página web donde iba subiendo los libros que he ido leyendo durante estos años, pues …

De la misma manera que me pasó antes, cuando di el salto a GitHub para tener un poco más de control sobre la web, más que WordPress seguro que lo tengo, pues he hecho lo mismo pero esta vez en GitLab.

A parte de toda la creación de los artículos, donde sigo usando Jekyll para la generación del sitio estático, también me ha servido para aprender cómo es el funcionamiento de GitLab. Eso sí, tengo que decir que es muy diferente a GitHub en todo, o en casi todo.

Lo veo todo más lioso y más confuso, me resultó más fácil GitHub, pero eso sí tengo que decir que los artículos de Carlos M. me sirvieron de punta de lanza para resolver todas las dudas que me iban surgiendo con respecto al funcionamiento y creación de un sitio en GitLab.

De nuevo gracias Lázaro por tus artículos.

También, tengo que decir que me apoyé en Copilot (y tengo que decir que me ayudó más que ChatGPT), para crear un script que me facilitara el proceso de subir los archivos a mi repositorio, porque siempre lo he encontrado tedioso y complicado.

El script que estoy usando actualmente para subir los archivos resultantes de mi sitio a GitLab:

  #!/bin/bash

  # Up2GitLab 0.2
  # Actualizar fácil y rápidamente tu repositorio de GitLab
  # (CC) 2024 Victor Santos
  # https://vctrsnts.github.io
  # Bajo licencia GNU/GPL

  # Modo de uso: ejecútalo de la siguiente manera:
  # sh up2GitLab.sh

  # Actualización de la public key con GitLab porque siempre tenía problemas con la key
  eval "$(ssh-agent -s)"
  ssh-add /root/.ssh/idKeyGitLab

  # Validación de que estamos 'conectados' a GitLab
  ssh -T git@gitlab.com

  sleep 10

  # A través de Docker, actualizamos el fichero RSS
  # docker exec jekyll_book bundle exec jekyll build
  # cp ../Gemfile .
  docker exec jekyll_book bundle exec jekyll build

  sleep 10

  cp ../Gemfile .

  # Solicita el mensaje del commit
  read -p "Introduce el mensaje del commit: " commit_message

  rm -rf .fuse*

  # Asegúrate de estar en el directorio del repositorio
  repo_dir="directori on esta el _site de jekyll"
  cd "$repo_dir" || { echo "Directorio del repositorio no encontrado"; exit 1; }

  # Establecer el repositorio remoto (opcional, si no está ya configurado)
  remote_repo="el teu repositori de GitLab"
  git remote add origin "$remote_repo" 2>/dev/null

  # Configurar la reconciliación de ramas divergentes
  git config --global pull.rebase false

  # Añade todos los cambios al índice
  if ! git add .; then
      echo "Error al añadir cambios"
      exit 1
  fi

  # Realiza el commit con el siguiente mensaje
  if ! git commit -m "$commit_message"; then
      echo "Error al realizar el commit. Verifica que haya cambios para subir."
      exit 1
  fi

  # Realiza el push a la rama master
  if ! git push origin main --force; then
      echo "Error al realizar el push a la rama master"
      exit 1
  fi

  # Registro de actividades
  log_file="$repo_dir/push_log.txt"
  echo "$(date): Commit realizado con el mensaje '$commit_message' y push a la rama master" >> "$log_file"

  echo "Cambios subidos con éxito a la rama master."

Algunos os chocará el porqué añado la key momentos antes de hacer el push, esto lo hago, porque como tengo aparte del repositorio de GitLab también tengo el repositorio de GitHub y a veces el sistema se volvía loco, no he encontrado explicación a esto, prefiero hacerlo de esta manera y así me evito problemas y mezclas de ficheros entre los diferentes sitios. No tendría que pasar, pero nunca se sabe. Los caminos del señor son inescrutables 😇.

Así mismo, también tengo un sleep 10 porque de esa manera evito que a la hora de actualizar mi repositorio me suba un fichero .fuse* a GitLab, pero no funciona del todo bien. Esto es debido, a que antes de actualizar el repositorio, ejecuto docker exec jekyll_book bundle exec jekyll build para regenerar los siguientes ficheros:

  • feed.xml
  • sitemap.xml
  • robots.txt

Con la dirección correcta del sitio, porque sino, a la hora de subirlo al repositorio, me lo subía con la IP por defecto de Jekyll, que no es otra que http://0.0.0.0:4000 y de esta manera, es lo que he encontrado yo, pone la correcta.

Con este script, subo los archivos al repositorio de GitLab, espero los 5 minutos de rigor para que se actualice el sistema y ya lo tengo todo actualizado y listo para visitar.

Además como también tiene el feed que junto al script que podéis encontrar en este artículo voy publicando, eso sí en Tumblr, para no mezclar artículos de diferentes temáticas (informática, tecnología, etc..) con los artículos de los libros en Mastodon. Eso sí, tengo que pensar si los publico en BlueSky o no que es más como un Twitter - X pero en sus comienzos. A ver cuánto dura.

Después de todo esto, aquí podéis encontrar la nueva página web donde voy colgando los libros que he leído.

nota: Antes de nada, avisar que la web, está en Catalán. Sé que un sitio de este estilo, ya de por sí, tendrá pocas visitas y aún menos si está en catalán. Hasta aquí puedo leer, porque sino me encendería y este no es ni el lugar para eso 🤬 🔥.

Espero que os sea de utilidad y encontréis libros que os gusten y que yo ya he leído. Si tenéis dudas, podéis contactar conmigo, para preguntar sobre alguno en concreto.

nota: Aún me faltan por añadir unos cuantos más. Es lo malo que tiene ir a trabajar en Rodalies / Renfe, que tienes mucho tiempo libre 🤣.

◇ Referencia