Skip to content
This repository has been archived by the owner on Apr 4, 2020. It is now read-only.

thephpleague/commonmark-ext-table

Repository files navigation

CommonMark Table Extension

Latest Version Build Status Code Quality Code Coverage

DEPRECATED

This extension has been deprecated. All of its functionality now exists in league/commonmark 1.3+ under the League\CommonMark\Extension\Table namespace, so you should upgrade to that version and use that bundled extension instead of this one.

Overview

The Table extension adds the ability to create tables in CommonMark documents.

Installation

This project can be installed via Composer:

composer require league/commonmark-ext-table

Usage

Configure your Environment as usual and simply add the TableExtension provided by this package:

use League\CommonMark\Converter;
use League\CommonMark\DocParser;
use League\CommonMark\Environment;
use League\CommonMark\HtmlRenderer;
use League\CommonMark\Ext\Table\TableExtension;

// Obtain a pre-configured Environment with all the standard CommonMark parsers/renderers ready-to-go
$environment = Environment::createCommonMarkEnvironment();

// Add this extension
$environment->addExtension(new TableExtension());

// Instantiate the converter engine and start converting some Markdown!
$converter = new Converter(new DocParser($environment), new HtmlRenderer($environment));

echo $converter->convertToHtml('# Hello World!');

Syntax

This package is fully compatible with GFM-style tables:

Simple

Code:

th | th(center) | th(right)
---|:----------:|----------:
td | td         | td

Result:

<table>
<thead>
<tr>
<th style="text-align: left">th</th>
<th style="text-align: center">th(center)</th>
<th style="text-align: right">th(right<)/th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left">td</td>
<td style="text-align: center">td</td>
<td style="text-align: right">td</td>
</tr>
</tbody>
</table>

Advanced

| header 1 | header 2 | header 2 |
| :------- | :------: | -------: |
| cell 1.1 | cell 1.2 | cell 1.3 |
| cell 2.1 | cell 2.2 | cell 2.3 |

Table caption

header 1 | header 2
-------- | --------
cell 1.1 | cell 1.2
[Simple table]

Code:

header 1 | header 2
-------- | --------
cell 1.1 | cell 1.2
[*Prototype* table][reference_table]

Result:

<table>
<caption id="reference_table"><em>Prototype</em> table</caption>
<thead>
<tr>
<th>header 1</th>
<th>header 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>cell 1.1</td>
<td>cell 1.2</td>
</tr>
</tbody>
</table>
<table>

Changelog

Please refer to the CHANGELOG for more information on what has changed recently.

Development

You need to have php or docker installed to develop the library. To list all available commands run:

./run

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

This library is licensed under the MIT license. See the License File for more information.