Tạo bảng không có tiêu đề trong Markdown


141

Có thể tạo bảng mà không có tiêu đề trong Markdown không?

HTML sẽ trông như thế này:

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

Câu trả lời:


92

Hầu hết các trình phân tích cú pháp Markdown không hỗ trợ các bảng mà không có tiêu đề. Điều đó có nghĩa là đường phân cách cho các tiêu đề là bắt buộc.

Trình phân tích cú pháp không hỗ trợ bảng mà không có tiêu đề

  • đa cấp
  • Maruku : Một triển khai phổ biến trong Ruby
  • byword : "Tất cả các bảng phải bắt đầu bằng một hoặc nhiều hàng tiêu đề"
  • PHP Markdown Extra "dòng thứ hai chứa một dòng phân cách bắt buộc giữa các tiêu đề và nội dung"

  • RDiscount Sử dụng cú pháp PHP Markdown Extra.

  • GitHub Hương vị Markdown
  • Parsedown : Trình phân tích cú pháp trong PHP (được sử dụng, ví dụ như trong email của Laravel)

Các trình phân tích cú pháp làm bảng hỗ trợ mà không có tiêu đề.

  • Kramdown : Trình phân tích cú pháp trong Ruby
  • Văn bản :: MultiMarkdown : mô-đun CPAN Perl.
  • MultiMarkdown : Ứng dụng Windows.
  • ParseDown Extra : Trình phân tích cú pháp trong PHP.
  • Pandoc : Trình chuyển đổi tài liệu cho dòng lệnh được viết bằng Haskell (hỗ trợ các bảng không có tiêu đề thông qua các phần mở rộng simple_tablesmultiline_tablesphần mở rộng)
  • Flexmark : Trình phân tích cú pháp trong Java.

Giải pháp CSS

Tuy nhiên, nếu bạn có thể thay đổi CSS của đầu ra HTML, bạn có thể tận dụng :emptylớp giả để ẩn một tiêu đề trống và làm cho nó trông giống như không có tiêu đề nào cả.


28
Trình phân tích cú pháp của Github có thể được thêm vào danh sách những người không hỗ trợ nó.
Quantum7

4
Thông tin thêm về giải pháp CSS: stackoverflow.com/questions/12023771/
leather

80

Nếu bạn không lãng phí một dòng bằng cách để trống, hãy xem xét các lần hack sau (đây là một hack và chỉ sử dụng điều này nếu bạn không muốn thêm bất kỳ plugin bổ sung nào).

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

Để xem cách người ta có thể nhìn, hãy sao chép phần trên và truy cập https://stackedit.io/editor

Nó hoạt động với các triển khai Markdown của GitLab / GitHub .


1
Những gì thực hiện mà làm việc với? Nó không hoạt động với Text của Perl :: MultiMarkdown nhưng tôi nghĩ nó có thể hoạt động với một số triển khai MultiMarkdown của PHP.
RedGrittyBrick

2
Nó đã làm việc với các triển khai đánh dấu của gitlab / github. Tôi không chắc chắn về Văn bản của perl :: MultiMarkdown
Thamme Gowda 6/2/2015

8
Điều này sẽ tạo ra một tiêu đề bảng trống và một hàng trống.
Gajus

Điều này thực sự hoạt động tuyệt vời với pandocmarkdown sang pdf.
Alex Baranowski

Cảm ơn! Điều này cũng hoạt động với đánh dấu Laravel 5.8 (đa). Không có tiêu đề có thể nhìn thấy - chỉ có một dòng. Trông giống như một dải phân cách, có thể được loại bỏ bằng cách sử dụng một số CSS trong chủ đề.
dùng2966991

17

Tôi đã làm việc này với Markdown của Bitbucket bằng cách sử dụng một liên kết trống:

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

2
Cũng sẽ nhắc một dòng tiêu đề trống. Ít nhất nó chỉ bằng một nửa chiều cao như một đường bình thường. Làm việc cho tôi với tư cách là Hack trong github
Londane

Hack này đã làm việc cho tôi khi viết tài liệu trong Insomnia. Vẫn tạo một dòng tiêu đề, nhưng nó ngắn hơn rất nhiều so với việc tôi đặt văn bản ở đó. Cảm ơn!
jkmartindale

Xuất sắc! Tôi vẫn thấy một chút không gian theo chiều dọc với Github Markdown, nhưng nó tốt hơn trước.
Keith Bennett

15

Giải pháp phổ quát

Rất tiếc, rất nhiều đề xuất không hoạt động đối với tất cả người xem / biên tập viên Markdown, chẳng hạn, tiện ích mở rộng Markdown Viewer Chrome phổ biến , nhưng chúng hoạt động với iA Writer .

