Zum Hauptinhalt springen

Kapitel 3.14 · Teil II · Das Handwerk

Konfiguration: zusammengesetzte Seiten

Seitenvorlagen für zusammengesetzte Seiten: Rahmen, Gruppen, Dekoration, Vererbung und Varianten für rechte und linke Seiten, die Beschriftungsstile der Bildanker und die Warnungen, die eine Vorlage auslösen kann

Aktualisiert 2026-10-166 minIm Kapitel 3 Konfigurationenescadefritptzhjaar

Kurz gesagt

Diese Seite behandelt Seitenvorlagen. Eine Vorlage ist eine Seite, die in den Einstellungen gezeichnet wird: benannte Kästen, die Rahmen heißen, mit ihrer Lage, ihrer möglichen Größe und ihrem Aussehen. Das Markdown einer zusammengesetzten Seite füllt die Rahmen dann über ihre Namen, sodass der Text nie Positionen enthält und die Einstellungen nie Text. Eine Vorlage kann von einer anderen ausgehen und nur einige Rahmen ändern, und sie kann auf linken und rechten Seiten verschieden sein. Die Seite führt außerdem die Beschriftungsstile für Wörter auf Bildern auf sowie jede Warnung, die eine Vorlage auslösen kann, mit dem Weg, sie zu beheben.

#Seitenvorlagen

Eine zusammengesetzte Seite ist eine Seite, deren Form aus einer Seitenvorlage der Konfiguration stammt und deren Inhalt aus dem Markdown eines Blocks ::::page{template="…"}. Die Vorlage benennt Rechtecke, die Rahmen heißen; das Markdown schickt jedes Inhaltsstück über seinen Namen (seinen Slot) an einen Rahmen. Geometrie steht nie im Markdown, und Inhaltstext steht nie in der Vorlage. Die Eigenschaft pageTemplates enthält die Vorlagen des Buchs:

const config: PostextConfig = {
  calloutStyles: [{ id: 'caja-azul' }, { id: 'tab-titulo' }],
  pageTemplates: [
    {
      id: 'tema-cajas',
      decoration: {
        elements: [
          { kind: 'image', id: 'fondo', resourceId: '{attr.fondo}', decorative: true,
            placement: { anchor: { to: 'bleed', edge: 'top-left' }, size: { width: 'fill', height: 'fill' } } },
        ],
      },
      frames: [
        { name: 'titulo', takes: 'h1', style: 'tab-titulo' },
        { name: 'texto', flow: true },
        { name: 'dinero', style: 'caja-azul', padding: { right: { value: 62, unit: 'mm' } } },
        { name: 'dinero-fotos', layer: 2, width: { value: 60, unit: 'mm' },
          placement: { anchor: { to: '#dinero', edge: 'top-right' } } },
      ],
      groups: [
        { name: 'pagina', kind: 'stack', gap: { value: 6, unit: 'mm' }, frames: ['titulo', 'texto', 'dinero'] },
      ],
    },
  ],
};

Eine Vorlage, die nur ihre id und einen Rahmen festlegt, ist eine ganze Seite, deren Satzspiegel dieser Rahmen füllt. Alle anderen Felder sind optional:

