You can write your documentation and code in input document using Markdown, Noweb or ordinal Julia script syntax,
and then use
weave function to execute code and generate an output document while capturing results and figures.
- Publish markdown directly to HTML and PDF using Julia or Pandoc
- Execute code as in terminal or in a unit of code chunk
- Capture Plots.jl or Gadfly.jl figures
- Supports various input format: Markdown, Noweb, Jupyter Notebook, and ordinal Julia script
- Conversions between those input formats
- Supports various output document formats: HTML, PDF, GitHub markdown, Jupyter Notebook, MultiMarkdown, Asciidoc and reStructuredText
- Simple caching of results
Citing Weave: Pastell, Matti. 2017. Weave.jl: Scientific Reports Using Julia. The Journal of Open Source Software. http://dx.doi.org/10.21105/joss.00204
You can install the latest release using Julia package manager:
using Pkg Pkg.add("Weave")
using Weave # add depencies for the example using Pkg; Pkg.add(["Plots", "DSP"]) filename = normpath(Weave.EXAMPLE_FOLDER, "FIR_design.jmd") weave(filename, out_path = :pwd)
If you have LaTeX installed you can also weave directly to pdf.
filename = normpath(Weave.EXAMPLE_FOLDER, "FIR_design.jmd") weave(filename, out_path = :pwd, doctype = "md2pdf")
Weave.EXAMPLE_FOLDER just points to
Documenter.jl with MKDocs generated documentation:
Install language-weave to add Weave support to Juno. It allows running code from Weave documents with usual keybindings and allows preview of html and pdf output.
You can contribute to this package by opening issues on GitHub or implementing things yourself and making a pull request. We'd also appreciate more example documents written using Weave.
You can see the list of contributors on GitHub: https://github.com/JunoLab/Weave.jl/graphs/contributors . Thanks for the important additions, fixes and comments.