Páginas GitLab con libros Jupyter
Overview
Teaching: 0 min
Exercises: 0 minQuestions
How do I publish web pages through GitLab and Jupyter books?
Objectives
Publish Jupyter notebooks as HTML on the web with GitHub Pages
Hagamos algo diferente, que te sonará un poco más familiar si estás acostumbrado a los proyectos Jupyter. De su sitio web:
El Proyecto Jupyter existe para desarrollar software de código abierto, estándares abiertos y servicios para la computación interactiva en docenas de lenguajes de programación.
Los cuadernos Jupyter te permiten crear y compartir documentos que contienen código en vivo, así como texto narrativo. Jupyter Lab amplía sus funcionalidades creando un entorno de desarrollo interactivo (que le permite navegar por su sistema de archivos y definir el entorno de codificación). Jupyter Hub es una versión multiusuario de Jupyer Lab que las instituciones pueden implementar localmente (como hicimos en EMBL).
¿Y Libro de Jupyer?
Jupyter Book es un proyecto de código abierto para crear libros y documentos atractivos y de calidad editorial a partir de material computacional.
El tutorial extenso te guiará a través de los pasos de instalación y la personalización detallada disponible, en el contexto de esta lección vamos a cubrir sólo lo básico. Lo primero es lo primero, vamos a instalar Jupyter Book. En tu terminal:
pip install -U jupyter-book
Ten en cuenta: necesitarás tener pip instalado también. Ahora, vamos a crear nuestro
primer proyecto de libro. El comando jupyter-book --help
nos ayudaría a comprobar las
opciones aquí, pero en esta lección haremos spoiler de algo: el comando
jupyter-book create jupyter-book-demo
el comando creará un libro Jupyter básico en una carpeta jupyter-book-demo
. Esta
carpeta ya incluye las tres cosas necesarias para construir un libro: un archivo
_config.yml
, una tabla de contenido _toc.yml
y el contenido del libro en una
colección de archivos MarkDown, reStructuredText o Jupyter Notebook.
Como nos estamos cansando de tanto desarrollo y despliegue, no queremos editar nada del
contenido, pero en su lugar priorizamos tenerlo funcionando en GitLab. Adivina, ¿qué
necesitamos añadir? Un archivo .gitlab-ci.yml
de hecho.
pages:
stage: deploy
image: python:slim
script:
- pip install -U jupyter-book
- jupyter-book clean .
- jupyter-book build .
- mv _build/html public
artifacts:
paths:
- public
Este trozo de código:
- Instala jupyter-book (o comprueba que está correctamente instalado de forma remota).
- Limpia la carpeta de archivos resultantes de (eventuales) construcciones previas.
- ejecuta el comando
jupyter-book build .
, que construye el libro en la carpeta en una subcarpeta_build
. Puedes comprobar la salida ejecutando el mismo comando en tu terminal, y te darás cuenta de que los archivos HTML reales están en la subcarpeta_build/html
. - A continuación, mueve el contenido HTML a nuestra carpeta habitual
public
donde se almacenan los artefactos.
Tu tiempo para experimentar con una plantilla
Esta plantilla es deliberadamente mínima para darte la oportunidad de poner a prueba tus habilidades de lectura de documentación. Consulta las guías temáticas en jupyterbook.org y encuentra la manera de:
- Añade otra página llamada “Acerca de” y enlazada desde la tabla de contenidos.
- Juega con el formato de archivo de esta nueva página, añade el mismo tipo de contenido en formatos MarkDown, reStructuredTex y Notebook.
- Añade una figura y un pie de figura.
- Inserta una celda de código. Si estás familiarizado con algún lenguaje de programación, añade un trazado sencillo y visualiza la salida de dicho trazado en tu página.
- Para funciones de código más avanzadas, consulta cómo hacer que el código sea ejecutable
- ¡Inspírate en la galería de libros Jupyter!
Key Points
Through Jupyter books, you’ll be able to integrate interactive components and code in your web pages