Wie schreibe ich Listen in eine Markdown-Tabelle?


199

Kann man eine Liste (Aufzählungszeichen, nummeriert oder nicht) in einer Markdown-Tabelle erstellen?

Ein Tisch sieht so aus:

| Tables        | Are           | Cool  |
| ------------- |:-------------:| -----:|
| col 3 is      | right-aligned | $1600 |
| col 2 is      | centered      |   $12 |
| zebra stripes | are neat      |    $1 |

Eine Liste sieht folgendermaßen aus:

* one
* two
* three

Kann ich sie irgendwie zusammenführen?

Antworten:


252

Ja, Sie können sie mit HTML zusammenführen. Wenn ich Tabellen in .mdDateien von Github erstelle , verwende ich immer gerne HTML-Code anstelle von Markdown.

Github Flavored Markdown unterstützt grundlegendes HTML in .mdDateien. Das wäre also die Antwort:

Markdown gemischt mit HTML:

| Tables        | Are           | Cool  |
| ------------- |:-------------:| -----:|
| col 3 is      | right-aligned | $1600 |
| col 2 is      | centered      |   $12 |
| zebra stripes | are neat      |    $1 |
| <ul><li>item1</li><li>item2</li></ul>| See the list | from the first column|

Oder reines HTML:

<table>
  <tbody>
    <tr>
      <th>Tables</th>
      <th align="center">Are</th>
      <th align="right">Cool</th>
    </tr>
    <tr>
      <td>col 3 is</td>
      <td align="center">right-aligned</td>
      <td align="right">$1600</td>
    </tr>
    <tr>
      <td>col 2 is</td>
      <td align="center">centered</td>
      <td align="right">$12</td>
    </tr>
    <tr>
      <td>zebra stripes</td>
      <td align="center">are neat</td>
      <td align="right">$1</td>
    </tr>
    <tr>
      <td>
        <ul>
          <li>item1</li>
          <li>item2</li>
        </ul>
      </td>
      <td align="center">See the list</td>
      <td align="right">from the first column</td>
    </tr>
  </tbody>
</table>

So sieht es bei Github aus:


1
Das ist großartig, aber gibt es auch eine Möglichkeit, die Liste zu gestalten? Aufzählungszeichen, Ränder usw. entfernen? Github zum Beispiel scheint kein style="list-style: none"Tag für das ulElement zu akzeptieren .
Trebor Rude

@TreborRude Nein, da Markdown eigentlich kein HTML ist. Wenn Sie jedoch eine Bibliothek verwenden (z. B. marked), verfügen Sie wahrscheinlich über diese Funktion (um HTML mit Markdown zu kombinieren).
Ionică Bizău

Es ist in Ordnung, ich habe herausgefunden, dass ein <span>Tag mit eingebetteten <br/>Tags genau das tut, was ich mit der gestalteten Liste versucht habe.
Trebor Rude

@TreborRude Sicher, Sie können immer noch mehrere Zeilenzellen haben. Wahrscheinlich akzeptiert es auch <p>Tags.
Ionică Bizău

Ich freue mich, bestätigen zu können, dass der erste (eingebettete <ul><li>foo</li></ul>) auch auf Bitbucket Server funktioniert.
Nwinkler

91

Wenn Sie eine Liste ohne Aufzählungszeichen (oder eine andere nicht standardmäßige Verwendung) oder mehr Zeilen in einer Zelle verwenden möchten <br />

| Event         | Platform      | Description |
| ------------- |-----------| -----:|
| `message_received`| `facebook-messenger`<br/>`skype`|

2
Wahrscheinlich, weil es vor drei Jahren die einzig vernünftige Antwort war? Ich stimme Ihnen zu, dass dies heute eine bessere Antwort ist.
William Daniel

14
Dies ist eine Antwort auf Newline in der Markdown-Tabelle? , nicht diese Frage über Listen
Bergi

1
@Bergi Ich habe Ihren Vorschlag positiv bewertet. ;) Die Google-Suche hat mich zu dieser Frage geführt und dies ist die Lösung, die ich brauchte. Ich denke, es ist erträglich (z. B. Liste ohne Aufzählungszeichen), also behalte ich es genau an diesem Ort.
Amio.io

3
Sie können Aufzählungszeichen mit HTML-Entitäten hinzufügen: & bull; facebook-messenger<br/> & bull; skype
shawnhcorey

Markdown Lint
kennzeichnet

48

Nicht, dass ich wüsste, denn alle mir bekannten Markdown-Referenzen wie diese erwähnen:

