Tablas¶
Ya hemos visto que una tabla muestra datos en forma de filas y columnas:
Lista de paises:
| País | Capital | Población |
|---|---|---|
| Francia | París | 68 MM |
| Italia | Roma | 58 MM |
| Alemania | Berlín | 84 MM |
Como de costumbre, el aspecto de la tabla, colores, etc. depende de la hoja de estilos utilizada por MkDocs.
Markdown no tiene una sintaxis para crear una tabla, por lo que en principio tendríamos que crearlas usando etiquetas HTML:
<p>Lista de paises:</p>
<table>
<tr>
<th>País</th>
<th>Capital</th>
<th>Población</th>
</tr>
<tr>
<td>Francia</td>
<td>París</td>
<td>68 MM</td>
</tr>
<tr>
<td>Italia</td>
<td>Roma</td>
<td>58 MM</td>
</tr>
<tr>
<td>Alemania</td>
<td>Berlín</td>
<td>84 MM</td>
</tr>
</table>
Las etiquetas son:
<table> ... </table>delimita la tabla en su conjunto.<tr> ... </tr>delimita una fila (table row)<td> ... </td>delimita una celda (table data)<th> ... </th>delimita una celda de cabecera (table heading)
La extensión tables permite incorporar esta funcionalidad a la sintaxis markdown. La activamos en el archivo mkdocs.yml con:
markdown_extensions:
- tables
y la tabla se escribe de la siguiente forma, evitando las etiquetas HTML:
Lista de países:
|País | Capital |Población |
|----------|------------|-------------|
|Francia |París |68 MM |
|Italia |Roma |58 MM |
|Alemania |Berlín |84 MM |
Las tablas markdown se insertan entre párrafo y párrafo, precedidas por una línea en blanco y otra tras la tabla.
Para separar celdas se usan caracteres | (pipe) , y para separar las cabeceras del cuerpo de la tabla se utilizan guiones.
Los caracteres | usados para separar celdas son opcionales en los extremos izquierdo y derecho de la tabla, excepto cuando la tabla está formada por una única columna:
País | Capital |Población
----------|------------|-------------
Francia |París |68 MM
Italia |Roma |58 MM
Alemania |Berlín |84 MM
No es necesario alinear verticalmente los caracteres |. El ancho de las columnas se determinará en el momento en que el navegador muestre los contenidos, y viene determinado por el contenido y por el ancho de la ventana. No podemos especificar un tamaño de columna:
País | Capital |Población
----------|------------|-------------
Francia |París |68 MM
Italia |Roma |58 MM
Alemania |Berlín |84 MM
... aunque una buena alineación facilitará la edición del documento markdown.
En las cabeceras, debe haber al menos tres guiones en cada columna.
El contenido de las celdas puede formatearse: negrita, cursiva, etc. Podemos insertar enlaces, imágenes u otros elementos markdown. Esto es posible si usamos la extensión tables. Si creamos la tabla manualmente mediante etiquetas, el formato markdown no tendrá efecto dentro de la tabla.
Podemos alinear el contenido de una columna indicándolo con un carácter : en la separación de las cabeceras:
| a la izda. | centrada | a la dcha. |
|:-----------|:--------:|-----------:|
|texto | texto | texto |
¿Que pasa si queremos usar un carácter | como texto regular de una celda? Basta con "escaparlo", es decir, anteponerle una barra invertida \.