Tables¶
Summary¶
The Tables extension adds the ability to create tables in Markdown documents.
This extension is included in the standard Markdown library.
Note
This extension is in maintenance mode. We will continue to fix bugs and keep it up-to-date with the core parser, but no new features or changes in behavior will be made. If you need a feature that this extension does not offer, then you have three options (1) find an existing third-party extension which meets your needs, (2) build your own extension, or (3) fork this extension (pursuant to its licensing requirements) and maintain it as a third-party extension.
Syntax¶
Tables are defined using the syntax established in PHP Markdown Extra.
Thus, the following text (taken from the above referenced PHP documentation):
First Header | Second Header
------------- | -------------
Content Cell | Content Cell
Content Cell | Content Cell
will be rendered as:
<table>
<thead>
<tr>
<th>First Header</th>
<th>Second Header</th>
</tr>
</thead>
<tbody>
<tr>
<td>Content Cell</td>
<td>Content Cell</td>
</tr>
<tr>
<td>Content Cell</td>
<td>Content Cell</td>
</tr>
</tbody>
</table>
See Also
The Attribute Lists extension includes support for defining attributes on table cells.
Usage¶
See Extensions for general extension usage. Use tables as the
name of the extension.
See the Library Reference for information about configuring extensions.
The following options are provided to change the default behavior:
-
use_align_attribute: Set toTrueto usealigninstead of an appropriatestyleattributeDefault:
'False'
A trivial example:
markdown.markdown(some_text, extensions=['tables'])
Examples¶
For an example, let us suppose that alignment should be controlled by the legacy align
attribute.
>>> from markdown.extensions.tables import TableExtension
>>> html = markdown.markdown(text,
... extensions=[TableExtension(use_align_attribute=True)]
... )

