Go to file
= b6031cd111 Added tests for plotjl/generic multimedia 2016-04-27 22:04:21 +03:00
bin Implement autodetecting output format 2016-04-22 16:16:12 +03:00
doc Update docs and Readme to reflect latest release 2016-04-24 16:24:15 +03:00
examples Generic svg and png handlers work 2016-04-27 15:10:26 +03:00
src Added tests for rich text, added display methods for markdown and latex 2016-04-27 21:52:55 +03:00
templates Make mathjax work with sef-contained pandoc, fix a bug in script reader 2016-04-22 13:18:33 +03:00
test Added tests for plotjl/generic multimedia 2016-04-27 22:04:21 +03:00
.gitignore Added tests for plotjl/generic multimedia 2016-04-27 22:04:21 +03:00
.travis.yml Update conda path in travis 2016-04-11 19:15:39 +03:00
LICENSE.md Renamed package to Weave,jl as discussed in mpastell:pull-request/54b50af2 2014-12-08 10:31:03 +02:00
NEWS.md Catching of rich output implemented, initial tests with DataFrames and HTML 2016-04-27 19:18:17 +03:00
README.md Tweak Readme 2016-04-26 00:43:00 +03:00
REQUIRE Fix to deserialing cached content. Caching now works as previously documented and tests pass 2016-04-23 19:19:38 +03:00

README.md

Weave

Build StatusCoverage Status

Weave is a scientific report generator/literate programming tool for Julia. It resembles Pweave and, Knitr and Sweave.

You can write your documentation and code in input document using Nowed or Markdown syntax and use weave function to execute to document to capture results and figures.

Current features

  • Noweb, markdown or script syntax for input documents.
  • Execute code as terminal or "script" chunks.
  • Capture Gadfly, PyPlot and Winston figures.
  • Supports LaTex, Pandoc, Github markdown, MultiMarkdown, Asciidoc and reStructuredText output
  • Publish markdown directly to html and pdf using Pandoc.
  • Simple caching of results

Usage

Run from julia using Gadfly for plots:

using Weave
weave(Pkg.dir("Weave","examples","gadfly_sample.mdw"))

If you have Pandoc installed you can also weave directly to html and pdf.

weave(Pkg.dir("Weave","examples","gadfly_md_sample.jmd"), informat="markdown",
  out_path = :pwd, doctype = "md2html")

Weave code and output

Documentation

Documenter.jl with MKDocs generated documentation:

Editor support

I have made language-weave package for Atom to do the syntax highlighting correctly.

Noweb documents work well with ESS as well, to set doc-mode for .mdw files to markdown and code to Julia you can do:

(defun mdw-mode ()
       (ess-noweb-mode)
       (setq ess-noweb-default-code-mode 'ess-julia-mode)
       (setq ess-noweb-doc-mode 'markdown-mode))

(setq auto-mode-alist (append (list (cons "\\.mdw$" 'mdw-mode))
                   auto-mode-alist))

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.