Tabellen sind das eine Stück Markdown, das in der Quelle einschüchternd aussieht und sich dann als trivial herausstellt: Eine Zeile ist eine Zeile mit Pipes zwischen den Zellen, und eine Trennzeile aus Bindestrichen sagt dem Parser, dass die Zeile darüber die Kopfzeile war.

Bearbeite die Tabelle unten — füg eine Spalte hinzu, ändere die Ausrichtung, lösch eine Zeile — und sieh zu, wie die Vorschau mitkommt.

Tabellen — ändere eine Zelle, füg eine Spalte an
Markdown
| Funktion         | Gratis | Pro |
|:-----------------|:------:|----:|
| Live-Vorschau    |   ✓    |  ✓  |
| PDF-Export       |   ✓    |  ✓  |
| Versionsgeschichte|  —    |  ✓  |
| EPUB-Export      |   —    |  ✓  |
Preview
FunktionGratisPro
Live-Vorschau
PDF-Export
Versionsgeschichte
EPUB-Export

Die drei Regeln

  1. Jede Zeile ist eine Zeile, mit | zwischen den Zellen. Die Pipes am Anfang und Ende sind optional, aber sie stehen zu lassen macht die Quelle deutlich lesbarer.
  2. Die zweite Zeile ist die Trennzeile, aus mindestens drei Bindestrichen pro Spalte. Sie ist es, die aus der ersten Zeile eine Kopfzeile macht — ohne sie hast du überhaupt keine Tabelle.
  3. Die Spaltenanzahl kommt aus der Trennzeile. Überzählige Zellen einer Zeile fallen weg, fehlende erscheinen leer.

Ausrichtung

Doppelpunkte in der Trennzeile bestimmen, wie jede Spalte ausgerichtet wird. Das ist der Teil, den alle jedes Mal nachschlagen:

Markdown
| Links | Mitte | Rechts |
|:------|:-----:|-------:|
| a     |   b   |      c |
| langer Text | immer noch mittig | 42 |
Preview
LinksMitteRechts
abc
langer Textimmer noch mittig42
  • :--- richtet links aus (die Voreinstellung)
  • :--: zentriert
  • ---: richtet rechts aus

Richte Zahlenspalten rechts aus. Eine Kleinigkeit, die eine Tabelle mit Preisen oder Messwerten dramatisch leichter überfliegbar macht.

Die Pipes müssen nicht fluchten

Das gehört klar gesagt, weil viele Zeit damit verlieren:

Markdown
| Funktion | Gratis | Pro |
|---|---|---|
| Vorschau | ja | ja |
| Ein viel längerer Funktionsname | nein | ja |
Preview
FunktionGratisPro
Vorschaujaja
Ein viel längerer Funktionsnameneinja

Das erscheint genauso sauber wie eine perfekt ausgerichtete Quelle. Die Pipes von Hand zu bündigen ist reiner Komfort für wen auch immer die Rohdatei liest — und ein Editor mit Live-Vorschau macht es überflüssig, weil du auf das Ergebnis schaust statt auf die Quelle.

Formatierung in den Zellen

Zellen nehmen Inline-Markdown an: fett, kursiv, Code, Links und Bilder funktionieren alle.

Markdown
| Element | Syntax | Doku |
|---------|--------|------|
| **Fett** | `**Text**` | [Anleitung](/de/markdown-anleitung) |
| *Kursiv* | `*Text*` | [Anleitung](/de/markdown-anleitung) |
Preview
ElementSyntaxDoku
Fett**Text**Anleitung
Kursiv*Text*Anleitung

Was Tabellen nicht können

Markdown-Tabellen sind bewusst einfach, und diese Grenzen sind keine Fehler:

  • Keine mehrzeiligen Zellen. Eine Zelle ist eine Zeile. Für einen Umbruch darin brauchst du <br>, was Portabilität kostet.
  • Keine verbundenen Zellen. Es gibt kein rowspan und kein colspan.
  • Keine verschachtelten Tabellen, Listen oder Codeblöcke in einer Zelle.
  • Keine Tabellenüberschrift, obwohl eine fette Zeile oder ein Absatz direkt über der Tabelle den Dienst tut.

Wenn du eines davon wirklich brauchst, brauchst du HTML — und meist ist das ein Zeichen dafür, dass die Information eine andere Form haben möchte, etwa eine Liste von Unterabschnitten.

Eine Pipe escapen

Ein wörtliches | in einer Zelle würde sie beenden. Escape es mit einem Backslash:

Markdown
| Befehl | Bedeutung |
|--------|-----------|
| `a \| b` | a in b leiten |
Preview
BefehlBedeutung
a | ba in b leiten

Häufige Fehler

Die Trennzeile vergessen. Ohne die Bindestriche erscheinen die Zeilen als gewöhnliche Absätze mit sichtbaren Pipes. Grund Nummer eins dafür, dass eine Tabelle „nicht funktioniert".

Keine Leerzeile vor der Tabelle. Beginnt die Tabelle direkt in der Zeile nach einem Absatz, falten viele Parser sie in diesen Absatz. Lass eine Leerzeile.

Weniger als drei Bindestriche. |-|-| funktioniert in manchen Parsern und scheitert in anderen. Nimm mindestens drei pro Spalte.

Tabellen in reinem Markdown erwarten. Tabellen sind eine Erweiterung aus GitHub Flavored Markdown, nicht Teil des Originals von 2004. Jeder moderne Editor kann sie, ein sehr alter oder minimaler Parser vielleicht nicht.

Häufige Fragen

Wie erstelle ich eine Tabelle in Markdown?

Schreib die Kopfzeile mit | zwischen den Zellen, setz eine Zeile aus Bindestrichen darunter — |---|---| — und dann eine Zeile pro Datensatz. Erst die Trennzeile macht daraus eine Tabelle; ohne sie erscheinen die Pipes als gewöhnlicher Text.

Wie richte ich Spalten in einer Markdown-Tabelle aus?

Setz Doppelpunkte in die Trennzeile. :--- ist links, :--: ist zentriert und ---: ist rechts. Die Ausrichtung gilt pro Spalte, für Kopf und Körper gleichermaßen.

Kann eine Zelle mehrere Zeilen enthalten?

In Standard-Markdown nicht — eine Zelle ist eine Zeile. Du kannst <br> einfügen, wenn dein Renderer rohes HTML zulässt, aber das macht die Datei weniger portabel. Braucht eine Zelle mehrere Zeilen Inhalt, ist die Information meist als Liste oder als Unterabschnitte besser aufgehoben.

Müssen die Pipes in der Quelle fluchten?

Nein. Die Tabelle erscheint identisch, ob die Spalten auf gleiche Breite aufgefüllt sind oder nicht. Eine ordentliche Quelle ist nur für Menschen da, die die Rohdatei lesen.

Wie setze ich ein Pipe-Zeichen in eine Zelle?

Escape es mit einem Backslash: \|. Auch innerhalb von Inline-Code brauchst du den Backslash, weil die Tabelle vor dem Code-Span geparst wird.