Come scrivere elenchi all'interno di una tabella di markdown?


200

È possibile creare un elenco (punti elenco, numerati o meno) all'interno di una tabella di marcatura.

Una tabella è simile alla seguente:

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

Un elenco è simile al seguente:

* one
* two
* three

Posso unirli in qualche modo?

Risposte:


253

Sì, puoi unirli utilizzando HTML. Quando creo tabelle in .mdfile da Github, mi piace sempre usare il codice HTML anziché il markdown.

Github Flavored Markdown supporta HTML di base nel .mdfile. Quindi questa sarebbe la risposta:

Markdown misto con 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|

O HTML puro:

<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>

Ecco come appare su Github:


1
Questo è fantastico, ma c'è un modo per dare uno stile anche alla lista? Rimuovere i punti elenco, i margini, ecc.? Github, ad esempio, non sembra accettare un style="list-style: none"tag ulsull'elemento.
Trebor Rude,

@TreborRude No, perché Markdown in realtà non è HTML. Ma se usi una libreria (ad es. marked), Probabilmente hai questa funzione (per combinare HTML con markdown).
Ionică Bizău,

Va bene, ho scoperto che un <span>tag con tag incorporati ha <br/>fatto esattamente quello che stavo cercando di fare con l'elenco di stili.
Trebor Rude,

@TreborRude Certo, puoi ancora avere più celle di linea. Probabilmente accetta anche <p>tag.
Ionică Bizău,

Sono felice di confermare che il primo (incorporato <ul><li>foo</li></ul>) funziona anche su Bitbucket Server.
nwinkler

91

Se si desidera un elenco senza punti elenco (o qualsiasi altro utilizzo non standard) o più righe in una cella, utilizzare <br />

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

2
Probabilmente perché tre anni fa era l'unica risposta ragionevole? Sono d'accordo con te che questa è una risposta migliore, oggi.
William Daniel,

14
Questa è una risposta a Newline nella tabella di markdown? , non questa domanda sulle liste
Bergi,

1
@Bergi Ho votato il tuo suggerimento. ;) La ricerca su Google mi ha portato a questa domanda e questa la soluzione di cui avevo bisogno. Penso che sia sopportabile (ad esempio un elenco non puntato), quindi lo tengo in questo preciso posto.
Amio.io,

3
Puoi aggiungere punti elenco con entità HTML: & bull; facebook-messenger<br/> & bull; skype
shawnhcorey,

markdown lint segnala questo come nessun html in linea
andrei.ciprian

48

Non che io sappia, perché tutti i riferimenti markdown di cui sono a conoscenza, come questo , menzionano:

Il contenuto della cella deve essere su una sola riga

Puoi provarlo con quel Markdown Tables Generator (il cui esempio assomiglia a quello che menzioni nella tua domanda, quindi potresti già esserne consapevole).

Pandoc

Se stai usando il markdown di Pandoc (che estende la sintassi del markdown di John Gruber su cui si basa il Markdown aromatizzato GitHub ) puoi usare grid_tables:

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

oppure 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
Il generatore di tabelle di markdown è errato perché accetta nuove righe che, come citate, non sono accettate. Ma grazie per le preziose informazioni.
Gabriel Petrovay,

@GabrielPetrovay Il generatore di tabelle di markdown è un servizio relativamente nuovo, non mi sorprende;) Ma per quanto riguarda "GitHub Flavored Markdown", la mia risposta è valida.
VonC,

1
Tendo ad accettare la tua risposta. Ma aspetto 1-2 giorni in più, forse qualcuno pubblica un hack (se la risposta è accettata, nessuno la guarderà, tranne gli altri con lo stesso problema)
Gabriel Petrovay

1
@GabrielPetrovay Sono d'accordo. Puoi anche contattare l'assistenza GitHub e vedere cosa hanno da dire al riguardo. (e quindi aggiorna la mia risposta o pubblica la tua)
VonC

1
@ イ オ ニ カ ビ ザ ウ Ovviamente non ho menzionato HTML. Con HTML, è possibile ricreare qualsiasi funzionalità Markdown, quindi è non è una soluzione valida. La domanda riguarda il markdown, non l' HTML.
VonC,

3

Un approccio alternativo, che ho implementato di recente, è utilizzare il plug-in div-table con panflute .

Questo crea una tabella da un set di div recintati (standard nell'implementazione Pandoc di markdown ), in un layout simile a HTML:

---
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
:::::

Sembra:

inserisci qui la descrizione dell'immagine


2

Se usi l'approccio html:

non aggiungere righe vuote

Come questo:

<table>
    <tbody>

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

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

    </tbody>
</table>

il markup si interromperà.

Rimuovi righe vuote:

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

0

un'altra soluzione, è possibile aggiungere <br>tag alla tabella

    |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|

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.