blok/mushdown

Mustache + Shortcode + Markdown = Mushdown 解析器,适用于现代应用

1.0.0 2022-03-31 17:31 UTC

This package is not auto-updated.

Last update: 2024-09-24 04:44:12 UTC


README

Build Status Coverage Status Packagist Packagist Packagist

Mushdown,现代应用的现代解析器。

安装

通过 composer 安装

composer require blok/mushdown

发布配置文件

php artisan vendor:publish --provider="Blok\Mushdown\ServiceProvider" --tag="config"

用法

如何注册短代码?

短代码方法类似于 Wordpress 短代码,你有两个参数:属性和内容。

你可以这样注册短代码


app('mushdown')->register('quote', function ($attr, $content = null) {
    return '<quote '.Html::attributes($attr).'>' . app('mushdown')->compile($content) . '</quote>';
});

echo mushdown(<<<EOT
# Heading

- list

[quote class="mt-2"]Test quote[/quote]

{{user.name}}

EOT, ['user' => ['name' => 'John']]);

将会输出

<h1 id="heading">Heading</h1>
<ul>
<li>list</li>
</ul>
<p><quote  class="mt-2">Test quote</quote></p>
<p>test</p>

处理顺序

Mushdown 解析器的处理顺序如下,因此通常不会出现任何问题或重叠

  1. 短代码:内部实现
  2. Mustache: https://github.com/bobthecow/mustache.php
  3. Markdown: https://github.com/spatie/laravel-markdown

安全

如果您发现任何与安全相关的问题,请通过电子邮件联系,而不是使用问题跟踪器。

致谢

此包是通过 blok/laravel-package-generator 的帮助启动的。