Informationen zu wiederverwendbaren Elementen
Wiederverwendbare Elemente sind lange Zeichenfolgen mit wiederverwendbarem Text, z. B. Absätze oder prozedurale Listen, auf die in mehreren Inhaltsdateien verwiesen werden kann.
Wir verwenden Markdown (anstelle von YAML) für wiederverwendbare Elemente. Markdown ermöglicht es unserer Lokalisierungspipeline, die Zeichenfolgen in kleinere übersetzbare Segmente aufzuteilen, was zu weniger Übersetzungsfehlern und weniger Churn führt, wenn sich der englische Quellinhalt ändert.
Jedes wiederverwendbare Element befindet sich in einer eigenen Markdowndatei.
Der Pfad und der Dateiname jeder Markdowndatei bestimmt, welche Pfade im Datenobjekt enthalten sind. Beispielsweise kann auf eine Datei mit dem Namen /data/reusables/foo/bar.md
seitenweise wie auf {% data reusables.foo.bar %}
zugegriffen werden.
Wiederverwendbare Dateien werden in der Regel nach Aufgabe in Verzeichnisse unterteilt. Wenn du beispielsweise eine wiederverwendbare Zeichenfolge für Artikel zu GitHub-Benachrichtigungen erstellst, füge sie im Verzeichnis data/reusables/notifications/
in einer Datei mit dem Namen data/reusables/notifications/YOUR-REUSABLE-NAME.md
hinzu. Der Inhaltsverweis, den du der Quelle hinzufügst, würde wie {% data reusables.notifications.YOUR-REUSABLE-NAME %}
aussehen.
Anwenden der Versionsverwaltung auf wiederverwendbare Elemente
Wiederverwendbare Elemente können Liquid-Bedingungen enthalten, um Inhalte abhängig von der aktuellen angezeigten Version bedingt zu rendern.
Informationen zu Variablen
Variablen sind kurze Zeichenfolgen aus wiederverwendbarem Text.
Wir verwenden YAML-Dateien für Variablen.
Der Pfad, der Dateiname und die Schlüssel in jeder YAML-Datei bestimmen, welcher Pfad für sie im Datenobjekt verwendet wird.
Die YAML-Datei data/variables/foo/bar.yml
enthält beispielsweise zwei Variablen:
# the YAML file can contain multiple short strings in one file
meaning_of_life: 42
# the strings can also be nested if needed
nested:
values:
too: Yes!
Die Werte wären als {% data foo.bar.meaning_of_life %}
und {% data foo.bar.nested.values.too %}
zugänglich.