A small shim to use jupyter’s nbconvert as vignette
engine and Jupyter notebooks as vignette sources.
To get started, create a notebook in the vignettes/
directory of your package, and a .ipynbmeta file of the
same name next to it.
E.g. next to the notebook vignettes/floob.ipynb, create
vignettes/floob.ipynbmeta:
%\VignetteIndexEntry{About Floob}
%\VignetteEngine{nbconvertR::nbconvert}Don’t forget VignetteBuilder: nbconvertR in your
DESCRIPTION file!
There are some customization options available that you can put into
your .ipynbmeta file.
You can use custom templates via
%\VignetteTemplate{<format>}{<filename>}.
E.g. %\VignetteTemplate{latex}{floob.tplx} will result
in nbconvert --template floob.tplx ... being called when
converting to LaTeX.
Another mighty customization option are preprocessors:
%\VignettePreprocessors{<format>}{<module>.<Preproc>[, ...]}
This will pass
--<Format>Exporter.preprocessors=["<module>.<Preproc>",...]
to nbconvert. It’s possible to specify multiple
comma-separated preprocessors in one line.
The system requirements include nbconvert and
pandoc.
nbconvert
can easily be installed with the usual python package managers:
pip install nbconvert or
conda install nbconvert. At least Arch Linux users can find
it in the official repositories:
pacman -S jupyter-nbconvert
Pandoc is in the repositories of most linux distributions
(e.g. apt-get install pandoc or
pacman -S pandoc) and Homebrew
for OS X (brew install pandoc), and has windows and OS X
installers for each release (Download links are below the release
notes). Otherwise look here.