Referenz
Feldtypen
Die vier Feldtypen von Brevier, was jeder mit Leerraum und Markup macht, und wie ein Schema sie festlegt.
Auf dieser Seite
Ein Feldtyp legt fest, was in einem Wert stehen darf. Er legt auch fest, was
mit Leerraum und Markup geschieht, bevor der Wert auf die Seite kommt. text
ist der Standard.
| Feldtyp | Eingabe | Ausgabe | Wirkung |
|---|---|---|---|
text |
"Anna <b>Berg</b>\n" |
Anna <b>Berg</b> |
Folgen von Leerzeichen und Zeilenumbrüchen werden zu einem Leerzeichen. Die Enden werden gekürzt. Markup wird maskiert. |
multiline |
"Line 1\nLine <b>2</b>" |
Line 1<br>Line <b>2</b> |
Ein Zeilenumbruch wird zu <br>. Anderes Markup wird maskiert. Für Adressen und Notizen. |
rich |
"<b>bold</b> <script>x()</script><a href=\"javascript:x()\">link</a>" |
<b>bold</b> <a>link</a> |
Fett, kursiv, Listen, Links und Zeilenumbrüche bleiben. Anderes Markup wird entfernt. Für Text aus einem CMS. |
raw |
"<b>x</b>" |
<b>x</b> |
Der Wert bleibt unverändert. Nur für Markup, dem Sie vertrauen. |
Ein Name, der keiner der vier Typen ist, gilt als text.
Was rich behält
- Tags:
b,i,em,strong,ul,ol,li,a,br,pundspan. - Attribute:
hrefundtitlebeia, undclassbeipundspan. - Links: Ein
hrefmit dem Schemahttp,https,mailtooderteloder ohne Schema bleibt. Ein Link mit einem anderen Schema, etwajavascript:, verliert seinhref. - Ereignis-Attribute wie
onclickwerden entfernt. - Jedes andere Tag wird entfernt, sein Text bleibt.
scriptundstyleverlieren auch ihren Text.
Einen Feldtyp festlegen
Geben Sie dem Feld x-brevier-type im Schema der Vorlage: die Datei
rechnung.schema.json neben rechnung.html, oder das Schema, das
--schema nennt.
rechnung.schema.json
{
"type": "object",
"properties": {
"bemerkung": { "type": "string", "x-brevier-type": "multiline" }
}
}brevier pdf,brevier html,brevier lint,brevier preview,brevier serveund die Clients binden das Feld mit diesem Typ.- Ein Feld ohne
x-brevier-typeisttext. Das gilt auch für jedes Feld einer Vorlage ohne Schema. - Der Typ gehört zur Stelle des Felds im Schema, nicht zu seinem Namen.
kunde.namekannrichsein, währendlieferant.nametextbleibt. - Der Front-Matter-Block
fields:, Kopf- und Fußzeile auspage:und der Python-BuilderPdfnutzen noch keine Feldtypen: ihre Felder sindtext.