I only used Pluto among those – and it works quite well for what it supports. Ie, no fancy complex layouts, basically single-column text + code (can be hidden) + code results, but these parts work smoothly. Exports to static HTML.
Formatted text is typically done with markdown, code results can be interpolated into it. This part isn’t really Pluto-specific, Pluto just displays whatever your code returns – be it the default md"..." macro or another markdown/html library.
I haven’t try them all, but I think the first distinction should come on how much important is the text in relation to the code.
If the text is predominant, say a scientific paper, often solutions that are in markdown with embedded “chunks” of code are more practical.
At the opposite, if code is the predominant part, say a tutorial on a particular library, solutions where markdown comments/strings are “embedded” in the code are easier to work with (for these cases I use Literate.jl).
Quarto gives you the greatest variety of output options—book, website, slides, etc. It also has the greatest variety of ways to tweak layout and presentation. A lighter, Julia only, alternative is Franklin.jl. I haven’t used TypstJlyfish.jl, but did a code-heavy book in Typst, but not with code integration. Think of Typst as a LaTeX alternative. BonitoBook is still early days, and I haven’t used it much yet. Weave.jl will give you an engine but leaves most of the formatting work to you.
Quarto is the best tool I’ve found for presentations. I don’t think it can interpolate code results into math, though; only into Markdown (and that in a limited fashion).
I just tested it and, indeed, interpolation into math works fine. Here’s an example:
---
title: "Test"
format:
html:
engine: julia
---
## Interpolation test
```{julia}
x = 5
```
Into text: Variable `x` is equal to `{julia} x`.
Into math: $x = `{julia} x`$.
I recommend Handcalcs.jl for this. It works with notebooks and Quarto currently and potentially Typst in the future.
I did not have good luck with Weave, so I’d drop that option.
Then the rest are on a spectrum:
Pretty —————————— Simple
Typst > Quarto > BonitoBook > Pluto