Referenz
Kommandozeile
Jeder Brevier-Befehl und seine Optionen: pdf, html, preview, lint, serve, import, batch, compile, template, scaffold, sample, from-template, licence.
Auf dieser Seite
brevier --version
brevier --help
brevier <befehl> --help| Befehl | Was er tut |
|---|---|
pdf |
Setzt eine Vorlage als PDF. |
html |
Setzt eine Vorlage als HTML. |
preview |
Zeigt eine Vorlage im Browser und lädt bei Änderungen neu. |
lint |
Setzt eine Vorlage und listet die Layout- und Schriftprobleme, jedes mit Seite und Zeile des erzeugten HTML. |
serve |
Führt die Engine als HTTP-Dienst oder stdio-Prozess aus. |
import |
Übernimmt Vorlagen aus Word, JasperReports oder BIRT. |
batch pdf, batch html |
Setzt jede Vorlage in einem Ordner. |
compile |
Schreibt das HTML, das aus einer Markdown-Vorlage entsteht. |
template |
Schreibt eine erste Vorlage und Beispieldaten aus einem Schema. |
scaffold |
Schreibt ein Schema, eine erste Vorlage und Beispieldaten aus einem JSON-Datensatz. |
sample |
Schreibt Beispieldaten aus einem Schema, sonst nichts. |
from-template |
Schreibt das Schema, das eine Vorlage braucht. |
licence |
Zeigt Firma, Typ, Schlüssel-ID, Enddatum und Resttage deines Lizenzschlüssels. |
Setzt eine HTML- oder Markdown-Vorlage als PDF.
brevier pdf rechnung.md --data rechnung.json -o rechnung.pdf| Option | Bedeutung |
|---|---|
-o, --output |
Die Datei, die entsteht. Pflicht. |
--data |
Eine JSON-Datei mit den Daten. |
--theme |
Ein eingebautes Theme: print-base, web oder din5008. |
--style |
Eine CSS-Datei. Mehrfach möglich; eine spätere Datei gewinnt. |
--schema |
Die Schema-Prüfung: true (Standard, nutzt rechnung.schema.json neben der Vorlage), false der Pfad einer Schema-Datei oder das Schema als JSON-Text. |
--base-url |
Der Ordner oder die URL, woher Bilder und Schriften mit relativem Pfad gelesen werden. Standard: der Ordner der Vorlage. |
--debug |
Schreibt zusätzlich das HTML und CSS, das die Engine bekommen hat, als .debug.html und .debug.css. |
--einvoice |
Bettet die Rechnung zusätzlich als Daten ein, in der Datei factur-x.xml (ZUGFeRD / Factur-X). Siehe unten. |
Der Befehl endet mit Exit-Code 1, wenn etwas nicht stimmt: kaputtes JSON, ein fehlendes Feld, ein Schema-Fehler oder eine fehlende CSS-Datei. Die Meldung sagt, was falsch ist, und wo möglich, in welcher Zeile.
E-Rechnung
Jedes PDF, das Brevier schreibt, ist PDF/A-3b. Mit --einvoice enthält das
PDF außerdem die Rechnung als XML-Datei nach der Norm EN 16931. Die Software
des Empfängers kann sie dann ohne Abtippen verbuchen.
brevier pdf rechnung-zugferd.html --data rechnung.json --einvoice -o rechnung.pdfBrevier schreibt das XML aus denselben --data wie die Seite. Die Daten
müssen dem Rechnungsschema folgen. Bevor Brevier die Datei schreibt, prüft
es, ob die Beträge stimmen. Wenn nicht, bricht der Befehl ab und nennt das
Feld. Die Vorlage rechnung-zugferd zeigt eine vollständige
Rechnung.
html
Setzt eine Vorlage als HTML, mit denselben Optionen wie pdf, außer
--einvoice. Das HTML ist
Produktausgabe: siehe Ausgabe und Tests.
brevier html rechnung.md --data rechnung.json -o rechnung.htmlpreview
Zeigt eine Vorlage im Browser an und lädt die Seite automatisch neu, sobald Sie Vorlage, Daten oder Stylesheet auf der Festplatte speichern.
brevier preview rechnung.html --data rechnung.json --port 5151 --open| Option | Bedeutung |
|---|---|
<vorlagendatei> |
Eingabedatei als HTML oder Markdown. Pflicht. |
--data |
JSON-Datei mit den Daten. Standard: sample.json neben der Vorlage, falls vorhanden. |
--style, --css |
Zusätzliche CSS-Stylesheets. Mehrfach möglich. |
--theme |
Ein eingebautes Theme: print-base, web oder din5008. |
--port |
Port für den Server. Standard: 5151. |
--open, --no-open |
Öffnet den Browser beim Start oder nicht. Standard: --no-open. |
lint
Setzt eine Vorlage und listet die Probleme auf den Seiten: Text, der breiter ist
als sein Behälter (overflow), eine Tabellenspalte, die schmaler ist als ihre
angegebene Mindestbreite (table), ein Zeichen, das der Schrift fehlt (glyph),
eine Überschrift allein am Seitenende (orphan), eine Tabellenzeile, die über
einen Seitenumbruch reißt (split), und Trennzeilen, die die Trennregeln
verletzen (hyphens). Es schreibt kein PDF. Eine Spalte gibt ihre Mindestbreite
mit data-min-width auf ihrem <col> an: siehe die Lint-Anleitung.
brevier lint rechnung.html --data rechnung.json --debug-dir out/Jedes Problem hat eine Zeile: die Seite, die Art, was falsch ist, und hinter →
die Datei und Zeile des erzeugten HTML, die die Ursache enthält.
rechnung.html
page 2 overflow "DE893704004405320130…" wider than its box (106.1 > 38.4 mm) → out/rechnung.debug.html:412
→ 1 problem. exit code 1
debug file: out/rechnung.debug.html (holds the document's data)| Option | Bedeutung |
|---|---|
<input_file> |
Die Vorlage als .html oder .md. Pflicht. |
--data |
JSON-Datei mit den Daten. |
--theme |
Ein eingebautes Theme: print-base, web oder din5008. |
--style |
Eine CSS-Datei. Mehrfach möglich; eine spätere Datei gewinnt. |
--debug-dir |
Ordner für das erzeugte HTML. Standard: der Ordner der Vorlage. |
--schema |
Die Schema-Prüfung der Daten: true (Standard, nutzt <stem>.schema.json), false, der Pfad einer Schema-Datei oder das Schema als JSON-Text. |
--format |
text (Standard) oder json. Mit json ist die Ausgabe eine Liste mit einem Objekt je Problem, mit den Schlüsseln page, kind, message, file und line. |
Der Befehl schreibt immer rechnung.debug.html und rechnung.debug.css, weil ein
Problem ohne die Datei nicht sagt, wo es liegt. Die Dateien enthalten die Daten
des Dokuments: Geben Sie sie nicht weiter, wenn die Daten privat sind.
Exit-Code 0: keine Probleme. Exit-Code 1: mindestens ein Problem, oder eine Vorlage,
die sich nicht setzen lässt. Exit-Code 2: ein falscher Dateityp oder --format.
serve
Führt die Engine als HTTP-Dienst oder stdio-Prozess aus. Die Client-Bibliotheken verbinden sich im Produktivbetrieb mit diesem Dienst.
brevier serve --templates templates/ --port 8080| Option | Bedeutung |
|---|---|
--templates |
Ordner mit Unterordnern als Vorlagen, jeweils als <name>/<name>.html oder .md. Pflicht. |
--host |
Adresse, auf der der Dienst lauscht. Der Standard nimmt nur Verbindungen von diesem Rechner an. Der Dienst hat weder TLS noch Anmeldung: Stellen Sie ein Gateway davor, bevor Sie ihn freigeben. Standard: 127.0.0.1. |
--port |
Port für den Dienst. Standard: 8080. |
--allowed-host |
Ein Hostname, außer diesem Rechner, den eine Anfrage im Host-Header nutzen darf. Nötig für den Namen, den ein Gateway oder ein Container-Netz nutzt. Kann mehrfach stehen. Jeder andere Name bekommt 403. |
--stdio |
Liest eine JSON-Anfrage pro Zeile von der Standardeingabe und schreibt eine Antwort pro Zeile auf die Standardausgabe. |
import
Übernimmt bestehende Vorlagen aus Word (.docx), JasperReports (.jrxml) oder BIRT (.rptdesign) und erzeugt eine HTML-Vorlage, ein CSS-Stylesheet und ein JSON-Schema. Ein Import von .jrxml oder .rptdesign schreibt auch sample.json. Für jedes Element, das er weglässt, gibt er eine Zeile Not converted: line N: <Element> aus. Vorlage importieren listet, was er umwandelt und nennt.
brevier import brief.docx -o templates/brief| Option | Bedeutung |
|---|---|
<eingabedatei> |
Zu importierende Datei (Word, JasperReports oder BIRT). Pflicht. Eine .pdf-Datei wird angenommen, aber es wird keine Datei geschrieben: der AcroForm-Import ist geplant. |
-o, --output |
Ausgabeordner für erzeugte Vorlagen und Schemata. |
--force |
Überschreibt vorhandene Vorlagendateien. Ohne die Option lehnt der Import das ab. |
batch
Setzt jede Vorlage in einem Ordner und seinen Unterordnern.
brevier batch pdf vorlagen/ -o ausgabe/
brevier batch html vorlagen/ -o ausgabe/ --pattern "*.md"Für jede Vorlage nimmt Brevier eine JSON-Datei mit demselben Namen als
Daten, wenn es eine gibt: aus rechnung.html und rechnung.json wird
ausgabe/rechnung.pdf. Die Ordnerstruktur bleibt erhalten.
| Option | Bedeutung |
|---|---|
-o, --output |
Der Ausgabeordner. Pflicht. |
--pattern |
Welche Dateien Vorlagen sind. Standard: *.html. |
--debug |
Wie bei pdf. |
compile
Schreibt das HTML, das aus einer Markdown-Vorlage entsteht, neben sie. Siehe Vorlagen.
brevier compile rechnung.md| Option | Bedeutung |
|---|---|
--force |
Ersetzt die HTML-Datei, wenn es sie schon gibt. |
template
Schreibt eine erste Vorlage, ein Stylesheet und Beispieldaten aus einem Schema. Siehe Schema und Code.
brevier template --schema rechnung.schema.json| Option | Bedeutung |
|---|---|
--schema |
Die Schema-Datei. Pflicht. Ihr Name vor .schema.json benennt die Dateien. |
--format |
html (Standard) oder md. |
--theme |
Das Theme, das die Vorlage nennt. Standard: print-base. |
--force |
Ersetzt Dateien, die es schon gibt. |
scaffold
Schreibt ein Schema, eine erste Vorlage und Beispieldaten aus einem JSON-Datensatz, zum Beispiel aus einer echten Rechnung Ihres Systems.
brevier scaffold --from rechnung.json| Option | Bedeutung |
|---|---|
--from |
Die JSON-Datei mit einem Datensatz. Pflicht. |
--name |
Der Basisname der Dateien. Standard: der Name der --from-Datei. |
--format |
html (Standard) oder md. |
--theme |
Das Theme, das die Vorlage nennt. Standard: print-base. |
--force |
Ersetzt Dateien, die es schon gibt. |
Es schreibt rechnung.schema.json, rechnung.html, rechnung.css und
sample.json.
sample
Schreibt Beispieldaten aus einem Schema. Es schreibt und ändert weder eine Vorlage noch ein Stylesheet.
brevier sample --schema rechnung.schema.json| Option | Bedeutung |
|---|---|
--schema |
Die Schema-Datei. Pflicht. |
-o, --output |
Die Datei, die geschrieben wird. Standard: sample.json neben dem Schema. |
--force |
Ersetzt die Datei, wenn es sie schon gibt. |
from-template
Schreibt das Schema, das eine Vorlage braucht, aus den {{ }}-Tags darin.
brevier from-template police.html| Option | Bedeutung |
|---|---|
--lang |
Schreibt zusätzlich Java-Klassen, sample.json und ein Beispiel: java8 oder java17. |
--package |
Mit --lang: das Java-Paket, zum Beispiel com.acme.police. |
--force |
Ersetzt Dateien, die es schon gibt. |
licence
Zeigt den Lizenzschlüssel, den Brevier aus BREVIER_LICENCE_KEY liest: die Firma,
den Typ (production oder trial), die Schlüssel-ID, das Enddatum und die Resttage.
Der Befehl läuft auch ohne Schlüssel. Bei einem fehlenden, ungültigen oder abgelaufenen
Schlüssel nennt er den Grund und endet mit Exit-Code 1.
brevier licenceJeder andere Befehl außer --help und --version endet mit Exit-Code 1 und schreibt
keine Datei, solange der Schlüssel nicht gültig ist. Einen Testschlüssel für 30 Tage gibt es
unter brevier.dev/pricing.