Struktur & Dateiaufbau verstehen

Die OpenSDG-Plattform basiert auf einer klaren Trennung zwischen Inhalten (Content) und Technik (Code). Diese Trennung erleichtert es, dass sich auch nicht-technische Redakteur\:innen an der inhaltlichen Pflege beteiligen können. Gleichzeitig ist es wichtig zu wissen, wo sich welche Datei befindet und wofür sie zuständig ist.

1. Zwei Repositories: Daten und Website

In einer typischen OpenSDG-Installation gibt es zwei getrennte Git-Repositories:

a) Daten-Repository

Dieses Repository enthält alle Inhalte, die redaktionell gepflegt werden:

  • _data/ – CSV-Dateien mit den eigentlichen Indikatordaten (indicator_X-Y-Z.csv)
  • _indicators/ – YAML-Dateien mit den Metadaten und ggf. Texten zu jedem Indikator (X-Y-Z.yml)
  • translations/ – YAML-Dateien mit Übersetzungen
  • meta/ – weitere konfigurierende Metadaten (z. B. zu Themenkategorien)

b) Site-Repository

Dieses Repository enthält die eigentliche Website, d. h. das Layout, die Farben, Logos, Texte auf der Startseite und vieles mehr:

  • _includes/, _layouts/, _sass/ – Layout und Design (für Entwickler\:innen)
  • _data/site_config.yml – zentrale Konfigurationsdatei für den Seitenaufbau (z. B. Startseitentexte, Social Media etc.)
  • assets/ – z. B. Bilder, Logos, CSS-Dateien
  • pages/ – manuell erstellte Inhaltsseiten (z. B. Impressum, Datenschutzerklärung)

2. Dateibenennung und Struktur in _indicators/

Indikator-Dateien folgen einem festen Schema: X-Y-Z.yml, wobei:

  • X für das SDG-Ziel steht (1–17)
  • Y für die Indikatornummer innerhalb des Ziels
  • Z für eine ggf. vorhandene Unterstruktur

Beispiel: 3-2-1.yml beschreibt den Indikator 3.2.1 (Kindersterblichkeit).

Dazu gehört dann eine CSV-Datei indicator_3-2-1.csv im Unterordner _data/.

3. Übersetzungen in translations/

Die YAML-Dateien in translations/ enthalten Übersetzungen für Platzhalter, die in der Website verwendet werden.

Beispiel:

global_indicators:
  3-2-title: Kindersterblichkeitsrate

Der Schlüssel global_indicators.3-2-title kann dann in einer YAML- oder HTML-Datei als Platzhalter verwendet werden und wird durch den übersetzten Text ersetzt.

4. Konfiguration in site_config.yml

Diese Datei liegt im Site-Repository unter _data/ und bestimmt viele Funktionen der Website:

  • Struktur der Startseite
  • Farben, Logos, Sprachen
  • Anzeigeoptionen für Diagramme

Sie ist ebenfalls im YAML-Format aufgebaut und kann mit einfachem Texteditor bearbeitet werden.

5. Seiten in pages/

Die meisten Seiten (z. B. Startseite, Datenschutzerklärung) werden als Markdown-Dateien in pages/ gepflegt. Diese Dateien enthalten reinen Text oder HTML-Markup und werden automatisch in HTML umgewandelt.

Beispiel: pages/impressum.md wird zu https://example.org/impressum.

Tipp

Die Trennung der Dateien ist anfangs ungewohnt, hilft aber langfristig beim Überblick – insbesondere bei mehreren Sprachen oder vielen Indikatoren. Bei Unklarheiten lohnt sich ein Blick in die offizielle Dokumentation.