Weave is a scientific report generator/literate programming tool for Julia. It resembles Pweave, Knitr, rmarkdown and Sweave.
You can write your documentation and code in input document using Noweb,
Markdown, Script syntax and use
weave function to execute to document to capture 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")
Run from julia using Plots.jl for plots:
#First add depencies for the example using Pkg; Pkg.add.(["Plots", "DSP"]) #Use Weave using Weave weave(joinpath(dirname(pathof(Weave)), "../examples", "FIR_design.jmd"), out_path=:pwd)
If you have LaTeX installed you can also weave directly to pdf.
weave(joinpath(dirname(pathof(Weave)), "../examples", "FIR_design.jmd"), out_path=:pwd, doctype="md2pdf")
Documenter.jl with MKDocs generated documentation:
I have made language-weave package for Atom to do the syntax highlighting correctly.
I will probably add new features to Weave when I need them myself or if they are requested and not too difficult to implement. You can contribute by opening issues on Github or implementing things yourself and making a pull request. I'd also appreciate example documents written using Weave to add to examples.
You can see the list of contributors on Github: https://github.com/mpastell/Weave.jl/graphs/contributors. Thanks for the important additions, fixes and comments.
1 day ago