Avensome CommonMark Bundle
Provides seamless integration of CommonMark with Symfony and Twig., (*1)
Requires PHP 7.0+ and Symfony 4.0+., (*2)
Installation
Install with Composer:, (*3)
composer require avensome/commonmark-bundle
Then add Avensome\CommonMarkBundle\AvensomeCommonMarkBundle
to config/bundles.php
:, (*4)
<?php
return [
// ...
Avensome\CommonMarkBundle\AvensomeCommonMarkBundle::class => ['all' => true],
];
Usage in services
CommonMarkConverter
is an injectable service:, (*5)
<?php
use League\CommonMark\CommonMarkConverter;
class MyService
{
public function __construct(CommonMarkConverter $converter)
{
// Do something with $converter
// https://github.com/thephpleague/commonmark#basic-usage
}
}
Usage in Twig
The markdown
filter and tag are available in Twig., (*6)
{{ '# This string will be turned into HTML' | markdown }}
{% markdown %}
Contents of *these tags* will become HTML!
- Nunquam locus lanista.
- Neuter, barbatus solems aegre prensionem de secundus, salvus galatae.
- Rumor moris, tanquam castus verpa.
{% endmarkdown %}
Configuration
The CommonMarkConverter
accepts configuration as one of its parameters. With this package you can adjust these in your Symfony configuration (config.yaml
or similar). Just add the avensome_commonmark
key, everything under it will be passed directly to the Converter., (*7)
# ...
avensome_commonmark:
html_input: allow
allow_unsafe_links: true
Extensions
To enable a CommonMark extension, just register it as a service and tag it with avensome_commonmark.extension
., (*8)
For example to enable WebUni Table Extension, install it and edit your services.yaml
:, (*9)
services:
# ...
Webuni\CommonMark\TableExtension\TableExtension:
tags:
- name: avensome_commonmark.extension