league/commonmark-ext-autolink

此包已被废弃且不再维护。作者建议使用 league/commonmark 包。

league/commonmark 扩展,用于自动链接 URL、电子邮件和 @-提及

资助包维护!
colinodell
Patreon

安装数: 82,040

依赖项: 1

建议者: 0

安全: 0

星级: 11

关注者: 3

分支: 2

开放问题: 0

类型:commonmark-extension

v1.1.0 2020-04-04 14:19 UTC

README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

已弃用

此扩展已被弃用。所有功能现在都已包含在 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许可协议。有关更多信息,请参阅许可文件