Workshop del curso

Reconozco que tengo el curso de programación un poco parado. El mismo día que finalizó la UbuCon en Gijón (gran trabajo de Marcos Costales y de todos los colaboradores) ocurrió un evento personal que me dejó muy tocado. Durante varios meses he dejado parados todos los proyectos: el curso, la página Web, etc.

Sigo estando mal pero quiero poco a poco recuperar la rutina aunque cuesta mucho. Para lograrlo voy a retomar tanto la publicación del curso como los artículos de InnerZaurus.

Curso de programación en GitBook

En estos momentos el curso de programación está alojado en GitBook por todas las ventajas que traía asociadas. Recientemente han actualizado GitBook para ofrecer nuevas funciones y, entre otras cosas, obtener beneficios. En el cambio se potencia la documentación en formato HTML en detrimento de los formatos PDF y ePub. Ahora el curso se puede ver en formato web y en los formatos que he comentado. Si hago la migración a la nueva versión de GitBook sólo se podría acceder al contenido en formato web.

He estado buscando servidores alternativos a GitBook y el que ha ganado en la comparativa es Read The Docs. Read The Docs (en adelante RTD para acortar) trabaja con el lenguaje de marcado RST y es el que utilizan en UBports para la documentación. Tiene una versión gratuita que muestra publicidad razonable y otra versión de pago que elimina la publicidad.

Del curso de programación no obtengo beneficios y mi idea no es añadir un pago extra. Si acepto donaciones por Patreon me debería dar de alta como autónomo (aún más gastos). En este escenario hay dos opciones:

  • Mostrar publicidad en el curso.
  • Realizar la misma tarea que hace RTD en local.

Después de pensarlo he decidido trabajar con la segunda opción. Si veo que no es factible, siempre puedo pasar a RTD.

Sphinx, el generador de documentación de Python

RTD genera la documentación usando Sphinx. Utiliza un lenguaje de marcado similar a Markdown llamado RST y produce como salida documentación en formato HTML, PDF o ePub entre otros. Para trabajar con Sphinx es necesario instalar un servidor que se encarga de todas las tareas.

Logo de Sphinx

Logo de Sphinx


He comentado que Sphinx utiliza RST y el curso de programación usa Markdown. ¿Quiere decir que hay que generar de nuevo toda la documentación? Afortunadamente no es necesario. Hay herramientas que convierten entre lenguajes de marcado y generan una salida correcta. Sólo tengo que descargar los archivos del curso en Markdown y convertirlos a RST. La estructura es muy similar y no supone una carga importante de trabajo.

Otro detalle interesante es que Sphinx está preparado para trabajar con traducciones. Sobre una base en inglés, se pueden extraer las cadenas de texto y facilitar el trabajo a los traductores. Yo puedo escribir el texto en inglés y en castellano pero no puedo dedicar tiempo a traducir el curso a otros idiomas.

Pasos de la migración

La mayor parte del curso de programación está en castellano. Para facilitar la tarea a los traductores, voy a tomar como idioma base del curso el inglés y después añadiré las traducciones. Es más sencillo extraer las cadenas de texto en inglés que hacerlo en castellano.

Por esta razón, los pasos serían:

  • Creación del proyecto del curso con Sphinx en GitLab.
  • Migrar el contenido actual en inglés del curso a RST.
  • Publicar los archivos en GitLab.
  • Subir el resultado de la compilación a InnerZaurus.
  • Generar los archivos de traducción a partir del contenido en inglés.
  • Traducir los textos al español e integrarlos con la documentación.

Algunos de los pasos ya los tengo hechos en local. Voy a dar unos plazos holgados para tener unos margenes de tiempo. No quiero dar fechas fijas porque dependo del tiempo libre y de las ganas que tenga de trabajar en los proyectos.

A continuación os muestro la apariencia que tiene la versión inicial.

Versión inicial del curso con Sphinx

Versión inicial del curso con Sphinx


Mi idea es tener el curso de programación publicado en inglés y los bloques traducidos a finales de septiembre. La parte del curso que no esté traducida al inglés se podrá seguir consultando en GitBook. Antes de final de año me gustaría tener los dos idiomas sincronizados. Una vez lo estén, ya generaría nueva documentación.

Nuevos contenidos

El curso de programación es un proyecto que llevo en mi tiempo libre y no genera ingresos de ningún tipo. Por esta razón, es normal que pase el tiempo entre publicaciones o correcciones de errores. Si me permitiera obtener ingresos la cosa cambiaría pero en estos momentos es algo que no veo factible. Los ingresos serán reducidos y pagar un extra de 300 € todos los meses del alta de autónomos no es factible.

Mientras los chicos de UBports trabajan en actualizar el SDK, me centraré en el contenido nuevo en las aplicaciones de escritorio. Tienen más visibilidad que las aplicaciones exclusivas de Ubuntu Touch y se pueden aplicar a muchos escenarios diferentes: ordenador, sistemas embebidos, etc.

Logo de UBports

Logo de UBports


De momento no voy a tocar las aplicaciones de Android con Qt. Considero que el SDK de Android actual da más flexibilidad y no se obtiene una ventaja extra al programar usando Qt. Si en un futuro la cosa cambia, puedo considerar añadir Android al curso de Qt.

Conclusiones

En el grupo de Telegram del curso si que había comentado que el curso quedaría en standby. Debería haber hecho lo mismo en InnerZaurus y en la página del curso pero no he tenido ánimo para hacerlo. Os pido disculpas en ese sentido.

Con el cambio de GitBook a Sphinx espero tener las mismas características que tenía el curso junto con algunas extras que ya os comentaré más adelante. Los formatos de salida del curso los subiré a un subdominio de esta Web. De esa forma aprovecho mejor el gasto de alojamiento de InnerZaurus.

Si tenéis cualquier duda o sugerencia, podéis preguntarla en los comentarios de la página, en el formulario de contacto o por Telegram. Mi usuario es @mimecar.

Nunca hagas de un lugar tu hogar. Haz un hogar para ti mismo dentro de tu propia cabeza. Encontrarás lo que necesitas para amueblarlo – las memorias, amigos en que puedes confiar, el amor por el aprendizaje y otras cosas. De esa manera irá contigo a dondequiera que viajes.

Tad Williams. Añoranzas y pesares.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.