Working with Jupyter notebooks
Weaving from Jupyter notebooks
Weave supports using Jupyter notebooks as input format, this means you can weave notebooks to any supported formats. You can't use chunk options with notebooks.
weave("notebook.ipynb")
Output to Jupyter notebooks
As of Weave 0.5.1. there is new notebook
method to convert Weave documents to Jupyter notebooks using nbconvert. The code is not executed by Weave and the output doesn't always work properly, see #116.
Weave.notebook
โ Function.notebook(source::String, outpath=:pwd, timeout=-1, nbconvertoptions="")
Convert Weave document source
to Jupyter notebook and execute the code using nbconvert. Requires IJulia. Ignores all chunk options
out_path
: Path where the output is generated. Can be::doc
: Path of the source document,:pwd
: Julia working directory,"somepath"
: Path as a String e.g"/home/mpastell/weaveout"
timeout
: nbconvert cell timeout in seconds. Defaults to -1 (no timeout)nbconvert_options
: string of additional options to pass to nbconvert, such as--allow-errors
You might wan't to use the convert_doc
method below instead and run the code in Jupyter.
Converting between formats
You can convert between all supported input formats using the convert_doc
function.
To convert from script to notebook:
convert_doc("examples/FIR_design.jl", "FIR_design.ipynb")
and from notebooks to markdown use:
convert_doc("FIR_design.ipynb", "FIR_design.jmd")
Weave.convert_doc
โ Method.convert_doc(infile::AbstractString, outfile::AbstractString; format = nothing)
Convert Weave documents between different formats
infile
= Name of the input documentoutfile
= Name of the output documentformat
= Output format (optional). Detected from outfile extension, but can be set to"script"
,"markdown"
,"notebook"
or"noweb"
.