northernco/markdown-bundle

There is no license information available for the latest version (2.1.1) of this package.

Symfony bundle for including parsedown for converting markdown to html

Installs: 9 843

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 3

Forks: 0

Open Issues: 0

Type:symfony-bundle

2.1.1 2023-04-26 13:28 UTC

This package is auto-updated.

Last update: 2024-03-26 15:34:10 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 }}