Remove hard dependency with KnpMarkdownBundle

This commit is contained in:
William DURAND 2012-07-20 16:59:59 +02:00
parent 09fbfee03b
commit 64988d00c1
5 changed files with 45 additions and 7 deletions

View File

@ -12,16 +12,12 @@ For Symfony 2.0.x, you need to use the 1.* version of the bundle.
## Installation ##
This bundle uses
[KnpMarkdownBundle](https://github.com/KnpLabs/KnpMarkdownBundle).
Register the namespace in `app/autoload.php`:
// app/autoload.php
$loader->registerNamespaces(array(
// ...
'Nelmio' => __DIR__.'/../vendor/bundles',
'Knp' => __DIR__.'/../vendor/bundles',
));
Register the bundles in `app/AppKernel.php`:
@ -32,7 +28,6 @@ Register the bundles in `app/AppKernel.php`:
return array(
// ...
new Nelmio\ApiDocBundle\NelmioApiDocBundle(),
new Knp\Bundle\MarkdownBundle\KnpMarkdownBundle(),
);
}

View File

@ -6,6 +6,7 @@
<parameters>
<parameter key="nelmio_api_doc.extractor.api_doc_extractor.class">Nelmio\ApiDocBundle\Extractor\ApiDocExtractor</parameter>
<parameter key="nelmio_api_doc.form.extension.description_form_type_extension.class">Nelmio\ApiDocBundle\Form\Extension\DescriptionFormTypeExtension</parameter>
<parameter key="nelmio_api_doc.twig.extension.markdown.class">Nelmio\ApiDocBundle\Twig\Extension\MarkdownExtension</parameter>
</parameters>
<services>
@ -15,9 +16,14 @@
<argument type="service" id="annotation_reader" />
<argument type="service" id="nelmio_api_doc.parser.form_type_parser" />
</service>
<service id="nelmio_api_doc.form.extension.description_form_type_extension" class="%nelmio_api_doc.form.extension.description_form_type_extension.class%">
<tag name="form.type_extension" alias="form" />
</service>
<service id="nelmio_api_doc.twig.extension.markdown" class="%nelmio_api_doc.twig.extension.markdown.class%">
<tag name="twig.extension" />
</service>
</services>
</container>

View File

@ -50,7 +50,6 @@ class AppKernel extends Kernel
new \Symfony\Bundle\TwigBundle\TwigBundle(),
new \Nelmio\ApiDocBundle\NelmioApiDocBundle(),
new \Nelmio\ApiDocBundle\Tests\Fixtures\NelmioApiDocTestBundle(),
new \Knp\Bundle\MarkdownBundle\KnpMarkdownBundle(),
);
}

View File

@ -0,0 +1,38 @@
<?php
namespace Nelmio\ApiDocBundle\Twig\Extension;
use dflydev\markdown\MarkdownExtraParser;
class MarkdownExtension extends \Twig_Extension
{
private $markdownParser;
public function __construct()
{
$this->markdownParser = new MarkdownExtraParser();
}
/**
* {@inheritdoc}
*/
public function getFilters()
{
return array(
'markdown' => new \Twig_Filter_Method($this, 'markdown', array('is_safe' => array('html'))),
);
}
/**
* {@inheritdoc}
*/
public function getName()
{
return 'nelmio_api_doc';
}
public function markdown($text)
{
return $this->markdownParser->transformMarkdown($text);
}
}

View File

@ -18,7 +18,7 @@
"symfony/framework-bundle": "2.1.*",
"symfony/twig-bundle": "2.1.*",
"symfony/form": "2.1.*",
"knplabs/knp-markdown-bundle": "dev-master"
"dflydev/markdown": "1.0.*"
},
"require-dev": {
"symfony/css-selector": "2.1.*",