Freedom251 › Documentation Generators
Weave.jl

What Weave.jl is
Weave.jl is a free, MIT-licensed Julia tool for scientific report generation and literate programming. It executes code in source documents and places resulting values and figures into generated reports. Inputs can be Markdown, Noweb, Jupyter notebooks, or Julia scripts. Output options include HTML, PDF, GitHub Markdown, Jupyter notebooks, MultiMarkdown, AsciiDoc, and reStructuredText. Weave.jl can capture figures produced by Plots.jl or Gadfly.jl. Code caching is disabled by default, but users can cache everything, select particular chunks, or refresh the cache. Documentation describes publishing through Julia or Pandoc and editor support in Juno and Visual Studio Code. Direct PDF weaving requires LaTeX. Installation uses Julia’s package manager with `Pkg.add("Weave")`. The project’s repository invites contributions through GitHub issues and pull requests. Its scope is centered on combining executable Julia code, explanations, and scientific outputs in reproducible document workflows.
Who it suits
Weave.jl suits Julia users creating scientific reports or literate programs from code-containing documents. It is useful for people who need multiple text, notebook, and markup output formats.
What it does well
- Executes code and captures figures
- Supports four source document types
- Many HTML, PDF, notebook, and markup outputs
- Optional caching for all or selected code
- MIT licensed and open source
What to know first
- Direct PDF output requires LaTeX
- Code caching is off by default
- Requires Julia package-manager installation
Verdict
Weave.jl provides a focused way to turn executable Julia documents into reports across many formats. Check the LaTeX requirement if PDF generation is central to your workflow.
Facts from Weave.jl's own pages
- Caching
- Code caching is off by default, with options to cache all code, selected chunks, or refresh the cache. · weavejl.mpastell.com, 4 Oct 2026
- Code execution
- It executes code in input documents and captures results and figures in generated documents. · weavejl.mpastell.com, 4 Oct 2026
- Inputs
- It supports Markdown, Noweb, Jupyter notebooks, and Julia scripts as input formats. · weavejl.mpastell.com, 4 Oct 2026
- Installation
- The README gives Julia's package manager as the installation method, using Pkg.add("Weave"). · github.com, 4 Oct 2026
- Integrations
- The documentation describes publishing through Julia or Pandoc and editor support in Juno and Visual Studio Code. · github.com, 4 Oct 2026
- Intended use
- The repository describes Weave as a tool for scientific reports and literate programming in Julia. · github.com, 4 Oct 2026
- License
- The GitHub repository identifies the project as MIT licensed. · github.com, 4 Oct 2026
- Outputs
- Supported output formats include HTML, PDF, GitHub Markdown, Jupyter notebooks, MultiMarkdown, AsciiDoc, and reStructuredText. · weavejl.mpastell.com, 4 Oct 2026
- PDF requirement
- The README says LaTeX is needed to weave directly to PDF. · github.com, 4 Oct 2026
- Plots
- It can capture figures from Plots.jl or Gadfly.jl. · weavejl.mpastell.com, 4 Oct 2026
- Purpose
- Weave is a scientific report generator and literate programming tool for Julia. · weavejl.mpastell.com, 4 Oct 2026
- Support
- The README invites users to contribute by opening GitHub issues or submitting pull requests. · github.com, 4 Oct 2026
Where Weave.jl stands on Freedom251
- Documentation Generators#35 of 37