EigenschaftTypStandardBeschreibung
idstringerforderlichDer Name, den ein Seitenblock anfordert (template="tema-cajas"). Eindeutig unter den Vorlagen: Eine zweite Vorlage mit derselben ID wird ignoriert.
namestringdie IDDer Name, den die Sandbox anzeigt. Das Layout liest ihn nie.
extendsstringkeineDie ID einer Vorlage, von der diese ausgeht. Siehe Vererbung und Varianten.
area'content' | 'trim' | 'bleed''content'Das Rechteck, auf das sich die Positionen der Rahmen beziehen. 'content' ist der Satzspiegel der Seite, auf linken und rechten Seiten gespiegelt wie der Fließtext; 'trim' ist die beschnittene Seite; 'bleed' die Seite mit ihrem Anschnitt.
grid{ columns, rows, columnGap?, rowGap? }keinsTeilt den Bereich in Zellen, sodass sich ein Rahmen oder eine Gruppe über eine Zelle platzieren lässt (grid: { col: 2, row: 1, cols: 2 }, ab 1 gezählt) statt über placement. Die Abstände sind standardmäßig 0.
framesFrameConfig[][]Die Rahmen in der Reihenfolge der Vorlage: In dieser Reihenfolge werden sie gemessen, und sie entscheidet bei Gleichstand. Siehe Rahmen.
groupsFrameGroupConfig[][]Stapel und Reihen von Rahmen, die sich Platz teilen. Siehe Gruppen.
decorationDesignSlotkeineBilder, Linien und Kästen, die mit der Seite gezeichnet werden, in der Elementsprache der Kopf- und Fußzeilen. Textelemente enthalten nur Platzhalter ({pageNumber}, {chapterTitle}, {attr.x} für ein Attribut des Seitenblocks). Ein Element kann an einem Rahmen oder einer Gruppe verankert werden ('#dinero') und bewegt sich dann mit. Die Dekoration wird nach den Rahmen gesetzt und verdrängt nie Text.
header, footerDesignSlot | falsegeerbtKolumnentitel und Seitenzahl der Seite. Nicht gesetzt, behält die Seite die ihres Kapitels; false blendet sie aus.
spreadbooleanfalseDie Vorlage beschreibt zwei gegenüberliegende Seiten, die wie ein einziges Blatt angelegt sind. Eine Doppelseite beginnt in einem Buch mit Schreibrichtung von links nach rechts immer auf einer linken Seite (in einem von rechts nach links auf einer rechten), und bei Bedarf wird davor eine leere Seite eingefügt.
gutterDimension0Auf einer Doppelseite der Streifen am Bund, den die Rahmen freihalten, sofern sie nicht crossGutter: true setzen.
variants{ recto?, verso? }keineÄnderungen für eine rechte (recto) oder eine linke Seite (verso), geschrieben wie die Vorlage selbst. Gemeint ist die physische Seite, daher funktionieren Bücher von links nach rechts und von rechts nach links gleichermaßen.
overflowTemplatestringdiese VorlageDie Vorlage der Seiten, die hinzukommen, wenn ein Rahmen auf der nächsten Seite weiterläuft (overflow.continueIn: 'next-page'). Nicht gesetzt, verwendet die hinzugefügte Seite diese Vorlage, in der nur die fortgesetzten Rahmen gefüllt sind.
bodyStylestringkeinsEin Absatzformat für den Text der Seite, wie es Überschriftenformate haben.
palettestringkeineEine abweichende Palette für die Seite, wie sie Überschriftenformate und Teile haben.
rolestring'composed'Die Seitenrolle, die Gestaltungselemente mit einem Filter pages sehen.

#Rahmen

Ein Rahmen ist ein benanntes Rechteck, das gesetzten Inhalt aufnimmt. Sein name ist der Slot, den das Markdown anfordert, und er ist in seiner Vorlage eindeutig (auch eine Gruppe kann nicht den Namen eines Rahmens tragen, da Anker beide auf dieselbe Weise benennen).

Ein Rahmen wird über seine Zelle grid platziert, wenn die Vorlage ein Raster hat, sonst über sein placement, das wie das eines Gestaltungselements funktioniert: ein Anker ('container' ist der Bereich, 'page', 'bleed' oder '#name' für einen anderen Rahmen oder eine Gruppe), eine Kante, ein Versatz und eine Größe. Ein Rahmen, der an einem anderen verankert ist, bewegt sich mit ihm. Ohne beides nimmt der Rahmen den ganzen Bereich ein.

