Jak pisać listy w tabeli przecen?

200

Czy można utworzyć listę (wypunktowaną, numerowaną lub nie) w tabeli przecen.

Tabela wygląda następująco:

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

Lista wygląda następująco:

* one
* two
* three

Czy mogę je jakoś scalić?

Gabriel Petrovay
źródło

Odpowiedzi:

253

Tak, możesz je scalić za pomocą HTML. Kiedy tworzę tabele w .mdplikach z Github, zawsze lubię używać kodu HTML zamiast markdown.

Github Flavored Markdown obsługuje podstawowy HTML w .mdpliku. To byłaby odpowiedź:

Markdown pomieszany z 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|

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

Tak to wygląda na Github:

Ionică Bizău
źródło
1
To świetnie, ale czy jest jakiś sposób na stylizowanie listy? Usunąć punktory, marginesy itp.? Na przykład Github wydaje się nie akceptować style="list-style: none"znacznika na ulelemencie.
Trebor Rude,
@TreborRude Nie, ponieważ Markdown nie jest tak naprawdę HTML. Ale jeśli korzystasz z biblioteki (np. marked), Prawdopodobnie masz tę funkcję (aby połączyć HTML z markdown).
Ionică Bizău
W porządku, dowiedziałem się, że <span>tag z <br/>tagami osadzonymi zrobił dokładnie to, co próbowałem zrobić z listą stylów.
Trebor Rude,
@TreborRude Pewnie, wciąż możesz mieć wiele komórek linii. Prawdopodobnie akceptuje również <p>tagi.
Ionică Bizău,
Z przyjemnością potwierdzam, że pierwszy (osadzony <ul><li>foo</li></ul>) działa również na serwerze Bitbucket.
nwinkler,
91

Jeśli chcesz mieć listę bez punktorów (lub inne niestandardowe użycie) lub więcej wierszy w komórce <br />

| Event         | Platform      | Description |
| ------------- |-----------| -----:|
| `message_received`| `facebook-messenger`<br/>`skype`|
Amio.io
źródło
2
Prawdopodobnie dlatego, że trzy lata temu była to jedyna rozsądna odpowiedź? Zgadzam się z tobą, że dziś jest to lepsza odpowiedź.
William Daniel
14
To jest odpowiedź na Newline w tabeli przecen? , nie to pytanie o listy
Bergi
1
@Bergi Poparłem twoją sugestię. ;) Wyszukiwarka google doprowadziła mnie do tego pytania i tego rozwiązania, którego potrzebowałem. Myślę, że jest to znośne (np. Lista nie wypunktowana), więc trzymam to w tym miejscu.
Amio.io
3
Możesz dodawać punktory za pomocą elementów HTML: & bull; facebook-messenger<br/> & bull; skype
shawnhcorey
markdown lint
zaznacza
48

Nie wiem o tym, ponieważ wszystkie odniesienia do przecen, które znam, takie jak ten , wspominają:

Zawartość komórki musi znajdować się tylko w jednym wierszu

Możesz spróbować z tym Generatorem tabel Markdown (którego przykład wygląda tak, jak wspomniany w pytaniu, więc możesz być tego świadomy).

Pandoc

Jeśli używasz Markdown Pandoc (który rozszerza składnię John Markera Grubera, na której opiera się Markdown GitHub Flavored Markdown ), możesz użyć grid_tables:

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

lub 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.
-------------------------------------------------------------
VonC
źródło
1
Generator tabel Markdown jest niepoprawny, ponieważ akceptuje nowe wiersze, które, jak cytujesz, nie są akceptowane. Ale dzięki za cenne informacje.
Gabriel Petrovay
@GabrielPetrovay Generator tabel Markdown jest stosunkowo nową usługą, nie jestem zaskoczony;) ​​Ale odnośnie „GitHub Flavored Markdown” moja odpowiedź jest zgodna.
VonC
1
Zwykle przyjmuję twoją odpowiedź. Ale czekam 1-2 dni dłużej, może ktoś opublikuje hack (jeśli odpowiedź zostanie zaakceptowana, nikt nie będzie na nią patrzył, z wyjątkiem innych z tym samym problemem)
Gabriel Petrovay
1
@GabrielPetrovay Zgadzam się. Możesz także skontaktować się z pomocą techniczną GitHub i zobaczyć, co mają do powiedzenia na ten temat. (a następnie zaktualizuj moją odpowiedź lub opublikuj własną)
VonC
1
@ イ オ ニ カ ビ ザ ウ Oczywiście nie wspomniałem o HTML. Z HTML, można odtworzyć dowolny markdown funkcji, więc jest nie poprawnym rozwiązaniem. Pytanie dotyczy przecen, a nie HTML.
VonC
3

Alternatywnym podejściem, które niedawno wdrożyłem, jest użycie wtyczki div-table z panflute .

To tworzy tabelę z zestawu ogrodzonych div (standard w implementacji pandoc Markdown ), w układzie podobnym do 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
:::::

Wygląda jak:

wprowadź opis zdjęcia tutaj

Chris Sewell
źródło
2

Jeśli używasz metody HTML:

nie dodawaj pustych linii

Lubię to:

<table>
    <tbody>

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

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

    </tbody>
</table>

znacznik się zepsuje.

Usuń puste linie:

<table>
    <tbody>
        <tr>
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>1</td>
            <td>2</td>
        </tr>
    </tbody>
</table>
Diogo Gomes
źródło
0

innym rozwiązaniem, możesz dodać <br>tag do swojego stołu

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

wprowadź opis zdjęcia tutaj

VectorX
źródło