WIP: Add IPython notebook preview

What does this MR do?

Adds support for previewing IPython notebooks using notebookjs library. IPython notebook is detected using extension .ipynb. If such file is opened in repository the notebook preview is rendered instead of plain JSON. You can switch back and forth between the rendered preview and the source.

Why was this MR needed?

To address #2508 (closed)

Screenshots (if relevant)

Valid notebook preview


Invalid notebook


Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes #2508 (closed)

Merge request reports