mozex / commonmark-routes
Markdown 中的 Laravel 路由:一个 CommonMark 扩展,允许您在 Markdown 内容中无缝使用 Laravel 路由功能。
1.1.0
2024-06-28 16:22 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0|^11.0
- league/commonmark: ^2.4
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.13.6
- nunomaduro/collision: ^7.8|^8.1
- orchestra/testbench: ^8.21|^9.0
- pestphp/pest: ^2.34
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
README
league/commonmark 的一个扩展,允许您在 markdown 中使用 Laravel 路由,就像在 PHP 代码中一样。
警告:本扩展旨在用于受控环境中,其中 markdown 被信任。由于潜在的安全风险,请不要用于处理用户输入的 markdown。
目录
支持我们
创建和维护开源项目需要大量的时间和精力。您的支持将有助于增强项目,并使进一步贡献 PHP 社区成为可能。
可以通过 GitHub Sponsors 计划进行赞助。只需点击此存储库顶部的 "Sponsor" 按钮。任何金额都备受感激,即使是一笔1美元的小额捐款也能产生重大影响,并将直接用于开发和改进此包。
感谢您考虑赞助。您的支持真的有所作为!
安装
需要 PHP 8.1+
您可以通过 composer 安装此包
composer require mozex/commonmark-routes
使用方法
将 RoutesExtension 注册为 CommonMark 扩展,并在 markdown 中使用路由函数而不是 URL,就像在 PHP 代码中一样。
use League\CommonMark\Environment\Environment; use League\CommonMark\CommonMarkConverter; use Mozex\CommonMarkRoutes\RoutesExtension; $converter = new CommonMarkConverter($environment); $converter->getEnvironment()->addExtension(new RoutesExtension()); echo $converter->convert("[Home](route('home'))"); // Output: <p><a href="https://domain.com">Home</a></p> echo $converter->convert("[Home](<route('home')>)"); // Output: <p><a href="https://domain.com">Home</a></p> echo $converter->convert("[Home](route('home', absolute: false))"); // Output: <p><a href="/">Home</a></p> echo $converter->convert("[Product](route('product', 3))"); // Output: <p><a href="https://domain.com/product/3">Product</a></p> echo $converter->convert("[Features](route('home', ['id' => 'features']))"); // Output: <p><a href="https://domain.com?id=features">Features</a></p> echo $converter->convert("[Features](route('home', ['id' => 'features'], false))"); // Output: <p><a href="/?id=features">Features</a></p>
有关 CommonMark 扩展和环境的更多信息,请参阅 CommonMark 文档。
Spatie Laravel Markdown
当使用 Laravel Markdown 包时,您可以在 config/markdown.php
中注册此扩展。
/* * These extensions should be added to the markdown environment. A valid * extension implements League\CommonMark\Extension\ExtensionInterface * * More info: https://commonmark.thephpleague.com/2.4/extensions/overview/ */ 'extensions' => [ Mozex\CommonMarkRoutes\RoutesExtension::class, ],
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 变更日志。
贡献
有关详细信息,请参阅 贡献。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略。
致谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。