league / commonmark-ext-autolink
v1.1.0
2020-04-04 14:19 UTC
Requires
- php: ^7.1
- league/commonmark: ^1.3
Requires (Dev)
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2020-04-04 14:21:17 UTC
README
已弃用
此扩展已被弃用。所有功能现在都已包含在 league/commonmark
1.3+ 中的 League\CommonMark\Extension\Autolink
命名空间下,因此您应该升级到该版本并使用该捆绑扩展而不是此扩展。
概述
此扩展向 GFM 风格的自动链接 添加了对 league/commonmark
Markdown 解析器 的 PHP 支持功能。即使在未使用 CommonMark <...>
自动链接语法的情况下,也会自动链接 URL 和电子邮件地址。
它还提供了一个解析器,可以自动将 @提及
链接到 Twitter、Github 或您希望使用的任何自定义服务,尽管这默认是禁用的。
安装
通过 Composer
$ composer require league/commonmark-ext-autolink
使用方法
如往常一样配置您的 环境
并简单添加此包提供的 AutolinkExtension
use League\CommonMark\CommonMarkConverter; use League\CommonMark\Environment; use League\CommonMark\Ext\Autolink\AutolinkExtension; // Obtain a pre-configured Environment with all the CommonMark parsers/renderers ready-to-go $environment = Environment::createCommonMarkEnvironment(); // Add this extension $environment->addExtension(new AutolinkExtension()); // Instantiate the converter engine and start converting some Markdown! $converter = new CommonMarkConverter([], $environment); echo $converter->convertToHtml('I successfully installed the https://github.com/thephpleague/commonmark-ext-autolink extension!');
@提及
自动链接
此扩展还提供将类似于 @colinodell
的“提及”自动链接到 Twitter、Github 或您选择的任何其他站点的功能!
对于 Twitter
use League\CommonMark\Environment; use League\CommonMark\Ext\Autolink\InlineMentionParser; $environment = Environment::createCommonMarkEnvironment(); $environment->addInlineParser(InlineMentionParser::createTwitterHandleParser()); // TODO: Instantiate your converter and convert some Markdown
对于 GitHub
use League\CommonMark\Environment; use League\CommonMark\Ext\Autolink\InlineMentionParser; $environment = Environment::createCommonMarkEnvironment(); $environment->addInlineParser(InlineMentionParser::createGithubHandleParser()); // TODO: Instantiate your converter and convert some Markdown
或配置您自己的自定义链接
use League\CommonMark\Environment; use League\CommonMark\Ext\Autolink\InlineMentionParser; $environment = Environment::createCommonMarkEnvironment(); $environment->addInlineParser(new InlineMentionParser('https://www.example.com/users/%s/profile')); // TODO: Instantiate your converter and convert some Markdown
在创建自己的链接时,您可以向构造函数提供两个参数
- 一个 URL 模板,其中
%s
用用户名替换(必需) - 一个用于解析和验证用户名的正则表达式(可选 - 默认为
'/^[A-Za-z0-9_]+(?!\w)/'
)
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
测试
$ composer test
安全
如果您发现任何安全相关的问题,请通过电子邮件发送至 colinodell@gmail.com 而不是使用问题跟踪器。
致谢
许可证
本库遵循BSD-3许可协议。有关更多信息,请参阅许可文件。