viernes, 8 de enero de 2021

Exportar Wikis de Azure DevOps a Hugo

Evaluando Hugo como plataforma de blogging para un futuro, me topé con el tema Geekdoc y entonces me surgió la duda de si era una opción razonable usar Hugo como herramienta para la documentación interna.

Si el proyecto fuera Open-Source, la verdad es que optaría por usar GitHub Pages, pero siendo un repositorio privado toca pasar por caja y además y con independencia de si el repositorio es público o privado, las GitHub Pages son siempre públicas, luego opción descartada.

Por ahora (y lleva así mucho tiempo y no tengo ninguna pega), estamos usando las Wikis de Azure DevOps, las Wikis "aprovisionadas", que son distintas a públicar la wiki como código (ficheros .md directamente desde una carpeta del repositorio, al estilo de GitHub Pages), más información aquí.

Hacer una prueba de concepto con Hugo ha sido fácil, uno de los ganchos para usarlo de hecho, pero yo necesitaba verlo poblado de entradas, con documentación real en vez de lorem ipsum, así que migrar wikis "reales" de Azure DevOps a Hugo era la mejor opción para ver como lucía el tema de Geekdoc y si era usable.

Usando la API de Azure DevOps, ha sido relativamente fácil iterar dentro de una organización por los proyectos, wikis, páginas y descargar sus ficheros adjuntos. Por otro lado, aunque el Getting Started de Hugo va como la seda, donde encontré más problemas fue a la hora de entender como manejar los recursos asociados a una página, a este respecto, el siguiente enlace me sirvió y me pregunto porque no está incluido en la documentación oficial de Hugo.

El código (en Python, necesito practicar) está publicado aquí y he publicado un paquete en PyPI para que usarlo sea sencillo e indoloro.

pip install ado2hugo
set ORGANIZATION=YOUR_ORGANIZATION
set PATH=YOUR_PATH
ado2hugo YOUR_SIRE_DIRECTORY

Un saludo!

No hay comentarios:

Publicar un comentario