Crear una tabla sin encabezado en Markdown

141

¿Es posible crear una tabla sin encabezado en Markdown?

El HTML se vería así:

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

Respuestas:

92

La mayoría de los analizadores Markdown no admiten tablas sin encabezados. Eso significa que la línea de separación para los encabezados es obligatoria.

Analizadores que no admiten tablas sin encabezados

Analizadores que hacen mesas de apoyo y sin cabeceras.

  • Kramdown : un analizador en Ruby
  • Texto :: MultiMarkdown : módulo CPL Perl.
  • MultiMarkdown : aplicación de Windows.
  • ParseDown Extra : un analizador en PHP.
  • Pandoc : Un convertidor de documentos para la línea de comandos escrito en Haskell (soportes cabecera de menos mesas a través de sus simple_tablesy multiline_tablesextensiones)
  • Flexmark : un analizador en Java.

Solución CSS

Sin embargo, si puede cambiar el CSS de la salida HTML, puede aprovechar la :emptypseudo clase para ocultar un encabezado vacío y hacer que parezca que no hay ningún encabezado.

adius
fuente
28
El analizador de Github podría agregarse a la lista de aquellos que no lo admiten.
Quantum7
44
Más información sobre la solución CSS: stackoverflow.com/questions/12023771/hide-empty-cells-in-table
Vadzim
80

Si no le importa desperdiciar una línea dejándola vacía, considere el siguiente truco (es un truco, y use esto solo si no le gusta agregar complementos adicionales).

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

Para ver cómo podría verse el anterior, copie el anterior y visite https://stackedit.io/editor

Se trabajó con GitLab / GitHub 's de rebajas implementaciones.

Thamme Gowda
fuente
1
¿Con qué implementación funciona eso? No funciona con Text :: MultiMarkdown de Perl, pero creo que podría funcionar con algunas implementaciones de PHP MultiMarkdown.
RedGrittyBrick
2
Funcionó con implementaciones de marcado de gitlab / github. No estoy seguro sobre el texto de Perl :: MultiMarkdown
Thamme Gowda
8
Esto creará un encabezado de tabla vacío y una fila vacía.
Gajus
Esto realmente funciona muy bien con pandoc markdown a pdf.
Alex Baranowski el
¡Gracias! Esto funciona con Laravel 5.8 (multi) markdown también. No hay encabezados visibles, solo una línea. Parece un divisor, que puede eliminarse usando algo de CSS en el tema.
user2966991
17

Obtuve esto trabajando con el Markdown de Bitbucket usando un enlace vacío:

[]()  | 
------|------
Row 1 | row 2
Stuart Campbell
fuente
2
También solicitará una línea de encabezado vacía. Al menos es solo la mitad de la altura que una línea normal. También funcionó para mí como Hack in github
Londane
Este truco funcionó para mí al escribir documentación en Insomnia. Todavía crea una línea de encabezado, pero es mucho más corta que si pongo texto allí. ¡Gracias!
jkmartindale
¡Brillante! Todavía veo un pequeño espacio vertical con Github Markdown, pero es mejor que antes.
Keith Bennett el
15

Solución universal

Desafortunadamente, muchas de las sugerencias no funcionan para todos los visores / editores de Markdown, por ejemplo, la popular extensión de Markdown Viewer Chrome, pero funcionan con iA Writer .

Lo que parece funcionar en estos dos programas populares (y podría funcionar para su aplicación particular) es usar HTML comment blocks ('<!-- -->'):

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

Al igual que algunas de las sugerencias anteriores, esto agrega una fila de encabezado vacía en su visor / editor Markdown. En iA Writer, es estéticamente lo suficientemente pequeño como para que no se interponga demasiado en mi camino.

Tony Barganski
fuente
Esto define completamente el punto de usar Markdown, ya que cuando se ve como solo texto, los comentarios se eliminarán y las columnas ni siquiera se alinearán más.
Hackel
Creo que @hackel lo entendió mal. Esto no alinea las columnas con anchos fijos. Por el contrario, ofrece una buena solución para tener encabezados de columna válidos pero vacíos. Fue una gran solución en mi situación. La tabla todavía se representa como se esperaba / se esperaba; simplemente no tenía fila de encabezado.
mdahlman
8

Lo siguiente funciona bien para mí en GitHub. La primera fila ya no está en negrita ya que no es un encabezado:

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

Consulte una tabla HTML de muestra sin encabezado aquí .

Daniel
fuente
55
Esto es justo lo que el interrogador dijo que no querían.
Neil Mayhew
Las tablas HTML no parecen funcionar en Bitbucket ( community.atlassian.com/t5/Bitbucket-questions/… ): muestra el propio HTML en lugar de representar una tabla.
jsaven
7

Omitir el encabezado sobre el divisor produce una tabla sin encabezado en al menos Perl Text :: MultiMarkdown y en FletcherPenney MultiMarkdown

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

Ver solicitud de función de rebaja de PHP


Los encabezados vacíos en PHP Parsedown producen tablas con encabezados vacíos que generalmente son invisibles (dependiendo de su CSS) y, por lo tanto, parecen tablas sin encabezado.

|     |     |
|-----|-----|
|Foo  |37   |
|Bar  |101  |
RedGrittyBrick
fuente
Sobre el uso de Parsedown, en realidad el encabezado todavía está aquí, solo verifique el HTML. Si tiene un relleno CSS en las celdas, verá las celdas del encabezado. Pero supongo que eso table th:empty { padding: 0; }solucionaría eso.
AymDev
6

Al menos para el GitHub Flavored Markdown , puede dar la ilusión al poner en negrita todas las entradas de fila sin encabezado con el formato regular __o **:

|Regular | text | in header | turns bold |
|-|-|-|-|
| __So__ | __bold__ | __all__ | __table entries__ |
| __and__ | __it looks__ | __like a__ | __"headerless table"__ |
TT--
fuente
¡Estaba buscando algo que funcionara en GFM y este truco es creativo!
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>
Steven Penny
fuente
Esto parece no funcionar con github.com/chjj/marked . ¿Hay alguna referencia en la que pueda consultar si este es incluso el comportamiento esperado?
Adius
@AdrianSieber Uso Kramdown, no puedo hablar de otro.
Steven Penny
2

Es posible que pueda ocultar un encabezado si puede agregar el siguiente CSS:

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

Esto es un poco pesado y no distingue entre tablas, pero puede hacerlo para una tarea simple.

Manngo
fuente
El único truco de CSS que me funciona por alguna razón (estoy usando VNote con el procesador Markdown-it). Ninguna de las soluciones dadas aquí: stackoverflow.com/questions/12023771/hide-empty-cells-in-table funcionó.
lo que el
1

Yo uso <span>en el encabezado de la primera columna:

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

Crea un encabezado vacío con borde, pero con la mitad del tamaño.

Long-John Silver
fuente
0

¡La solución de @ thamme-gowda también funciona para las imágenes!

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

Puedes ver esto en un resumen que hice para eso . Aquí hay una representación del truco de la tabla en GitHub y GitLab:

tonejito
fuente