Go to file
Viral B. Shah 59edca786d
Create FUNDING.yml
2019-06-26 17:44:20 -04:00
.github Create FUNDING.yml 2019-06-26 17:44:20 -04:00
bin Remove plot library hack and use Requires instead 2018-07-26 20:32:10 +03:00
doc allow configuration of jupyter command while weaving notebooks, fixes #194 2019-06-19 10:26:13 -07:00
examples Add example beamer document 2019-03-10 20:10:30 +02:00
paper Updated citation #85 2017-03-15 17:07:25 +02:00
src Merge pull request #221 from thofma/master 2019-06-26 12:10:46 +02:00
templates Decrease item and p spacing. Closes #162 2019-02-28 10:49:55 +02:00
test Merge pull request #221 from thofma/master 2019-06-26 12:10:46 +02:00
.gitattributes Fix handling of \r #72 2016-12-22 21:40:07 +02:00
.gitignore allow configuration of jupyter command while weaving notebooks, fixes #194 2019-06-19 10:26:13 -07:00
.travis.yml Documenter build (#191) 2019-03-04 15:10:03 +02:00
LICENSE.md Update LICENSE.md 2017-03-13 18:38:06 +02:00
NEWS.md Fix mimetype order for md2html 2017-03-14 18:54:03 +02:00
Project.toml bump version number for patch release 2019-06-19 10:40:25 -07:00
README.md Mention VS Code extension in README 2019-06-10 11:23:01 -07:00
REQUIRE v0.7.0 2019-01-29 09:01:11 +02:00
appveyor.yml Remove 0.7 from tests 2019-01-03 15:46:12 +02:00

README.md

Weave

Build Status Build status Coverage Status

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 and figures.

Current features

  • Publish markdown directly to html and pdf using Julia or Pandoc markdown.
  • Markdown, script of Noweb syntax for input documents.
  • Execute code as terminal or "script" chunks.
  • Capture Plots.jl or Gadfly.jl figures
  • Supports LaTex, Pandoc, Github markdown, MultiMarkdown, Asciidoc and reStructuredText output
  • Simple caching of results
  • Convert to and from IJulia notebooks

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

Weave code and output

Installation

You can install the latest release using Julia package manager:

using Pkg
Pkg.add("Weave")

Usage

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")

Documentation

Documenter.jl with MKDocs generated documentation:

Editor support

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.

The Julia extension for Visual Studio Code adds Weave support to Visual Studio Code.

Contributing

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.

Contributors

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.

Example projects using Weave