What brevier prints, and when
Every feature on this page carries its status. Available means it is in the code today. In 1.0 means it ships with the first release. Planned means it is decided but not scheduled.
Write the template
HTML and CSS templates
Status: AvailableThe page is HTML with CSS. No proprietary format, no drawing code.
Markdown for simple documents
Status: AvailableWrite a letter in Markdown with front matter. brevier eject turns it into the HTML it compiles to.
Data binding
Status: AvailableHandlebars syntax binds JSON into the template: values, loops and conditions.
Money, date and number formats
Status: AvailableAmounts and dates print the way German and English readers expect.
The visible middle
Status: Available--emit-html writes the exact HTML the engine received, and --format html renders a web view of the same document.
Templates checked against a schema
Status: AvailableA misspelt field fails the check before anything prints.
Print the page
German and English hyphenation
Status: AvailableCompound words break at their joins: Berufsunfähigkeits-versicherung, not Beruf-sunfähigkeit. Companies can add their own words.
Field types and a data cleaner
Status: AvailableEach field is text, multiline, rich or raw. Stray <br/>, and double spaces are cleaned per field.
Tables that span pages
Status: AvailableDeclared column widths and a header row that repeats on every page.
Übertrag
Status: AvailableThe running total is carried to the bottom of each page and to the top of the next.
Headers, footers and page counters
Status: AvailableSeite 3 von 12, in one editable block, on every page.
Contracts and fine print
Status: AvailableNumbered clauses, a table of contents with page numbers, and small print that stays readable. No heading is left alone at the bottom of a page.
DIN 5008 letters and invoices
Status: In 1.0The address sits in the envelope window, with fold marks and the reference line where German offices expect them.
One brand file
Status: In 1.0brand.yml holds the logo, colours and fonts. brand check finds missing glyphs and weak contrast.
PDF/A-3b for archiving
Status: In 1.0Every PDF is PDF/A-3b and passes veraPDF.
ZUGFeRD and Factur-X e-invoices
Status: In 1.0The invoice XML is bound from the same data as the page, so the two cannot disagree.
Bring what you have
from-code: start from your classes
Status: AvailableReads Java classes or Python models and writes a schema, a template and sample data.
Import JasperReports
Status: In 1.0.jrxml files become an HTML template and a JSON Schema.
Import Word
Status: In 1.0.docx files and their mail-merge fields become an HTML template and a JSON Schema.
Import AcroForm PDFs
Status: In 1.0The forms iText fills today become templates, with their fields as a schema.
Run it in your pipeline
brevier lint
Status: In 1.0Finds overflowing text, squeezed columns, hyphen runs and missing glyphs, each pointing at a line of the HTML. Runs in CI.
Three ways to install
Status: Availablepip, a Docker image, or a one-line script for Linux, macOS and Windows.
brevier preview
Status: In 1.0Re-renders in the browser every time you save.
brevier serve
Status: In 1.0Runs the engine as a service for your applications.
