Autolink Extension

(Note: this extension is included by default within the GFM extension)

The AutolinkExtension adds GFM-style autolinking. It automatically links URLs and email addresses even when the CommonMark <...> autolink syntax is not used.

Installation

This extension is bundled with league/commonmark. This library can be installed via Composer:

composer require league/commonmark

See the installation section for more details.

Usage

Configure your Environment as usual and simply add the AutolinkExtension provided by this package:

use League\CommonMark\Environment\Environment;
use League\CommonMark\Extension\Autolink\AutolinkExtension;
use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension;
use League\CommonMark\MarkdownConverter;

// Define your configuration, if needed
$config = [
    'autolink' => [
        'allowed_protocols' => ['https'], // defaults to ['https', 'http', 'ftp']
        'default_protocol' => 'https', // defaults to 'http'
    ],
];

// Configure the Environment with all the CommonMark parsers/renderers
$environment = new Environment($config);
$environment->addExtension(new CommonMarkCoreExtension());

// Add this extension
$environment->addExtension(new AutolinkExtension());

// Instantiate the converter engine and start converting some Markdown!
$converter = new MarkdownConverter($environment);
echo $converter->convert('I successfully installed the https://github.com/thephpleague/commonmark project with the Autolink extension!');

Configuration

As of version 2.5.0, this extension supports the following configuration options under the autolink configuration:

allowed_protocols option

This option defines which types of URLs will be autolinked. The default value of ['https', 'http', 'ftp'] means that only URLs using those protocols will be autolinked. Setting this to just ['https'] means that only HTTPS URLs will be autolinked.

default_protocol option

This option defines the default protocol for URLs that start with www. and don’t have an explicit protocol set. For example, setting this to https would convert www.example.com to https://www.example.com.

@mention-style Autolinking

As of v1.5, mention autolinking is now handled by a Mention Parser outside of this extension.


Edit this page