jdariasl / ML_2020

The new version of my Machine Learning Introductory Course.
11 stars 28 forks source link

Usar Jupyter book para publicar el contenido #7

Closed germaneduardo closed 3 years ago

germaneduardo commented 3 years ago

Migro Hilo de Gmail

Hola Germán,

Estoy pensando modificar el repositorio del curso para presentarlo como un jupyter book. Creé un repo de prueba, puedes verlo en el siguiente link: https://jdariasl.github.io/prueba/intro.html

Aún estoy revisando qué ajustes se debe hacer en los notebooks para que la tabla de contenido se vea bien. En todo caso me gustaría que revisaras la documentación (https://jupyterbook.org/intro.html) para comprendas los pasos básicos para hacer los commit y los push en este caso. Apenas tenga claras las modificaciones que es necesario hacer en los títulos te lo cuento.

Un saludo

-- Julián D. Arias Londoño Associate Professor Department of Systems Engineering and Computer Science Universidad de Antioquia Address: Cll 70 No 52-21 Medellín, Colombia Office 21-316 Phone +57 4 2198536 e-mail:julian.ariasl@udea.edu.co

JULIAN DAVID ARIAS LONDOÑO julian.ariasl@udea.edu.co vie, 2 oct 2020 22:04 para mí

Hola Germán,

Dos cosas:

1) Usando el jupyter book ya no es necesario incluir el enlace a colab porque se crea por defecto, es accesible en el logo del cohete en la parte superior. 2) Todo los que se titule dentro de los notebooks con el nivel superior (#) saldrá en la tabla de contenido. Para el caso de los laboratorios es necesario entonces sólo usar ese nivel para el título del laboratorio y para los demás apartados usar ##. El título podría ser un poco más específico sobre el tema, para que así la tabla de contenido dé más información.

¿Dime cómo lo ves?

Un saludo,

JULIAN DAVID ARIAS LONDOÑO julian.ariasl@udea.edu.co vie, 2 oct 2020 22:14 para mí

Los dos primeros niveles aparecen en la tabla de contenido, es decir, # y ##.

GERMAN EDUARDO MELO ACOSTA geduardo.melo@udea.edu.co dom, 4 oct 2020 17:56 para JULIAN

Hola julián

Me parece una excelente forma de presentar el contenido. Si puedo ir adaptando los notebooks para que su contenido quede mejor formateado.

Solo me quedan dos dudas:

  1. el Jupyter book toma de base el actual repositorio, cierto?
  2. los notebooks no necesitan de una configuración especial, para que se habilite el botón del cohete?
  3. esperamos hacer el cambio este semestre?
  4. podemos activar los github actions, para que por cada "push normal" al repo libere el nuevo contenido directamente a las GitHub Pages

Un Saludo

JULIAN DAVID ARIAS LONDOÑO julian.ariasl@udea.edu.co lun, 5 oct 2020 9:24 para mí

Hola Germán,

Te respondo:

  1. el Jupyter book toma de base el actual repositorio, cierto?

Correcto. Por ahora yo hice una copia a un directorio de prueba para no entorpecer el trabajo actual, pero la idea es migrar los cambios al repositorio habitual.

  1. los notebooks no necesitan de una configuración especial, para que se habilite el botón del cohete?

No, esa característica depende de un archivo de configuración que se llama _config.yml allí aparece una sección que se llama launch_buttons

  1. esperamos hacer el cambio este semestre?

Pues esa la idea, en realidad no representa mucho trabajo. Simplemente hay que revisar que los títulos y subtítulos dentro de los notebooks estén en orden correcto (Me refiero al uso de #, ##, ###, etc.) e incluso revisar el texto de cada título y subtítulo.

  1. podemos activar los github actions, para que por cada "push normal" al repo libere el nuevo contenido directamente a las GitHub Pages

Como vamos a ajustar los títulos y los subtítulos el procedimiento que yo estoy siguiendo es el siguiente:

  • jupyter-book build prueba/ ("prueba" en este caso es el directorio)
  • cd prueba
  • git add .
  • git commit
  • ghp-import -n -p -f _build/html (este comando hace el push y despliega el github pages. La última acción se tarda algunos minutos en terminar, así que hay que esperar unos minutos para refrescar la página.)

Si se va a agregar un notebook que se quiera que aparezca en el árbol del sitio web, se debe modificar antes el archivo _toc.yml

No estoy seguro que los pasos anteriores sean todos necesarios, pero así me está funcionando. Por ejemplo, no sé si el push normal tiene el mismo efecto.

Un saludo,

GERMAN EDUARDO MELO ACOSTA geduardo.melo@udea.edu.co mar, 6 oct 2020 22:12 para JULIAN

Hola Julián

Listo perfecto puedo asegurarme que los laboratorios estén con el formato correcto.

También me parece una buena idea, por ahora seguir dejando el link de colab en los laboratorios, para que los estudiantes tengan las dos opciones de habilitarlos.

Acerca del como publicar mi propuesta es:

  1. archivo _toc.yml, _config.yml: incluirlos en el repo de los laboratorios
  2. cuando uno haga la modificación (ya sea en los notebooks o incluir nuevos en el toc), se hace push normal (git add . git commit)
  3. luego en github podemos configurar que se haga el build directamente y la publicacion de manera automatica en la nube.

    esto es mas uno "nice to have" para automatizar estas tareas.

Un Saludo

JULIAN DAVID ARIAS LONDOÑO julian.ariasl@udea.edu.co mar, 6 oct 2020 22:14 para mí

Hola Germán,

Si te parece lo configuramos todo en el directorio de prueba y luego lo movemos al regular. Me dices qué encontraste para configurar el github para que haga build automáticamente.

Un saludo,

germaneduardo commented 3 years ago

completed by #8