Skip to content

– title: Tables Extension


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.

Consider the following text (taken from the above referenced PHP documentation).

Markdown Source
First Header  | Second Header
------------- | -------------
Content Cell  | Content Cell
Content Cell  | Content Cell
HTML Output
<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 to True to use align instead of an appropriate style attribute

    Default: '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)]
... )