EigenschaftTypStandardBeschreibung
namestringerforderlichDer Name des Slots.
placementElementPlacementder ganze BereichAnker, Kante, Versatz und Größe wie bei der Platzierung von Elementen. Wird ignoriert, wenn eine Rasterzelle den Rahmen platziert.
grid{ col, row, cols?, rows? }keineEine Zelle des Vorlagenrasters, ab 1 gezählt, über cols × rows Zellen (standardmäßig 1). Eine Zelle außerhalb des Rasters wird hineingeholt. Wird ignoriert, wenn die Vorlage kein Raster hat.
width, heightDimension | { percent } | 'auto' | 'fill''fill', 'auto'Eine feste Länge, ein Prozentsatz des Bereichs (0 bis 100), 'auto' (die eigene Größe des Inhalts) oder 'fill' (was bis zu der Kante bleibt, an der der Rahmen verankert ist). Nicht gesetzt, liest der Rahmen placement.size und dann den Standard: volle Breite, so hoch wie sein Inhalt. Ein Textrahmen braucht eine Satzbreite, daher ergibt die Breite 'auto' nur für einen Rahmen mit einem einzigen Bild Sinn (die Breite des Bilds bei der Höhe des Rahmens). Ein Wert, den die Engine nicht verwenden kann (eine negative Länge, eine unbekannte Einheit), gilt als Standard.
minWidth, maxWidth, minHeight, maxHeightDimensionkeineGrenzen für eine Größe 'auto' oder 'fill' und für den Platz, den eine Gruppe abgibt oder nimmt. Das Minimum hat Vorrang vor dem Maximum, und eine feste Größe außerhalb der Grenzen wird zwischen sie gebracht (frameMinMax warnt in beiden Fällen).
stylestringohne KastenDie ID eines Kastenstils: Rahmen werden mit Kastenstilen gezeichnet (Hintergrund, Kontur, Innenabstand, Streifen, Symbol, Beschriftungsreiter, Titel). Die Wörter eines Reiters kommen aus dem Markdown (:::frame{slot="dinero" label="El dinero"}). Die Kasteneinstellungen dazu, wo ein Kasten im Fließtext steht (placement, span, columns, width, fixed …), gelten für einen Rahmen nicht.
padding{ top?, right?, bottom?, left? }der des StilsÜberschreibt den Innenabstand des Stils Kante für Kante: zum Beispiel Platz für die Fotos, die über einem Kasten liegen.
layernumber1Die Zeichenreihenfolge. Die Dekoration ist Ebene 0; eine negative Ebene wird darunter gezeichnet.
rotatenumber0Grad, im Uhrzeigersinn. Der Kasten und sein Inhalt drehen sich gemeinsam.
verticalAlign'top' | 'middle' | 'bottom' | 'justify''top'Wo der Inhalt in einem Rahmen steht, der höher ist als er.
columns, columnGapnumber, Dimension1, der des StilsSpalten innerhalb des Rahmens.
exclude'none' | 'push''none''push': Der Text anderer Rahmen umfließt das Rechteck dieses Rahmens.
flowbooleanfalseDer Rahmen nimmt den Inhalt auf, der keinen Slot nennt.
takes'h1' … 'h6'keinsDer Rahmen nimmt die erste Überschrift dieser Ebene auf, die keinen Slot nennt; ein Seitentitel ist also einfach # Title am Anfang des Blocks.
nextstringkeinsEine Kette: Inhalt, der nicht passt, läuft im Rahmen dieses Namens auf derselben Seite weiter.
overflow.continueInstringkeinsWo Inhalt weiterläuft, der nicht passt: '#frame' (ein anderer Rahmen der Seite, wie next), 'next-page' (derselbe Rahmen auf einer Seite, die nach dieser hinzukommt) oder 'template:<id>' (eine Seite dieser Vorlage).
overflow.markstring | falseje nach SpracheDie Marke am Ende eines abgeschnittenen Stücks. Nicht gesetzt, das Fortsetzungswort der Dokumentsprache (wie bei geteilten Tabellen); false setzt keine.
fit.shrinkTextbooleantrueWenn nichts anderes den Inhalt passend macht, darf sein Text kleiner gesetzt werden.
fit.minScalenumber0.9Der kleinste Textmaßstab, über 0 und höchstens 1 (ein größerer Wert gilt als 1).
fit.scaleImages, fit.imageMinScaleboolean, numbertrue, 0.8Ob die Bilder im Rahmen kleiner gesetzt werden dürfen, und bis zu welchem Maßstab.
pinbooleanfalseDer Rahmen bewegt sich nie und ändert nie seine Größe, für einen Kasten, der an der Illustration ausgerichtet bleiben muss. Eine Gruppe ordnet sich um ihn herum an.
grow, shrink, prioritynumber0Wie der Rahmen den Platz seiner Gruppe teilt: grow nimmt einen Anteil am freien Platz, shrink lässt den Rahmen Platz zurückgeben, und Rahmen mit niedrigerer priority geben ihn zuerst ab.
optionalbooleanfalseKeine Warnung, wenn das Markdown dem Rahmen nichts schickt.
crossGutterbooleanfalseAuf einer Doppelseite darf der Rahmen den Streifen am Bund überqueren.
writingMode, direction'horizontal-tb' | 'vertical-rl', 'ltr' | 'rtl'die der SeiteEin senkrechter Kasten auf einer waagerechten Seite oder umgekehrt.
removebooleanfalseIn einer Vorlage, die eine andere erweitert, oder in einer Variante: entfernt den geerbten Rahmen dieses Namens.

#Gruppen

