This notebook is part of the nbsphinx
documentation: https://nbsphinx.readthedocs.io/.
By default, Jupyter notebooks are stored in files with the suffix .ipynb
,
which use the JSON format for storage.
However, there are libraries available which allow storing notebooks in different formats, using different file suffixes.
To use a custom format in nbsphinx
, you can specify the
nbsphinx_custom_formats
option in your conf.py
file.
You have to provide the file extension
and a conversion function that takes the contents of a file (as a string)
and returns a Jupyter notebook object.
nbsphinx_custom_formats = {
'.mysuffix': 'mylibrary.converter_function',
}
The converter function can be given as a string or as a function object.
One example for such library is jupytext, which allows storing the contents of Jupyter notebooks in Markdown and R-Markdown, as well as plain Julia, Python and R files.
Since its conversion function takes more than a single string argument,
just using the function name 'jupytext.reads'
will not work.
We have to create a function object,
and one way to do that is using a lambda
function like this:
import jupytext
nbsphinx_custom_formats = {
'.Rmd': lambda s: jupytext.reads(s, '.Rmd'),
}
You can of course use multiple formats by specifying multiple conversion functions.