northernco / markdown-bundle
Symfony bundle for including parsedown for converting markdown to html
Installs: 10 704
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.1
- erusev/parsedown: ^1.7
- symfony/cache-contracts: ^2.0|^3.0
- symfony/config: ^5.4|^6.0
- symfony/dependency-injection: ^5.4|^6.0
- symfony/framework-bundle: ^5.4|^6.0
- symfony/html-sanitizer: ^6.1
- twig/twig: ^2.12|^3.0
This package is auto-updated.
Last update: 2024-10-26 16:49:12 UTC
README
Installation
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
$ composer require northernco/markdown-bundle
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require northernco/markdown-bundle
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
// config/bundles.php return [ // ... Northern\MarkdownBundle\NorthernMarkdownBundle::class => ['all' => true], ];
Usage
Once the bundle is installed, you can autowire a MarkdownRepositoryInterface
or MarkdownParserInterface
into any service or controller. It's recommended
to use the MarkdownRepositoryInterface
as this will cache the results to make
subsequent calls much faster.
Example:
use Northern\MarkdownBundle\Service\MarkdownParserInterface; use Northern\MarkdownBundle\Service\MarkdownRepositoryInterface; class Service { private $parser; private $repository; public function __construct( MarkdownParserInterface $parser, MarkdownRepositoryInterface $repository ) { $this->parser = $parser; $this->repository = $repository; } public function someMethod() { $text = '# Test'; // Converts the markdown $html = $this->parser->convertMarkdownToHtml($text); // or convert and cache the markdown $html = $this->repository->getHtmlFromMarkdown($text); } }
In Twig, you can use the md2html
filter:
{{ markdown_string|md2html }}