Login Sign up

Reproducible, single-sourced tutorial website and eBook with Jupyter notebooks

Eric Ma

Audience level:

Brief Summary

Network Analysis Made Simple is a tutorial series that I have taught alongside others since 2015. With my co-instructor, Mridul, we recently revamped the repository to provide a continuously rebuilt website and eBook, while linking it with executable computing environments. This talk will show how we did it.


In this talk, I will describe how we used Jupyter notebooks and a collection of other tooling to reproducibly build teaching material for Network Analysis Made Simple tutorial series. In here, we will go through how we:

  1. decided to target Jupyter notebooks and Markdown files as our content source of truth,
  2. used mkdocs, mkdocs-material, and mknotebooks to compile the notebooks and Markdown files into a searchable static site,
  3. developed a custom script prototyped in a Jupyter notebook to convert the content into leanpub-flavoured markdown (LFM) for self-publishing,
  4. utilized Travis CI to continually build the notebooks and LeanPub source files.
  5. leveraged Binder to provide an executable environment for our students to learn on.

Finally, I will comment on where this process was made easy, and where the rough spots were, for authoring executable book content.