6. Interaction with Documenter.jl
Literate can be used for any purpose, it spits out regular markdown files, and notebooks. Typically, though, these files will be used to render documentation for your package. The generators (Literate.markdown
, Literate.notebook
and Literate.script
) supports a keyword argument documenter
that lets the generator perform some extra things, keeping in mind that the source code have been written with Documenter.jl in mind. So let's take a look at what will happen if we set documenter = true
:
Literate.markdown
:
- The default code fence will change from
to Documenters```julia # code ```
@example
blocks:```@examples $(name) # code ```
- The following
@meta
block will be added to the top of the markdown page, which redirects the "Edit on GitHub" link on the top of the page to the source file rather than the generated.md
file:```@meta EditURL = "$(relpath(inputfile, outputdir))" ```
Literate.notebook
:
- Documenter style
@ref
s,@extref
s and@id
will be removed. This means that you can use@ref
,@extref
and@id
in the source file without them leaking to the notebook. - Documenter style markdown math
is replaced with notebook compatible```math \int f dx ```
$$ \int f dx $$
- Whereas Documenter requires HTML blocks to be escaped
the output to a notebook markdown cell will be raw HTML```@raw html <tag>...</tag> ```
<tag>...</tag>
Literate.script
:
- Documenter style
@ref
s,@extref
s and@id
will be removed. This means that you can use@ref
,@extref
and@id
in the source file without them leaking to the script.