Exemplo n.º 1
0
 /**
  * @param Application $app An Application instance
  */
 public function register(Application $app)
 {
     // TODO: configure e.g. file, db, cmf, github, markdown, parsedown, sundowner, pygment, geshi etc
     $app['markdown_parser_highlighter'] = $app->share(function ($app) {
         return new \MMB\Highlighter\PygmentsShell($app['config']['parameters']['pygments_bin']);
     });
     $app['markdown_parser'] = $app->share(function ($app) {
         $parser = new \MMB\Markdown\Parser\Parsedown\StylisedParsedown();
         if (!empty($app['markdown_parser_highlighter'])) {
             $parser->setHighlighter($app['markdown_parser_highlighter']);
         }
         return $parser;
     });
     $app['article_provider'] = $app->share(function () {
         return new \MMB\Filesystem\FilesystemArticleProvider();
     });
     $app['document_provider'] = $app->share(function ($app) {
         $documentProvider = new \MMB\Markdown\MarkdownDocumentProvider();
         $documentProvider->setParser($app['markdown_parser']);
         return $documentProvider;
     });
     $app['article_service'] = $app->share(function ($app) {
         return new FilesystemArticleService($app['config']['parameters']['mmb_file_path'], $app['article_provider'], $app['document_provider']);
     });
 }
Exemplo n.º 2
0
    public function testStyliseParsedownWithPygments()
    {
        $parser = new \MMB\Markdown\Parser\Parsedown\StylisedParsedown();
        $parser->setHighlighter(new \MMB\Highlighter\PygmentsShell('/opt/local/bin/pygmentize-2.7'));
        $result = $parser->text(<<<EOF
Hello
```php
<?php print 'Hello World'; ?>
```
EOF
);
        $this->assertNotEmpty($result);
    }