Modern CommonMark bundle for Symfony 4
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.editorconfig
.gitignore
LICENSE
README.md
composer.json

README.md

Avensome CommonMark Bundle

Provides seamless integration of CommonMark with Symfony and Twig.

Requires PHP 7.0+ and Symfony 4.0+.

Installation

Install with Composer:

composer install avensome/commonmark-bundle

Then add Avensome\CommonMarkBundle\AvensomeCommonMarkBundle to config/bundles.php:

<?php

return [
    // ...
    Avensome\CommonMarkBundle\AvensomeCommonMarkBundle::class => ['all' => true],
];

Usage in services

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
    }
}

Usage in Twig

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 %}

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.

# ...

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.

For example to enable WebUni Table Extension, install it and edit your services.yaml:

services:
    # ...
    
    Webuni\CommonMark\TableExtension\TableExtension:
        tags:
            - name: avensome_commonmark.extension