Use rich output for Jupyter notebooks
Problem to solve
Not all features of Jupyter notebooks display properly in GitLab
Integrate the nbviewer.js library to GitLab to solve these rendering issues for good. Something like a w3 would be enough to assess.
The linked notebook below is from a Github repo that the Jupyter team often use to demonstrate the latest capabilities. This
Rich Output.ipynb file is therefore a good benchmark against which to measure the rendering capabilities of Jupyter Notebooks within Gitlab.
I've reproduced some screenshots of where things are broken. Gitlab is on the left, Github in the middle and nbviewer on the right. The rendering within Gitlab is generally good, and in some cases better than Github, but there are still a few glitches, namely:
Embedded images have problems rendering and when they do, they appear to show a clipped version of the original.
Latex rendering is not working at all.
Embedded web-page links are not working ... the
nbviewerrendering on the right is correct
|Embedded Images GL||Embedded Images GH||Embedded Images nbv|
|LaTeX GL||LaTeX GH||LaTeX nbv|
|Embedded webpage GL||Embedded webpage GH||Embedded webpage nbv|
Jupyter notebooks are documents that contain live code, equations, visualizations, and narrative text. They are widely use for data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and more. They are capable of using "rich output" to show an object's rendered representation, such as HTML, JPEG, SVG, or LaTeX files. However, in order to take advantage of the rich output, users had to open the notebook inside Jupyter.
GitLab 13.8 now shows these files types with "rich output", showing you the rendered version of the file. This is an excellent way both to preview changes to your files as well as consume Jupyter notebook without ever having to leave GitLab.