This extension has been deprecated.  All of its functionality now exists in league/commonmark 1.3+ under the League\CommonMark\Extension\Autolink namespace, so you should upgrade to that version and use that bundled extension instead of this one.
This extension adds GFM-style autolinking to the league/commonmark Markdown parser for PHP.  It automatically link URLs and email addresses even when the CommonMark <...> autolink syntax is not used.
It also provides a parser to autolink @mentions to Twitter, Github, or any custom service you wish, though this is disabled by default.
Via Composer
$ composer require league/commonmark-ext-autolinkConfigure your Environment as usual and simply add the AutolinkExtension provided by this package:
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!');This extension also provides functionality to automatically link "mentions" like @colinodell to Twitter, Github, or any other site of your choice!
For 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 MarkdownFor 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 MarkdownOr configure your own custom one:
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 MarkdownWhen creating your own, you can provide two parameters to the constructor:
- A URL template where 
%sis replaced with the username (required) - A regular expression to parse and validate the username (optional - defaults to 
'/^[A-Za-z0-9_]+(?!\w)/') 
Please see CHANGELOG for more information what has changed recently.
$ composer testIf you discover any security related issues, please email colinodell@gmail.com instead of using the issue tracker.
This library is licensed under the BSD-3 license. See the License File for more information.