Skip to content
This repository has been archived by the owner on Apr 4, 2020. It is now read-only.

Intelligently converts ASCII quotes, dashes, and ellipses to their Unicode equivalents

License

Notifications You must be signed in to change notification settings

thephpleague/commonmark-ext-smartpunct

Repository files navigation

Smart Punctuation for league/commonmark

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

DEPRECATED

This extension has been deprecated. All of its functionality now exists in league/commonmark 1.3+ under the League\CommonMark\Extension\SmartPunct namespace, so you should upgrade to that version and use that bundled extension instead of this one.

Overview

Intelligently converts ASCII quotes, dashes, and ellipses to their Unicode equivalents. For use with the league/commonmark Markdown parser for PHP.

For example, this Markdown...

"CommonMark is the PHP League's Markdown parser," she said.  "It's super-configurable... you can even use additional extensions to expand its capabilities -- just like this one!"

Will result in this HTML:

<p>“CommonMark is the PHP League’s Markdown parser,” she said.  “It’s super-configurable… you can even use additional extensions to expand its capabilities – just like this one!”</p>

Install

Via Composer

$ composer require league/commonmark-ext-smartpunct

Usage

Extensions can be added to any new Environment:

use League\CommonMark\CommonMarkConverter;
use League\CommonMark\Environment;
use League\CommonMark\Ext\SmartPunct\SmartPunctExtension;

// Obtain a pre-configured Environment with all the CommonMark parsers/renderers ready-to-go
$environment = Environment::createCommonMarkEnvironment();

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

// Set your configuration
$config = [
    'smartpunct' => [
        'double_quote_opener' => '“',
        'double_quote_closer' => '”',
        'single_quote_opener' => '‘',
        'single_quote_closer' => '’',
    ],
];

// Instantiate the converter engine and start converting some Markdown!
$converter = new CommonMarkConverter($config, $environment);
echo $converter->convertToHtml('# Hello World!');

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Security

If you discover any security related issues, please email colinodell@gmail.com instead of using the issue tracker.

Credits

License

This library is licensed under the BSD-3 license. See the License File for more information.