Eine Gruppe ist ein Stapel (von oben nach unten) oder eine Reihe (vom Anfang zum Ende) von Rahmen, die sich Platz teilen und sich gemeinsam bewegen. Innerhalb einer Gruppe wird die eigene Position der Rahmen in Richtung der Gruppe ignoriert: Die Gruppe ordnet sie der Reihe nach an, mit gap dazwischen. Wenn der Text eines Rahmens wächst, rücken die Rahmen danach weiter. Eine Gruppe ist ein Kasten, an dem Rahmen und Dekoration verankert werden können ('#pagina').

EigenschaftTypStandardBeschreibung
namestringerforderlichEindeutig unter den Rahmen und Gruppen der Vorlage.
kind'stack' | 'row''stack'Von oben nach unten oder vom Anfang zum Ende.
framesstring[][]Die Rahmen der Gruppe in ihrer Reihenfolge auf der Seite. Ein Rahmen gehört höchstens zu einer Gruppe; ein Name, der kein Rahmen der Vorlage ist, oder ein bereits aufgeführter Rahmen wird übersprungen.
gapDimension0Der Abstand zwischen zwei Rahmen der Gruppe.
placement, gridwie bei Rahmender Kasten ihrer RahmenDer eigene Kasten der Gruppe. Nicht gesetzt, der Kasten um die angegebenen Kästen ihrer Rahmen.
align'start' | 'center' | 'end' | 'space-between''start'Wohin der freie Platz geht, wenn kein Rahmen der Gruppe wächst.
removebooleanfalseIn einer Vorlage, die eine andere erweitert, oder in einer Variante: entfernt die geerbte Gruppe.

#Vererbung und Varianten

Eine Vorlage mit extends geht von der Vorlage aus, die sie nennt (und die selbst eine andere erweitern kann), und ändert nur, was sie schreibt:

  • Ein Feld wie area, header oder overflowTemplate ersetzt das der Elternvorlage. grid wird Schlüssel für Schlüssel zusammengeführt. Auch spread, gutter und role werden geerbt; id, name und extends gehören der Vorlage selbst.
  • frames und groups werden nach Namen zusammengeführt: Ein Eintrag mit dem Namen eines geerbten ändert die Felder, die er schreibt, und behält die übrigen (fit, overflow und padding werden Schlüssel für Schlüssel zusammengeführt; placement wird als Ganzes ersetzt); remove: true entfernt ihn; ein neuer Name wird nach den geerbten angefügt.
  • Dekorationselemente werden auf dieselbe Weise nach id zusammengeführt; ein Element mit neuer ID oder ohne ID wird angefügt.

variants.recto und variants.verso werden wie eine Vorlage geschrieben und auf dieselbe Weise zusammengeführt, auf einer rechten oder einer linken Seite. Sie gelten nach der ganzen extends-Kette, die Variante der Wurzel zuerst. Eine Doppelseite hat beide Seiten, daher gilt für sie keine Variante.

pageTemplates: [
  { id: 'tema', frames: [{ name: 'texto', flow: true }, { name: 'margen', width: { value: 30, unit: 'mm' },
      placement: { anchor: { to: 'container', edge: 'top-left' } } }],
    variants: { recto: { frames: [{ name: 'margen', placement: { anchor: { to: 'container', edge: 'top-right' } } }] } } },
  { id: 'tema-sin-margen', extends: 'tema', frames: [{ name: 'margen', remove: true }] },
]

Ein Wert, der einem Standardwert gleicht, wird beim Speichern einer Vorlage in der Sandbox nie verworfen: In einer Vorlage, die eine andere erweitert, oder in einer Variante überschreibt er den Wert der Elternvorlage.

Im Code liefert resolvePageTemplate(config, id, { parity }) eine Vorlage mit zusammengeführter Kette, angewandter Variante der jeweiligen Seite, allen eingesetzten Standardwerten und jedem Verweis so aufgelöst, wie es die Warnungen unten beschreiben; validatePageTemplates(config) liefert die Warnungen.

#Beschriftungsstile

Die Eigenschaft labelStyles benennt das Aussehen der Beschriftungen auf einem Bild: die Meere und Städte einer Karte, die Teile eines Schemas. Eine Beschriftung steht an einem Anker des Bilds (einem Punkt, der mit der Ressource gespeichert ist, wie die Sprecher in Comics) und übernimmt den Stil, den der Anker oder die Beschriftung nennt.

