clippings / parsedown-provider
Pimple service provider for Parsedown.
Requires
- php: ^7.1
- erusev/parsedown: ^1.5.3
- pimple/pimple: ^3.0
Requires (Dev)
- erusev/parsedown-extra: ^0.7.1
- friendsofphp/php-cs-fixer: ^2.0@alpha
- phpunit/phpunit: ^7
- twig/twig: ^2.5
Suggests
- erusev/parsedown-extra: Markdown Extra support
This package is auto-updated.
Last update: 2024-12-19 06:44:39 UTC
README
This is a service provider for the Markdown parser Parsedown. It could be used to easily use and configure Parsedown with Pimple or Silex.
Installation
Install the latest version with Composer:
composer require clippings/parsedown-provider
Usage
Register the service provider in the Pimple container and enjoy!
$app->register(new Clippings\ParsedownProvider\ParsedownServiceProvider()); $html = $app['parsedown']->text($markdown);
It registers one service - parsedown
which returns the same instance of Parsedown
.
Configuration
You can configure it like that:
$app->register(new Clippings\ParsedownProvider\ParsedownServiceProvider(), [ 'parsedown.markup_escaped' => true, ]);
It accepts the following configuration parameters:
-
parsedown.class
- The class to use to instantiate Parsedown. Default:Parsedown
. You can use that to load an an extension of Parsedown likeParsedownExtra
.Don't forget to
composer require erusev/parsedown-extra
and then you can do:$app->register(new Clippings\ParsedownProvider\ParsedownServiceProvider(), [ 'parsedown.class' => 'ParsedownExtra', ]);
-
parsedown.breaks_enabled
- Whether to treat line breaks as new lines or not. Default:true
. This is not the default for Markdown and Parsedown, but it is very common configuration - e.g. GitHub treats line breaks like that. -
parsedown.markup_escaped
- Whether to escape HTML. Default:false
. -
parsedown.urls_linked
- Whether URLs are linked by default. Default:true
. This is the Parsedown default. URLs would be auto-linked. It is similar to GFM.
Twig
If you have already registered Twig, probably with the TwigServiceProvider
, the Parsedown service provider would also register a parsedown
Twig filter for you to use in your templates.
You can use it like that:
{{ foo.markdown|parsedown }}
This will convert the Markdown you have directly in your template and output HTML using the same Parsedown instance you have configured.
Silex Application Trait
If you use it with Silex you can add the ParsedownTrait
in your application:
<?php class Application extends Silex\Application { use Clippings\ParsedownProvider\ParsedownTrait; }
Then you could use it like that:
$html = $app->parsedown($markdown);
Authors and License
The Parsedown provider was developed by the Clippings.com team and is distributed under the MIT license.
Read more about our projects at the Clippings Geeks blog.