andreasindal/laravel-markdown

此包已 废弃 且不再维护。未建议替代包。

用于markdown解析的简单Blade指令。

3.1.1 2020-01-28 07:49 UTC

This package is auto-updated.

Last update: 2020-07-14 16:08:17 UTC


README

⚠️ 重要

该项目不再维护,将不会接收任何更新,也不会支持Laravel的后续版本。

Laravel-Markdown

Build Status

一个小巧、轻量级且易于使用的Laravel包,用于处理markdown。它包括一个外观、一个辅助函数和一个Blade指令,以使您的生活更轻松。

Laravel版本 Laravel-Markdown版本
5.8, 6.* 3.1.1
5.7 3.0.1
5.6 3.0
5.5 2.0
5.3, 5.4 1.1
5.2 1.0

安装

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

composer require andreasindal/laravel-markdown:"3.0.1"

Laravel 5.5及以上版本使用包自动发现,因此您无需手动添加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('Indal\Markdown\Parser');
$html = $parser->parse('# Hello'); // <h1>Hello</h1>

驱动程序(新功能!)

Laravel-Markdown允许您添加自定义markdown驱动程序。为了使用自定义markdown驱动程序,您需要创建一个实现了 Indal\Markdown\Drivers\MarkdownDriver 接口的类。该接口包含两个方法:textline。其中,text 用于将一块markdown转换为HTML,而 line 用于转换单行。

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

鸣谢

许可证

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