labelStyles: [
  { id: 'mar', fontStyle: 'italic', textTransform: 'uppercase', letterSpacing: 0.12,
    color: { hex: '#2b6ca3', model: 'hex' } },
  { id: 'ciudad', fontWeight: 600, halo: { color: { hex: '#ffffff', model: 'hex' }, width: { value: 0.6, unit: 'pt' } } },
]
EigenschaftTypStandardBeschreibung
idstringerforderlichDer Name, den Anker und Beschriftungen verwenden.
namestringdie IDDer Name, den die Sandbox anzeigt.
paragraphStylestringkeinsEin Absatzformat, dessen Schrift die Beschriftung übernimmt; die Felder unten überschreiben es.
fontFamily, fontSize, fontWeightstring, Dimension, numberdie des FließtextsDie Schrift der Beschriftung.
fontStyle'normal' | 'italic''normal'Aufrecht oder kursiv.
colorColorValueFarbe des FließtextsDie Farbe der Buchstaben.
textTransform'none' | 'uppercase''none'Versalien, wie Karten Meere und Länder setzen.
letterSpacingnumber0Zusätzlicher Abstand zwischen den Buchstaben, in Geviert.
halo{ color, width }keinerEine Kontur hinter den Buchstaben, damit sie auf einem unruhigen Bild lesbar bleiben.
background, paddingColorValue, DimensionkeinerEine Fläche hinter der Beschriftung und der Raum um ihren Text.
minScalenumber0.85Wie klein eine Beschriftung gesetzt werden darf, wenn sie nicht in ihre Breite passt.

#Beschriftungsfelder eines Ankers

Die Anker eines Bilds (Resource.anchors, die Punkte, die Comics für Sprecher verwenden) nehmen einige optionale Felder für Beschriftungen auf. Es sind Bruchteile des Bilds, daher gelten sie in jeder Sprache und bei jedem Zuschnitt des Bilds. Comics ignorieren sie.

FeldTypStandardBeschreibung
widthnumberdie der BeschriftungDie Satzbreite der Beschriftung als Bruchteil der Bildbreite: Ein langer Name bricht darin auf zwei Zeilen um.
align'start' | 'center' | 'end''center'Welche Seite der Beschriftung am Ankerpunkt steht.
verticalAlign'top' | 'middle' | 'bottom''middle'Welche Kante der Beschriftung auf der Höhe des Ankers steht.
rotatenumber0Grad, im Uhrzeigersinn, um den Ankerpunkt: der Name eines Flusses entlang seines Laufs.
stylestringkeinerEine ID aus labelStyles. Eine Beschriftung, die ihren eigenen Stil nennt, überschreibt ihn.

#Warnungen zu Seitenvorlagen

Anderswo ignoriert die Engine einen Schlüssel, den sie nicht kennt. Seitenvorlagen und Beschriftungsstile werden dagegen geprüft, und jedes Problem ist eine Konfigurationswarnung in postext check und im Bedienfeld Prüfungen der Sandbox. Der path dieser Warnungen ist ein JSON-Pointer auf das fehlerhafte Feld: /pageTemplates/3/frames/2/style, /pageTemplates/0/variants/recto/frames/1/next, /resources/4/anchors/0/style. Wurde das Feld geerbt, nennt der Pointer die Vorlage, die es geschrieben hat. Eine Warnung, die eine nicht vorhandene ID oder einen nicht vorhandenen Namen nennt, schlägt außerdem den nächstliegenden vorhandenen vor.

Ein falsch geschriebener Schlüssel einer Vorlage, eines Rahmens, einer Gruppe, eines Rasters, von fit, von overflow, einer Variante oder eines Beschriftungsstils ist ein unknownConfigKey; ein Wort außerhalb der Auswahl einer Einstellung (area, verticalAlign, exclude, takes, kind, align, writingMode, direction, fontStyle, textTransform) ist ein unknownConfigValue, und die Einstellung behält ihren Standardwert. Eine Vorlage ohne id oder ein Rahmen oder eine Gruppe ohne name wird mit einem unknownConfigValue an diesem Feld ignoriert.

