mprince/laravel-mdparser

Laravel Markdown 解析器

dev-main 2023-01-02 07:10 UTC

This package is auto-updated.

Last update: 2024-09-30 01:41:56 UTC


README

Build Status

这是一个轻量级、易于使用的 Laravel 包,用于处理 Markdown。它包括一个门面、一个辅助函数和一个 Blade 指令,以使您的使用更加便捷。

安装

要安装它,只需使用 Composer 下载。运行 php artisan vendor:publish 命令以发布配置文件。

composer require mprince/laravel-mdparser

Laravel 9 及以上版本使用包自动发现,因此您无需手动添加 MarkdownServiceProvider。

使用方法

Blade 指令

您可以使用 @markdown 指令在 Blade 模板中使用 Markdown 解析器。

<article>
    <h1>{{ $post->title }}</h1>

    <section class="content">
        @markdown($post->body)
    </section>
</article>

您也可以使用块状语法

@markdown
# Hello world

This *text* will be **parsed** to [HTML](https://laravel.net.cn).
@endmarkdown

门面

如果您已如上所示注册了 Markdown 门面,则可以使用它轻松解析 Markdown。

$markdown = "# Hello";

$html = Markdown::parse($markdown) // <h1>Hello</h1>

辅助函数

$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>

当然,您也可以从服务容器中解析解析器并自行使用。

$parser = app('Mprince\Markdown\Parser');
$html = $parser->parse('# Hello'); // <h1>Hello</h1>

驱动器(全新!)

Laravel-Markdown 允许您添加自定义 Markdown 驱动器。为了使用自定义 Markdown 驱动器,您需要创建一个实现 Mprince\Markdown\Drivers\MarkdownDriver 接口的类。该接口包含两个方法:textlinetext 用于将一段 Markdown 转换为 HTML,而 line 用于将单行转换为 HTML。

Laravel-Markdown 附带了一个使用 Parsedown-packageParsedownDriver,由 @erusev 提供。

致谢

许可证

在 MIT 许可下发布。更多信息,请参阅 LICENSE 文件