Sincroniza documentación GitHub con WordPress

·

Hace años que me tocó liderar varios procesos de ayuda a sincronizar los famosos handbook de WordPress que están en GitHub con los propios WordPress. Al final he hecho una solución.

No parece tener sentido

Aparentemente, no tiene mucho sentido que teniendo un CMS como WordPress, haya que crear contenidos en Markdown en GitHub para después sincronizarlo con eso, WordPress, pero tiene una razón de ser.

Por un lado, no siempre hay que dar acceso a un WordPress para que cualquiera pueda editar… aunque hay control de cambios en un sitio, si se empiezan a cambiar contenidos de forma sostenida es un jaleo importante. Y tampoco creo que tenga sentido dar acceso «a cualquiera» a un WordPress para modificar o solicitar un cambio.

A esto se le suma el control de cambios y la auditoría general. Si has de publicar documentación de un proyecto, es probable que quieras integrarla e iterarla en un proceso que va asociado al software. Por lo que, de nuevo, lo ideal es usar la herramienta Git de turno para ayudar con este proceso.

Pero, claro, luego hay que publicar los cambios y los contenidos, así que, en el caso de WordPress.org existe un pequeño sistema que sincroniza esos Markdown con WordPress mediante un fichero de control que asocia una URL de GitHub con una URL del WordPress, básicamente.

La solución es un plugin

Al final, como es el WordPress el que debería tener control de importación de los contenidos, un plugin era la lógica más aplastante para este caso.

Y eso es lo que hace Documentation Markdown (by ROBOTSTXT), un plugin que básicamente te permite indicar un repositorio de GitHub, le añades una clave privada para tener acceso a la API, y a sincronizar contenidos con contenidos.

Una vez se indica el repositorio, el sistema se conecta a él para descubrir todos los ficheros Markdown existentes Lo ideal es que el repositorio sea exclusivo de documentación, pero cualquiera sirve, simplemente tardará más o menos.

La idea es tan sencilla como decidir qué fichero Markdown de origen corresponde a qué página o contenido está en local. Por defecto, se sincronizará todo de forma diaria.

La lista de mapeos es bastante clara y permite forzar una sincronización en cualquier momento.

Y, para evitar problema, si se tiene el WP_DEBUG encendido, se puede revisar configuraciones y corregir posibles problemas en el plugin.

¿Por qué ahora?

Pues, esto lo tenía medio empezado desde hace tiempo como solución a los problemas de sincronización de los handbook de WordPress Make, pero al final la cosa quedó en el aire hasta que el equipo de GatherPress me lo comentó y les dije que lo tenía a medias.

Así que gracias a lo que había, más una lista de ideas, más la ayuda de algunas IA, ha salido este proyecto que está disponible como GPL 3.0 para descargar de forma gratuita.

Comments

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *