ueberdosis / commonmark-embed-extension
An embed extension for league/commonmark
Fund package maintenance!
ueberdosis/
Installs: 1 346
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: ^8.0
- aviator/array-map-keys: ^0.1.0
- league/commonmark: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.8
README
We need your support to maintain this package. 💖 https://github.com/sponsors/ueberdosis
CommonMark Embed Extension
An extension to transform URLs to embeds with league/commonmark.
Example
Markdown
OMG, you should see this video:
https://www.youtube.com/watch?v=eX2qFMC8cFo
It‘s amazing, isn’t it?
HTML
<p>OMG, you should see this video:</p> <iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/eX2qFMC8cFo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe> <p>It‘s amazing, isn’t it?</p>
Installation
You can install the package via composer:
composer require ueberdosis/commonmark-embed-extension
Supported services
- YouTube
- Vimeo
Have a look at the provided services to learn how you can add your own integrations. Don’t forget to send a PR with your additions!
Usage
<?php use League\CommonMark\Environment\Environment; use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension; use League\CommonMark\MarkdownConverter; use Ueberdosis\CommonMark\EmbedExtension; use Ueberdosis\CommonMark\Tests\Services\YouTube; use Ueberdosis\CommonMark\Tests\Services\Vimeo; // Configure the Environment with all the CommonMark parsers/renderers $environment = new Environment([ 'embeds' => [ new YouTube(), new Vimeo(), ], ]); $environment->addExtension(new CommonMarkCoreExtension()); // Add this extension $environment->addExtension(new EmbedExtension()); // Instantiate the converter engine and start converting some Markdown! $converter = new MarkdownConverter($environment); $markdown = <<<MARKDOWN https://www.youtube.com/watch?v=eX2qFMC8cFo MARKDOWN; echo $converter->convertToHtml($markdown);
Testing
composer test
Credits
License
The MIT License (MIT). Please see License File for more information.