Migration to version 2

There were a few incompatible changes in Bard 2.x. To convert your project to Bard 2.x, perform the following updates:

bard.toml version

The bard.toml file now contains an explicit version field corresponding to the program’s major version. Add the following line at the top of the file:

version = 2

PDF format and post-processing

In bard 1.x, .tex files were generated and rendered as PDFs using the process field. This is now done by Bard automatically. The tex format is replaced by the pdf format, and the process field is no longer recognized.

To migrate a PDF [[output]]:

  • Specify a file with a .pdf extension.
  • If you used an explicit format field, change it to "pdf".
  • Remove the process field. If you used the process field for a purpose other than TeX invocation, see Scripts.
  • Optionally specify ToC sorting.


The new default template now relies on the output/fonts directory containing font files. To obtain it, navigate to an empty directory and call bard init. Then you can copy the output/fonts directory to your existing project’s output directory.


The Hovorka format must now be explicitly defined to be distinguished from the general XML AST output. Add the following in the relevant [[output]]:

format = "hovorka"


If you are using the default template without changes, it is recommended to delete it as Bard now, by default, uses built-in templates without saving them to disk.

Templates have been changed significantly between the two major versions. If you used customizations, please refer to Templates - upgrading. The default templates can also be obtained by specifying a non-existing file in the output’s template field - the file will be generated with default template content.


The book.backmatter option in bard.toml is no longer recognized by the default templates. To customize backmatter, modify the relevant template itself.

HTML file extensions

Alternative HTML extension – .htm, .xhtml, and .xht – are no longer auto-detected, it is recommended to use .html.