smith981 / knp-markdown-bundle
Knplabs markdown bundle transforms markdown into html
Installs: 108
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 50
Type:symfony-bundle
Requires
- php: >=5.3.9
- michelf/php-markdown: 1.4.0
- symfony/framework-bundle: ~2.1
Suggests
- ext-sundown: to use optional support for php-sundown extension instead of php implementation
- symfony/twig-bundle: to use the Twig markdown filter
This package is not auto-updated.
Last update: 2024-11-05 08:27:13 UTC
README
Provide markdown conversion (based on Michel Fortin work) to your Symfony2 projects.
INSTALLATION
Add KnpMarkdownBundle to your composer.json
{ "require": { "knplabs/knp-markdown-bundle": "~1.3" } }
Register the bundle in app/AppKernel.php
$bundles = array( // ... new Knp\Bundle\MarkdownBundle\KnpMarkdownBundle(), );
USAGE
// Use the service $html = $this->container->get('markdown.parser')->transformMarkdown($text); // Use the helper with default parser echo $view['markdown']->transform($text); // Use the helper and a select specific parser echo $view['markdown']->transform($text, $parserName);
If you have enabled the Twig markdown filter, you can use the following in your Twig templates:
{# Use default parser #} {{ my_data|markdown }} {# Or select specific parser #} {{ my_data|markdown('parserName') }}
Change the parser implementation
Create a service implementing Knp\Bundle\MarkdownBundle\MarkdownParserInterface
,
then configure the bundle to use it:
knp_markdown: parser: service: my.markdown.parser
Alternatively if you are using the markdown.parser.sundown
there are
options for enabling sundown extensions and render flags, see the
default Configuration with:
php app/console config:dump-reference knp_markdown
This bundle comes with 5 parser services, 4 based on the same algorithm but providing different levels of compliance to the markdown specification, and one which is uses the php sundown extension:
- markdown.parser.max // fully compliant = slower (default implementation)
- markdown.parser.medium // expensive and uncommon features dropped
- markdown.parser.light // expensive features dropped
- markdown.parser.min // most features dropped = faster
- markdown.parser.sundown // faster and fully compliant (recommended)
markdown.parser.sundown
requires the php sundown extension.
For more details, see the implementations in Parser/Preset.
TEST
phpunit -c myapp vendor/bundles/Knp/Bundle/MarkdownBundle