Configuration

Publish stores all it’s configuration data within the Project.toml file. So long as you do not access arbitrary global data and maintain suitable [compat] bounds on packages where needed your Publish builds should be reproducible. If you’re needing fully reproducible environments then you should also be saving the Manifest.toml file to track exact versions of dependencies. For details on this topic please see the Pkg.jl docs on Manifest.toml files.

The heart of Publish’s configuration is the [publish] section of your Project.toml file. This is where everything related to Publish is stored. You’ve already seen some of it in action. Below we’ll go over what options are available when you need to customise your project.

Some features you can make use of via Publish’s configuration:

Common Settings

HTML-specific

These must be added to a [publish.html] section rather than directly to your [publish] section since they are “namespaced” to avoid conflicting with other keys.

If you’re adding your own CSS and JavaScript then you may want to completely disable inclusion of the default files. To do that you can set the following keys to [], an empty Vector.

PDF-specific

These settings must be added to a [publish.latex] section, similar to how the HTML ones above.

Tip

These aren’t configured in a [publish.pdf] section since they apply to the underlying LaTeX document rather than the PDF itself.

If any settings do get added to specifically target the PDF generator then they will be added under a new [publish.pdf] section in future.