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>
<h1id="my-title">My title</h1>
<p>This is a <ahref="https://spatie.be">link to our website</a></p>
<preclass="shiki" style="background-color: #fff"><code><spanclass="line"><spanstyle="color: #005CC5">echo</span><spanstyle="color: #24292E"> </span><spanstyle="color: #032F62">'Hello world'</span><spanstyle="color: #24292E">;</span></span>
<spanclass="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.