openmm / openmm-org

Content of https://openmm.org
Other
4 stars 11 forks source link

Add support for rendering Jupyter notebooks #25

Open jchodera opened 7 years ago

jchodera commented 7 years ago

I have prepared some Jupyter notebooks to help MD practitioners new to OpenMM get started: https://github.com/choderalab/openmm-tutorials

It would be great to include these in the OpenMM Tutorials page.

One approach is to use jupyter nbconvert to convert them to Markdown, but this loses a lot of formatting of the output cells and graphical displays.

An alternative might be to add jekyll-jupyter-notebook support to the Jekyll static site renderer and just include the notebooks directly.

raimis commented 3 years ago

@Yoshanuikabundi idea from https://github.com/openmm/openmm-org/pull/45#issuecomment-845634994

Using Binder rather than Colab might be a solution to this. We cache the environment so that it loads quickly (much, much faster than installing via Conda) and doesn't have to include installation instructions, and we could convert the notebook to static HTML and embed it directly in the home page (or wherever). That way we can use our own theming and CSS, it doesn't have to look like a notebook at all. When a user wants to run their own code, they click a button that loads up the Binder notebook and have a fully installed system ready to go.

I'm working on something similar for OpenFF. You can see here that static web pages made from notebooks can render interactive widgets if prepared properly. Having an interactive 3D model of a prepared system ready to simulate might be more exciting than installation instructions :)

raimis commented 3 years ago

The best I can found for rendering Jupyter notebooks is https://github.com/jsvine/notebookjs. They have a demo to try https://jsvine.github.io/nbpreview/.

This should be sufficient for #66.

peastman commented 3 years ago

That looks nice.