Introduction
On this page
This package contains:
- a Blade component that can render markdown
- a highly configurable class that you can use to render markdown
Let's start with an example of the provided x-markdown Blade component. This chunk of markdown...
<x-markdown> # My title This is a [link to our website](https://spatie.be) ```php echo 'Hello world'; ``` </x-markdown>
... will be converted to this chunk of HTML:
<div> <h1 id="my-title">My title</h1> <p>This is a <a href="https://spatie.be">link to our website</a></p> <pre class="shiki" style="background-color: #fff"><code><span class="line"><span style="color: #005CC5">echo</span><span style="color: #24292E"> </span><span style="color: #032F62">'Hello world'</span><span style="color: #24292E">;</span></span> <span class="line"></span></code></pre> </div>
You can also programmatically render HTML.
// by resolving the class out of the container all the options // in the config file will be used. app(Spatie\LaravelMarkdown\MarkdownRenderer::class)->toHtml($markdown);
Out of the box, the x-markdown component or MarkdownRenderer can:
- highlight code blocks correctly (via Shiki PHP) for 100+ languages, including PHP, JS, Blade, and many more.
- add anchor links to headings
- cache results to increase performance
We have badges!
👁 Software License
👁 Total Downloads
