hasnayeen / mdb
MDX for Laravel Blade
v1.0.0
2023-08-26 12:47 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
此软件包允许您在markdown中使用blade组件。如果您熟悉MDX格式,那么这与MDX相同,但带有Laravel blade组件。
雇佣我
我可以在该堆栈(Filament、Laravel、Livewire、AlpineJS、TailwindCSS)上进行合同工作。通过电子邮件或Discord联系我
安装
您可以通过composer安装此软件包
composer require hasnayeen/mdb
用法
假设您有一个如下的blade组件
<!-- resources/views/components/alert.blade.php --> @props(['type' => 'info']) <div {{ $attributes->merge(['class' => "alert alert-{{ $type }}"]) }}> {{ $slot }} </div>
在您的markdown组件中使用此组件,并通过render
方法将其转换为html
$content = ' # Welcome to my blog <x-alert type="success"> This is a success message. </x-alert> <x-alert type="warning"> This is a warning message. </x-alert> <x-alert type="danger"> This is a danger message. </x-alert> '; Mdb::render($content);
或者您也可以在Illuminate\Support\Str
类上使用mdb
方法
Str::mdb($content);
您也可以通过将选项数组传递给render
方法来配置底层的markdown转换器。有关可用选项,请查看League\CommonMark文档。
$content = '# MDB Demo'; $config = [ 'html_input' => 'allow', 'allow_unsafe_links' => true, 'max_nesting_level' => 4, 'renderer' => 'block_separator', ]; Mdb::render($content, $config);
您可以通过将它们添加到mdb配置文件来使用额外的扩展以用于markdown渲染。
'extensions' => [ 'League\CommonMark\Extension\HeadingPermalink\HeadingPermalinkExtension', ]
这将添加标题永久链接扩展,将所有标题转换为永久链接。
您可以通过将数组传递给render
方法来为扩展提供配置,就像之前一样
$content = '# MDB Demo'; $config = [ 'heading_permalink' => [ 'html_class' => 'heading-permalink', 'id_prefix' => 'content', 'apply_id_to_heading' => false, 'heading_class' => '', 'fragment_prefix' => 'content', 'insert' => 'before', 'min_heading_level' => 1, 'max_heading_level' => 6, 'title' => 'Permalink', 'symbol' => '#', 'aria_hidden' => true, ], ]; Mdb::render($content, $config);
测试
composer test
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅贡献以获取详细信息。
安全漏洞
请查阅我们的安全策略了解如何报告安全漏洞。
鸣谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。