WarnungUrsacheAbhilfe
templateDuplicateZwei Vorlagen haben dieselbe id. Die erste wird verwendet, die spätere ignoriert.Benennen Sie eine davon um, oder löschen Sie die Kopie.
templateExtendsCycleWer extends folgt, landet wieder bei derselben Vorlage (a → b → a). Jede Vorlage der Schleife und jede Vorlage, die eine davon erweitert, entfällt: Keine Seite kann sie verwenden.Entfernen Sie das extends einer Vorlage der Schleife.
templateExtendsUnknownextends nennt eine ID, die keine Vorlage hat. Die Vorlage wird für sich allein verwendet, ohne etwas zu erben.Korrigieren Sie die ID (die Warnung schlägt die nächstliegende vor), oder fügen Sie die Elternvorlage hinzu.
frameDuplicateZwei Rahmen oder zwei Gruppen einer Liste haben denselben name, oder eine Gruppe trägt den Namen eines Rahmens. Der spätere Eintrag wird ignoriert; ein Anker auf diesen Namen liest den Rahmen.Geben Sie jedem Rahmen und jeder Gruppe einen eigenen Namen. Um einen geerbten Rahmen zu ändern, schreiben Sie einen einzigen Eintrag mit seinem Namen.
frameStyleUnknownDas style eines Rahmens nennt keinen Kastenstil. Der Rahmen wird ohne Kasten gezeichnet.Korrigieren Sie die ID, oder fügen Sie den Stil zu calloutStyles hinzu.
frameAnchorUnknownEin Rahmen, eine Gruppe oder ein Dekorationselement ist an '#name' verankert, und die Vorlage hat keinen Rahmen, keine Gruppe und kein Element dieses Namens; oder Rahmen und Gruppen sind in einer Schleife aneinander verankert (auch über eine Gruppe ohne eigenen Anker, deren Kasten der ihrer Rahmen ist). Der Anker gilt als 'container', der Bereich.Verankern Sie an einem vorhandenen Rahmen oder einer vorhandenen Gruppe, oder brechen Sie die Schleife auf, indem Sie eines der Glieder am Bereich verankern.
frameMinMaxEin Minimum ist größer als sein Maximum (minHeight 40mm > maxHeight 30mm), oder eine feste width oder height liegt außerhalb der Grenzen. Das Minimum hat Vorrang, eine feste Größe wird zwischen die Grenzen gebracht, und used gibt an, was der Rahmen einnimmt. Längen in verschiedenen Einheiten werden in der Auflösung der Seite verglichen, Geviert beim Schriftgrad des Fließtexts.Machen Sie das Minimum nicht größer als das Maximum, oder entfernen Sie die Grenze, der die feste Größe widerspricht.
groupFrameUnknownDie frames einer Gruppe führen einen Namen auf, der kein Rahmen der Vorlage ist (vielleicht von einer Kindvorlage oder einer Variante entfernt). Die Gruppe überspringt ihn.Korrigieren Sie den Namen, oder entfernen Sie ihn aus der Liste.
groupFrameTwiceEin Rahmen ist in zwei Gruppen aufgeführt oder zweimal in derselben. Ein Rahmen gehört nur zu einer Gruppe: Die spätere Nennung wird übersprungen.Belassen Sie den Rahmen in der einen Gruppe, mit der er sich bewegt.
frameChainLoopRahmen laufen über next oder overflow.continueIn: '#frame' in einer Schleife ineinander weiter (a → b → a). Die Verbindung, die die Schleife schließt, entfällt, sodass die Kette beim Rahmen davor endet.Lassen Sie die Kette bei ihrem letzten Rahmen enden: Entfernen Sie dessen next, oder lassen Sie ihn auf der nächsten Seite weiterlaufen.
overflowTargetUnknownEin next nennt keinen Rahmen der Vorlage; ein overflow.continueIn nennt keinen Rahmen ('#x') oder keine Vorlage ('template:x'), oder es hat keine der Formen '#frame', 'next-page' und 'template:<id>'; oder overflowTemplate nennt keine Vorlage. Inhalt, der nicht passt, läuft dort nicht weiter.Korrigieren Sie den Namen oder die ID, oder schreiben Sie eine der drei Formen.
labelStyleUnknownEin Anker eines Bilds nennt einen style, den labelStyles nicht hat. Die Warnung nennt die Ressource. Die Beschriftungen an diesem Anker erhalten das Standardaussehen.Korrigieren Sie die Stil-ID am Anker, oder fügen Sie den Stil zu labelStyles hinzu.

Die Konfigurationsversion ist seit den Seitenvorlagen 15 (vorher geschriebene Bundles laden weiterhin unverändert: Nichts, was eine ältere Konfiguration sagt, ändert seine Bedeutung).