Những gì dường như hoạt động trên cả hai chương trình phổ biến này (và có thể hoạt động cho ứng dụng cụ thể của bạn) là sử dụng HTML comment blocks ('<!-- -->'):

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

Giống như một số đề xuất trước đó đã nêu, điều này không thêm một hàng tiêu đề trống trong trình xem / trình chỉnh sửa Markdown của bạn. Trong iA Writer, nó đủ nhỏ về mặt thẩm mỹ mà nó không cản trở tôi quá nhiều.


Điều này hoàn toàn làm mất điểm khi sử dụng Markdown, vì khi được xem là chỉ văn bản, các bình luận sẽ bị xóa và các cột thậm chí sẽ không căn chỉnh nữa.
hackel

Tôi nghĩ @hackel hiểu lầm. Điều này không căn chỉnh các cột bằng chiều rộng cố định. Thay vào đó, nó cung cấp một cách giải quyết tốt để có các tiêu đề cột hợp lệ nhưng trống. Đó là một cách giải quyết tuyệt vời trong tình huống của tôi. Bảng vẫn được hiển thị như dự định / dự kiến; nó chỉ đơn giản là không có hàng tiêu đề.
mdahlman

8

Sau đây hoạt động tốt cho tôi trong GitHub. Hàng đầu tiên không còn được in đậm vì nó không phải là tiêu đề:

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

Kiểm tra bảng HTML mẫu mà không có tiêu đề ở đây .


5
Đây chỉ là những gì người hỏi nói họ không muốn.
Neil Mayhew

Các bảng HTML dường như không hoạt động trong Bitbucket ( Community.atlassian.com/t5/Bitbucket-questions/ ám ) - nó hiển thị chính HTML chứ không hiển thị bảng.
jsaven

7

Bỏ qua tiêu đề phía trên bộ chia sẽ tạo ra một bảng không có tiêu đề trong ít nhất Perl Text :: MultiMarkdown và trong FletcherPenney MultiMarkdown

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

Xem yêu cầu tính năng Mark Markdown


Các tiêu đề trống trong PHP Parsedown tạo ra các bảng có các tiêu đề trống thường không nhìn thấy được (tùy thuộc vào CSS của bạn) và do đó trông giống như các bảng không có tiêu đề.

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

Về việc sử dụng Parsedown, thực sự tiêu đề vẫn còn ở đây, chỉ cần kiểm tra HTML. Nếu bạn có phần đệm CSS trên các ô, bạn sẽ thấy các ô tiêu đề. Nhưng tôi đoán điều đó table th:empty { padding: 0; }sẽ khắc phục điều đó.
AymDev

6

Ít nhất là đối với Đánh dấu hương vị GitHub , bạn có thể tạo ảo giác bằng cách làm cho tất cả các mục hàng không tiêu đề được in đậm bằng thông thường __hoặc **định dạng:

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

Tôi đang tìm kiếm thứ gì đó hoạt động trong GFM và bản hack này là một sáng tạo!
Ông trùm

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>

Điều này dường như không hoạt động với github.com/chjj/marked . Có một tài liệu tham khảo, trong đó tôi có thể tra cứu nếu đây thậm chí là hành vi dự kiến?
adius

@AdrianSieber Tôi sử dụng Kramdown, tôi không thể nói về một cái khác.
Steven Penny

2

Bạn có thể ẩn tiêu đề nếu bạn có thể thêm CSS sau:

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

Đây là một chút nặng tay và không phân biệt giữa các bảng, nhưng nó có thể làm cho một nhiệm vụ đơn giản.


Một số mẹo CSS duy nhất phù hợp với tôi vì một số lý do (tôi đang sử dụng VNote với trình kết xuất Markdown-it). Không có giải pháp nào được đưa ra ở đây: stackoverflow.com/questions/12023771/ leather-empty-cells-in-table có thể làm việc.
những gì

1

Tôi sử dụng <span>trong tiêu đề cột đầu tiên:

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

Nó tạo ra một tiêu đề trống có viền, nhưng với kích thước 1/2.


0

Giải pháp của @ thamme-gowda cũng hoạt động cho hình ảnh!

| | |:----------------------------------------------------------------------------:| | ![](https://gravatar.com/avatar/4cc702785290b4934c531c56f6061e5e "Tonejito") |

Bạn có thể kiểm tra điều này trên một ý chính tôi đã làm cho điều đó . Dưới đây là kết xuất của hack bảng trên GitHub và GitLab:

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.