Створіть таблицю без заголовка в Markdown


141

Чи можливо створити таблицю без заголовка в Markdown?

HTML виглядатиме так:

<table>
<tr>
    <td>Key 1</td>
    <td>Value 1</td>
</tr>
<tr>
    <td>Key 2</td>
    <td>Value 2</td>
</tr>
</table>

Відповіді:


92

Більшість парсерів Markdown не підтримують таблиці без заголовків. Це означає, що роздільна лінія для заголовків є обов'язковою.

Парсери, які не підтримують таблиці без заголовків

  • мультимаркетування
  • Маруку : Популярна реалізація в Ruby
  • byword : "Усі таблиці повинні починатися з одного або декількох рядків заголовків"
  • PHP Markdown Extra "другий рядок містить обов'язковий розділовий рядок між заголовками та вмістом"

  • RDiscount Використовує додатковий синтаксис відмітки PHP.

  • GitHub Flavoured Markdown
  • Parsedown : Аналізатор PHP (використовується, наприклад, в електронних листах Laravel)

Парсери, які роблять таблиці підтримки без заголовків.

  • Крамдаун : аналізатор в Рубі
  • Текст :: MultiMarkdown : модуль Perl CPAN.
  • MultiMarkdown : програма Windows.
  • ParseDown Extra : Аналізатор PHP.
  • Pandoc : Конвертер документів для командного рядка, написаного в Haskell (підтримує таблиці без заголовків через його simple_tablesта multiline_tablesрозширення)
  • Flexmark : Розбір на Java.

CSS-рішення

Якщо ви можете змінити CSS виводу HTML, ви можете використовувати :emptyпсевдоклас, щоб приховати порожній заголовок і зробити так, що він взагалі немає.


28
Парсер Github може бути доданий до списку тих, хто його не підтримує.
Quantum7

4
Детальніше про рішення CSS: stackoverflow.com/questions/12023771/hide-empty-cells-in-table
Vadzim

80

Якщо ви не проти витрачати рядок, залишаючи його порожнім, врахуйте наступний хак (це хак, і використовуйте це, лише якщо вам не подобається додавати додаткові плагіни).

| | | |
|-|-|-|
|__Bold Key__| Value1 |
| Normal Key | Value2 |

Щоб побачити, як може виглядати вище, скопіюйте вище та відвідайте https://stackedit.io/editor

Він працював з GitLab / GitHub «s Markdown реалізацій.


1
З якою реалізацією працює ця робота? Він не працює з текстом Perl :: :: MultiMarkdown, але я думаю, він може працювати з деякими реалізаціями PHP MultiMarkdown.
RedGrittyBrick

2
Він працював з реалізацією розміток gitlab / github. Я не впевнений у тексті Perl :: MultiMarkdown
Thamme Gowda

8
Це створить порожній заголовок таблиці та порожній рядок.
Гаджус

Це насправді чудово pandocсправляється із розміткою до PDF.
Олексій Барановський

Дякую! Це працює і з відміткою Laravel 5.8 (multi). Жодних заголовків не видно - лише рядок. Виглядає як роздільник, який може бути видалений за допомогою деяких CSS у темі.
користувач2966991

17

Мені це вдалося працювати з надписом Bitbucket, використовуючи порожнє посилання:

[]()  | 
------|------
Row 1 | row 2

2
Також буде запропоновано порожній рядок заголовка. Принаймні, його лише половина висоти, як звичайна лінія. Працював і для мене як Хак у github
Londane

Цей хак працював для мене під час написання документації в «Insomnia». Все ще створюється рядок заголовка, але він набагато коротший, ніж якщо б я помістив текст там. Дякую!
jkmartindale

Блискуче! Я все ще бачу трохи вертикального простору з Github Markdown, але це краще, ніж раніше.
Кіт Беннетт

15

Універсальне рішення

На жаль, багато пропозицій не працюють для всіх переглядачів / редакторів Markdown, наприклад, популярне розширення Markdown Viewer Chrome, але вони працюють з iA Writer .

Що, здається, працює в обох цих популярних програмах (і може працювати для вашої конкретної програми) HTML comment blocks ('<!-- -->'):

| <!-- -->    | <!-- -->    |
|-------------|-------------|
| Foo         | Bar         |

