mprince / laravel-mdparser
Laravel markdown parser
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:metapackage
Requires
- erusev/parsedown: ^1.7
- illuminate/support: ^9.45
Requires (Dev)
- mockery/mockery: ^1.5
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-11-30 02:02:50 UTC
README
A small, lightweight and easy-to-use Laravel package for handling markdown. It comes with a facade, a helper function and a Blade directive to make life easier for you.
Installation
To install it, simply pull it down with Composer. Run the php artisan vendor:publish
command to publish the configuration file.
composer require mprince/laravel-mdparser
Laravel 9 and above use Package Auto-Discovery, so you do not have to manually add the MarkdownServiceProvider.
Usage
Blade-directive
The markdown parser may be used in your Blade templates by using the @markdown
directive.
<article> <h1>{{ $post->title }}</h1> <section class="content"> @markdown($post->body) </section> </article>
You can also use a block-style syntax:
@markdown # Hello world This *text* will be **parsed** to [HTML](http://laravel.com). @endmarkdown
Facade
If you registered the Markdown facade as shown above, you can easily parse markdown using it.
$markdown = "# Hello"; $html = Markdown::parse($markdown) // <h1>Hello</h1>
Helper-functions
$html = markdown('# Hello'); // <h1>Hello</h1>
$html = markdown_capture(function () { echo "# Hello"; echo "\n\n"; echo "So **cool**!" }); // <h1>Hello</h1> // <p>So <b>cool</b>!</p>
Of course, you could also resolve the parser from the service container and use it yourself.
$parser = app('Mprince\Markdown\Parser'); $html = $parser->parse('# Hello'); // <h1>Hello</h1>
Drivers (NEW!)
Laravel-Markdown allows you to add custom markdown drivers. In order to use a custom markdown driver, you need to create a class that implements the Mprince\Markdown\Drivers\MarkdownDriver
interface. The interface contains two methods: text
and line
. text
is used to convert a block of markdown to HTML, while line
is used to convert a single line.
Laravel-Markdown ships with a ParsedownDriver
using the Parsedown-package by @erusev.
Credits
- Mohamed Said (@themsaid)
License
Licensed under MIT. For more information, see the LICENSE-file.