This module allows you to export an org-file to an Ipython notebook. Python and R notebooks are currently supported. It is not currently possible to mix these languages.
The Jupyter/Ipython notebooks are ultimately just json files. This module parses an org-file, and creates json files that represent them. The parsing is rudimentary. Jupyter notebooks only have two basic cells: text and code. This module tries to parse the org-file into those two kinds of cells.
See this example org-file: ./example.org and the corresponding ipynb: ./example.ipynb.
(require 'ox-ipynb)
This will install a new export menu titled “Export to jupyter notebook” with the sub-options to export to a buffer, to a file, to a file and open, and to slides and open.
See ./ipynb-slideshow.org to see how to make a slideshow out an org-file.
It is probably possible to add new languages by adding to the variables ox-ipynb-kernelspecs
and ox-ipynb-language-infos
. These were reverse-engineered to make the json metadata. I do not know what the minimal setup for this is required and suggest adapting these variables by example.
You can use org-ref to add scientific references. To make it work, you should set this variable.
(setq ox-ipynb-preprocess-hook '((lambda () (org-ref-csl-preprocess-buffer 'html))))
Then the citations and bibliography will be replaced by CSL rendered citations.