Як і деякі попередні пропозиції, це додає порожній рядок заголовка у ваш переглядач / редактор Markdown. В iA Writer це естетично досить мало, щоб він не заважав мені занадто сильно.


Це повністю знижує точку використання Markdown, оскільки, якщо розглядати їх лише як текст, коментарі будуть викреслені, а стовпці навіть більше не вирівнюватимуться.
хаккель

Я думаю, що @hackel неправильно зрозумів. Це не вирівнює стовпчики за допомогою фіксованої ширини. Швидше, це дає хороший спосіб вирішення дійсних, але порожніх заголовків стовпців. Це було чудовим рішенням у моїй ситуації. Таблиця як і раніше відображається за призначенням / очікуваним; у нього просто не було заголовка.
mdahlman

8

Наступне працює добре для мене в GitHub. Перший рядок більше не виділений жирним шрифтом, оскільки це не заголовок:

<table align="center">
    <tr>
        <td align="center"><img src="docs/img1.png?raw=true" alt="some text"></td>
        <td align="center">Some other text</td>
        <td align="center">More text</td>
    </tr>
    <tr>
        <td align="center"><img src="docs/img2.png?raw=true" alt="some text"></td>
        <td align="center">Some other text 2</td>
        <td align="center">More text 2</td>
    </tr>
</table>

Перевірте зразок HTML таблиці без заголовка тут .


5
Це саме те, що запитуючий сказав, що не хоче.
Ніл Мейхью

Таблиці HTML, схоже, не працюють у Bitbucket ( community.atlassian.com/t5/Bitbucket-questions/… ) - він відображає сам HTML, а не відображає таблицю.
jsaven

7

Якщо вимкнути заголовок над роздільником, ви отримаєте таблицю без заголовка принаймні Perl Text :: MultiMarkdown та FletcherPenney MultiMarkdown

|-------------|--------|
|**Name:**    |John Doe|
|**Position:**|CEO     |

Див. Запит на функцію відмітки PHP


Порожні заголовки в PHP Parsedown створюють таблиці з порожніми заголовками, які зазвичай невидимі (залежно від вашого CSS) і так виглядають як безголовні таблиці.

|     |     |
|-----|-----|
|Foo  |37   |
|Bar  |101  |

Щодо використання Parsedown, насправді заголовок все ще є тут, просто перевірте HTML. Якщо у вас є CSS прокладка на клітинках, ви побачите комірки заголовка. Але я думаю, що table th:empty { padding: 0; }це виправить.
AymDev

6

Принаймні, для GitHub Flavored Markdown , ви можете створити ілюзію , зробивши всі записи рядка без заголовка жирним шрифтом із регулярним __або **форматуванням:

|Regular | text | in header | turns bold |
|-|-|-|-|
| __So__ | __bold__ | __all__ | __table entries__ |
| __and__ | __it looks__ | __like a__ | __"headerless table"__ |

Я шукав щось, що би працювало в GFM, і цей хакер - це творчий!
Mrchief

3
$ cat foo.md
Key 1 | Value 1
Key 2 | Value 2
$ kramdown foo.md
<table>
  <tbody>
    <tr>
      <td>Key 1</td>
      <td>Value 1</td>
    </tr>
    <tr>
      <td>Key 2</td>
      <td>Value 2</td>
    </tr>
  </tbody>
</table>

Здається, це не працює з github.com/chjj/marked . Чи є посилання, в якому я можу шукати, якщо це навіть очікувана поведінка?
adius

@AdrianSieber Я використовую Kramdown, я не можу говорити про інший.
Стівен Пенні

2

Ви можете приховати заголовок, якщо зможете додати наступну CSS:

<style>
    th {
        display: none;
    }
</style>

Це трохи важко і не розрізняє таблиці, але це може бути простим завданням.


Єдиний фокус CSS, який чомусь працює для мене (я використовую VNote разом із рендером Markdown). Жодне з наведених тут рішень: stackoverflow.com/questions/12023771/hide-empty-cells-in-table не працювало.
що

1

Я використовую <span>в заголовку першого стовпця:

 <span> |
---     |    ---
Value   |  Value
Value   |  Value

Він створює порожній заголовок з рамкою, але з 1/2 розміром.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.