Crear sitio nuevo desde sutty-base

cómo crear un sitio nuevo basado en sutty-base y editable desde el panel

Escrito por~ ~ ~

Clonar repositorio

Hay dos maneras de clonar un repositorio desde sutty-base:

1. Forkear repo desde 0xacab

En el repositorio de sutty-base de 0xacab usar la opción de Fork, recordar tildar 'only the defaul brach' para traer master/main como rama del repositorio únicamente

2. Clonar desde línea de comandos

En la terminal escribir:

git clone git@0xacab.org:sutty/jekyll/sutty-base-jekyll-theme.git $nombredesitio-jekyll-theme

cd $nombredesitio-jekyll-them

Cambiar el origen y sumar upstream

git remote set-url origin git@0xacab.org:sutty/jekyll/$nombredelsitio-jekyll-theme.git

git remote add upstream git@0xacab.org:sutty/jekyll/sutty-base-jekyll-theme.git

Configurar upstream únicamente para traer cambios:

git remote set-url --push upstream " "

Traer archivos e índice de lfs y pushearlo al origen master nuevo

git lfs fetch upstream --all

git lfs push origin master --all

git push origin master

Compilar sitio localmente y pushear actualización de gemas

Hacer una compilación del sitio local para generar el Gemfile.lock y pushearlo con task build (según la distro, puede ser go-task build)

Dar acceso a escritura y llaves

En 0xacab, en Settings > Repository del proyecto (p.e. https://0xacab.org/sutty/jekyll/$nombredeproyecto-jekyll-theme/-/settings/repository)

  • Activar llaves en Deploy keys: sutty

  • Editar la llave y dar permisos de escritura: "Grant write permissions to this key"

Clonar el sitio en gethen

En `_sites/` clonar el repositorio con el nombre que va a tener el proyecto al crear el sitio en el panel:

git clone git@0xacab.org:sutty/jekyll/$nombredesitio-jekyll-theme.git $nombredesitio/

Hacer lo mismo para el sitio de testing:

git clone git@0xacab.org:sutty/jekyll/$nombredesitio.testing-jekyll-theme.git $nombredesitio.testing/

Crear el sitio desde el panel

Ponerle el mismo nombre que la carpeta en gethen y seleccionar sí o sí "Mi propio diseño", sino se rompe el panel.

Hacer lo mismo para el sitio de testing.

Aviso: Si lo que se quiere es crear un sitio de testing de una plantilla, no hace falta hacer esto, alcanza con crear un sitio desde el panel con ".testing" en el nombre.

Activar Webhooks

  1. En el repo del sitio nuevo en 0xacab ir a Settings > Webhooks.

  2. Add new webhook

  3. En el campo URL copiar el formato de otro repo y cambiarle el nombre del sitio

  4. Para completar el campo Secret token:

    1. Ir a gethen, terminal de ruby y buscar el sitio s = Site.find_by name: "nombre-del-sitio"

    2. Luego s.roles.first.token

    3. Copiar el token y pegarlo en el campo Secret token de 0xa

  5. Activar push events

  6. Dejar todo el resto como está

Si es necesario, hacer el mismo procedimiento tanto para el panel del sito de testing como para el del sitio de producción, usando los nombres tal cual los pusimos en el panel.

Crear ramas de trabajo

En local crear y pushear las ramas de:

  • theme: para commitear cambios de archivos scss, fonts y _data/theme.yml

  • content: para commitear cambios de esquemas de datos y archivos de textos de idioma

  • nombre-sitio-nuevo.testing.sutty.nl: para llevar los cambios al sitio de testing

Cambiar la rama de testing en el server

Cuando trabajamos sobre la rama de testing del sitio, si queremos que los cambios se pusheen con los webhooks al panel del sitio de testing, tenemos que cambiar la rama en el sitio de testing desde el servidor.

Entramos a gethen y buscamos el sitio de testing:

cd nombredelsitio.testing.sutty.nl

git switch nombredelsitio.testing.sutty.nl

Por otro lado, en el servidor el sitio de producción debería quedar en la rama de master.

Documentar es un acto de amor, siempre es para otre.

Hecho por Sutty.