Provides seamless integration of CommonMark with Symfony and Twig.
Requires PHP 7.0+ and Symfony 4.0+.
Install with Composer:
composer require avensome/commonmark-bundle
Then add Avensome\CommonMarkBundle\AvensomeCommonMarkBundle
to config/bundles.php
:
<?php
return [
// ...
Avensome\CommonMarkBundle\AvensomeCommonMarkBundle::class => ['all' => true],
];
CommonMarkConverter
is an injectable service:
<?php
use League\CommonMark\CommonMarkConverter;
class MyService
{
public function __construct(CommonMarkConverter $converter)
{
// Do something with $converter
// https://github.com/thephpleague/commonmark#basic-usage
}
}
The markdown
filter and tag are available in Twig.
{{ '# 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 %}
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.
# ...
avensome_commonmark:
html_input: allow
allow_unsafe_links: true
To enable a CommonMark extension, just register it as a service and tag it with avensome_commonmark.extension
.
For example to enable WebUni Table Extension, install it and edit your services.yaml
:
services:
# ...
Webuni\CommonMark\TableExtension\TableExtension:
tags:
- name: avensome_commonmark.extension