Gibt es eine Möglichkeit, zusammengeführte Zeilen in einer Tabellenspalte in Markdown-Dateien wie ReadMe.md-Dateien zu erstellen?
Etwas wie das:
[cols="^,^,^"] \n|=== \n|Layer1 |Layer2 |Layer3 \n \n.4+.^|L1 Name .2+.^|L2 Name A |L3 Name A \n|L3 Name B \n.2+.^|L2 Name B |L3 Name C \n|L3 Name D \n \n|===
. Ersetzen Sie alle \n
durch Zeilentrenner.
Antworten:
Nein, dies ist mit GitHub-Flavored Markdown nicht möglich. Wie die Spezifikation erklärt (Hervorhebung hinzugefügt):
Der Rest der Tabellenzeilen kann in der Anzahl der Zellen variieren. Wenn die Anzahl der Zellen geringer ist als die Anzahl der Zellen in der Kopfzeile, werden leere Zellen eingefügt . Wenn es größere gibt, wird der Überschuss ignoriert :
Natürlich können Sie jederzeit auf Roh-HTML zurückgreifen. Tatsächlich enthält GitHub das Attribut rowspan
(und colspan
) in der Whitelist .
<table>
<thead>
<tr>
<th>Layer 1</th>
<th>Layer 2</th>
<th>Layer 3</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan=4>L1 Name</td>
<td rowspan=2>L2 Name A</td>
<td>L3 Name A</td>
</tr>
<tr>
<td>L3 Name B</td>
</tr>
<tr>
<td rowspan=2>L2 Name B</td>
<td>L3 Name C</td>
</tr>
<tr>
<td>L3 Name D</td>
</tr>
</tbody>
</table>
Probieren Sie es selbst unter https://jsfiddle.net/7h89y55r/
<table><tr><td>This is not emphasized text: *the asterisks* will be rendered literally.</td></tr></table>
Die Standard-Commonmark unterstützt keine Tabellen und verweist nicht auf bestimmte Tabellenerweiterungen oder empfiehlt diese nicht ( Permalink der neuesten Version ab 2018-03 ). Ihre Frage bezieht sich nicht speziell auf Markdown (GFM) mit Github-Geschmack, aber GFM basiert auf Commonmark mit einer Tabellenerweiterung, die dies nicht unterstützt.
MultiMarkdown ab mindestens Version 5 unterstützt diese Tabellentypen ( Docs Permalink ) auf dieselbe Weise wie Michael Fortin für PHP Markdown Extra.
| | Grouping ||
First Header | Second Header | Third Header |
------------ | :-----------: | -----------: |
Content | *Long Cell* ||
Content | **Cell** | Cell |
New section | More | Data |
And more | With an escaped '\|' ||
[Prototype table]
Ich verwende normalerweise Markdown-it (VSCode-integriertes Markdown und mein Ghost-Blog verwenden es), das nur Tabellen mit Github-Geschmack unterstützt, aber jemand hat damit eine Erweiterung ( Markdown-it-multimd-Tabelle ) für diese Tabellen erstellt. Letztendlich haben Sie Optionen.
Wenn Sie Jekyll verwenden, um die Ausrichtung , das Zusammenführen usw. von Tabellenzellen zu unterstützen , kann Ihnen das Folgende helfen, dies einfacher zu machen.
Jekyll-Raumschiff - 🚀 Ein Jekyll-Plugin, das leistungsstarke Unterstützung für Tabelle, Mathjax, Plantuml, Meerjungfrau, Video, Youtube, Emoji, Vimeo, Dailymotion usw. bietet.
https://github.com/jeffreytse/jekyll-spaceship
Im Moment werden diese erweiterten Funktionen bereitgestellt:
- Zellen, die sich über mehrere Spalten erstrecken
- Zellen, die sich über mehrere Zeilen erstrecken
- Zellentext wird separat ausgerichtet
- Tabellenkopf nicht erforderlich
- Gruppierte Tabellenkopfzeilen oder Datenzeilen
Abschlag:
Der obige Code würde wie folgt analysiert:
Ich habe die Frage von OP in den Kommentaren zu einer alternativen Lösung beantwortet, aber der Kommentar wurde auf eine Zeile gequetscht. Fügen Sie es hier als Antwort hinzu, um die Formatierung richtig anzuzeigen.
Sie können AsciiDoc anstelle von Markdown verwenden. GitHub unterstützt es jetzt. Verwenden Sie einfach README.adoc
anstelle README.md
Ihrer Tabelle die AsciiDoc-Syntax:
[cols="^.^,^.^,^.^"]
|===
|Layer1 |Layer2 |Layer3
.4+|L1 Name .2+|L2 Name A |L3 Name A
|L3 Name B
.2+|L2 Name B |L3 Name C
|L3 Name D
|===
Das vscode-Plugin Markdown Extended unterstützt erweiterte Tabellenformate, die durch andere Antworten beschrieben werden, indem es die Markdown-it-multimd-Tabelle integriert