webuni / commonmark-table-extension
Table extension for league/commonmark
Installs: 942 388
Dependents: 14
Suggesters: 0
Security: 0
Stars: 129
Watchers: 5
Forks: 17
Type:commonmark-extension
Requires
- php: ^7.1
- league/commonmark: ~0.19.3|^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- phpstan/phpstan: ~0.11
- phpunit/phpunit: ^7.0|^8.0
- symfony/var-dumper: ^4.0
- vimeo/psalm: ^3.0
README
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 colinodell@gmail.com instead of using the issue tracker.
Credits
License
This library is licensed under the MIT license. See the License File for more information.