Der Zelleninhalt darf nur in einer Zeile stehen

Sie können es mit diesem Markdown Tables Generator versuchen (dessen Beispiel dem in Ihrer Frage erwähnten ähnelt, sodass Sie es möglicherweise bereits kennen).

Pandoc

Wenn Sie mit Pandoc des Abschlags (die sich John Grubers Abschlags Syntax , auf dem die GitHub aromatisiert Markdown basiert) können Sie entweder grid_tables:

+---------------+---------------+--------------------+
| Fruit         | Price         | Advantages         |
+===============+===============+====================+
| Bananas       | $1.34         | - built-in wrapper |
|               |               | - bright color     |
+---------------+---------------+--------------------+
| Oranges       | $2.10         | - cures scurvy     |
|               |               | - tasty            |
+---------------+---------------+--------------------+

oder multiline_tables.

-------------------------------------------------------------
 Centered   Default           Right Left
  Header    Aligned         Aligned Aligned
----------- ------- --------------- -------------------------
   First    row                12.0 Example of a row that
                                    spans multiple lines.

  Second    row                 5.0 Here's another one. Note
                                    the blank line between
                                    rows.
-------------------------------------------------------------

1
Der Markdown Tables Generator ist falsch, da er neue Zeilen akzeptiert, die, wie Sie zitieren, nicht akzeptiert werden. Aber danke für die wertvollen Informationen.
Gabriel Petrovay

@GabrielPetrovay Der Markdown Tables Generator ist ein relativ neuer Dienst, ich bin nicht überrascht;) Aber in Bezug auf "GitHub Flavored Markdown" steht meine Antwort.
VonC

1
Ich neige dazu, Ihre Antwort zu akzeptieren. Aber ich warte noch 1-2 Tage, vielleicht postet jemand einen Hack (wenn die Antwort akzeptiert wird, wird niemand darauf schauen, außer anderen mit dem gleichen Problem)
Gabriel Petrovay

1
@ GabrielPetrovay Ich stimme zu. Sie können sich auch an den GitHub-Support wenden und sehen, was er dazu zu sagen hat. (und dann meine Antwort aktualisieren oder deine eigene
posten

1
@ イ オ ニ カ ビ ザ ウ Ich habe HTML offensichtlich nicht erwähnt. Mit HTML können Sie jede Markdown-Funktion neu erstellen, sodass dies keine gültige Lösung ist. Die Frage betrifft Markdown, nicht HTML.
VonC

3

Ein alternativer Ansatz, den ich kürzlich implementiert habe, ist die Verwendung des Div-Table-Plugins mit Panflute .

Dadurch wird eine Tabelle aus einer Reihe von eingezäunten Divs (Standard in der Pandoc- Implementierung von Markdown) in einem ähnlichen Layout wie in HTML erstellt:

---
panflute-filters: [div-table]
panflute-path: 'panflute/docs/source'
---

::::: {.divtable}
:::: {.tcaption}
a caption here (optional), only the first paragraph is used.
::::
:::: {.thead}
[Header 1]{width=0.4 align=center}
[Header 2]{width=0.6 align=default}
::::
:::: {.trow}
::: {.tcell}

1. any
2. normal markdown
3. can go in a cell

:::
::: {.tcell}
![](https://pixabay.com/get/e832b60e2cf7043ed1584d05fb0938c9bd22ffd41cb2144894f9c57aae/bird-1771435_1280.png?attachment){width=50%}

some text
:::
::::
:::: {.trow bypara=true}
If bypara=true

Then each paragraph will be treated as a separate column
::::
any text outside a div will be ignored
:::::

Sieht aus wie:

Geben Sie hier die Bildbeschreibung ein


2

Wenn Sie den HTML-Ansatz verwenden:

Fügen Sie keine Leerzeilen hinzu

So was:

<table>
    <tbody>

        <tr>
            <td>1</td>
            <td>2</td>
        </tr>

        <tr>
            <td>1</td>
            <td>2</td>
        </tr>

    </tbody>
</table>

Das Markup wird unterbrochen.

Leerzeilen entfernen:

<table>
    <tbody>
        <tr>
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>1</td>
            <td>2</td>
        </tr>
    </tbody>
</table>

0

Bei einer anderen Lösung können Sie <br>Ihrer Tabelle ein Tag hinzufügen

    |Method name| Behavior |
    |--|--|
    | OnAwakeLogicController(); | Its called when MainLogicController is loaded into the memory , its also hold the following actions :- <br> 1. Checking Audio Settings <br>2. Initializing Level Controller|

Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.