Чи є спосіб створити об’єднані рядки у стовпці таблиці у файлах розмітки, таких як файли ReadMe.md?
Щось на зразок цього:
[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|===
. Замініть все \n
на роздільник рядків.
Відповіді:
Ні, це неможливо з використанням смаку GitHub Markdown. Як пояснює специфікація (курсив додано):
Решта рядків таблиці може відрізнятися за кількістю комірок. Якщо кількість рядків менше, ніж кількість комірок у заголовку, вставляються порожні комірки . Якщо є більші, надлишок ігнорується :
Звичайно, ви завжди можете повернутися до вихідного HTML. Насправді GitHub включає атрибут rowspan
(і colspan
) у свій білий список .
<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>
Спробуйте самі на https://jsfiddle.net/7h89y55r/
<table><tr><td>This is not emphasized text: *the asterisks* will be rendered literally.</td></tr></table>
Стандартна загальна марка не підтримує таблиці та не посилається на будь-які конкретні розширення таблиць або не рекомендує їх ( останнє постійне посилання на редакцію станом на 2018-03 ). Ваше запитання не стосується спеціально присмакованого Github Markdown (GFM), але GFM базується на загальному знаку з розширенням таблиці, яке цього не підтримує.
MultiMarkdown принаймні з v5 підтримує такі типи таблиць ( постійне посилання на документи ) так само, як це робить Майкл Фортін для 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]
Я зазвичай використовую markdown-it (вбудований VSCode markdown та мій блог Ghost), який підтримує лише таблиці зі смаком Github, але хтось створив для них розширення ( markdown-it-multimd-table ). Зрештою, у вас є варіанти.
Якщо ви використовуєте Jekyll, для підтримки вирівнювання комірок таблиці , об’єднання тощо, я думаю, що наведене нижче може допомогти вам зробити це простіше.
jekyll-космічний корабель - plu плагін Jekyll для забезпечення потужних опор для таблиці, mathjax, plantuml, русалки, відео, YouTube, смайлів, vimeo, dailymotion тощо
https://github.com/jeffreytse/jekyll-spaceship
На даний момент пропонуються такі розширені функції:
- Клітини, що охоплюють кілька стовпців
- Клітини, що охоплюють кілька рядків
- Текст клітинок вирівнюється окремо
- Заголовок таблиці не потрібен
- Згруповані рядки заголовка таблиці або рядки даних
Націнка:
Код вище буде проаналізовано як:
Я відповідав на запитання OP у коментарях щодо альтернативного рішення, але коментар стиснувся до одного рядка. Додавши його тут як відповідь, щоб правильно показати форматування.
Ви можете використовувати AsciiDoc замість Markdown. GitHub зараз це підтримує. Просто використовуйте README.adoc
замість README.md
Вашої таблиці в синтаксисі AsciiDoc:
[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
|===
vscode плагін Markdown Extended підтримує формати розширених таблиць, описаних іншими відповідями, інтегруючи markdown-it-multimd-table