Hace ya tiempo que quería abandonar Drupal como motor de este sitio. Lo que apresuró tal resolución fue un error persistente debido según parece a un problema con los comentarios, había también otras funciones que fallaban, entre ellas la de posibilidad de exportar el contenido desde el propio Drupal.
Así que me ví prácticamente obligado a hacer una exportación cruda por la vía de la base de datos, lo que sigue es el proceso de exportación, conversión y adaptación a Hugo
- lo primero fue crear una vista de la base de datos que contiene la información mínima esencial tal como título, fechas, cuerpo y tipo de contenido de cada entrada publicada. Desde phpMyAdmin se hace así:
SELECT node_field_revision.title, node_field_revision.created,
node_field_revision.changed, node.type,
node_revision__body.body_value
FROM node_field_revision, node, node_revision__body
WHERE (node_field_revision.nid = node.nid)
AND
(node_field_revision.nid = node_revision__body.entity_id)
-
tras varias pruebas de exportación me pareció que el formato json es el más práctico, eso fundamentalmente por la facilidad de procesamiento con jq (conste que hice pruebas también con formatos mysql, xml, ods, odt y yaml).
-
hice un programita en bash para hacer tres cambios requeridos para el nuevo formato .md (markdown):
- poner el título y las marcas de markdown
- convertir la fecha de unix-epoch al estilo de hugo
date +"%Y-%m-%dT%T%:z" -d @1564916325
- separar cada elemento según su tipo en un directorio
-
creé un sitio en blanco con hugo:
hugo new site
-
puse todos los archivos ya separados por tipo en la carpeta
content
del directorio de hugo
Y eso fue más o menos todo. Lo que viene después es corregir y buscar un “tema” gráfico apropiado.
Lo más tedioso fue agrupar de una manera más o menos coherente las entradas. Ahora resulta mucha más sencillo cambiar de tipo a cualquier elemento simplemente moviéndolo a otro directorio.
Fue interesante también entrar en la lógica de hugo y su estilo de plantillas, formatos y variables. Creo que ya está más o menos controlado como lo prueba el hecho de que ya está funcionando.