phlak / commonmark-rewrite-local-image-urls
CommonMark extension for rewriting local, relatiave image URLs to absolute URLs
Package info
github.com/PHLAK/commonmark-rewrite-local-image-urls
pkg:composer/phlak/commonmark-rewrite-local-image-urls
Requires
- league/commonmark: ^2.0
Requires (Dev)
- phlak/coding-standards: ^5.0
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^13.2
- symfony/var-dumper: ^8.1
This package is auto-updated.
Last update: 2026-07-10 03:00:42 UTC
README
CommonMark Rewrite Local Image URLs Extension
CommonMark extension for rewriting local, relative image URLs to absolute URLs.
Requirements
Installation
Install the extension with Composer.
composer require phlak/commonmark-rewrite-local-image-urls
Then add the extension to your CommonMark environment.
use League\CommonMark\Environment\Environment; use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension; use League\CommonMark\MarkdownConverter; use PHLAK\CommonMarkExtensions\RewriteLocalImageURLs; $environment = new Environment; $environment->addExtension(new CommonMarkCoreExtension); $environment->addExtension(new RewriteLocalImageURLs('https://example.com')); $converter = new MarkdownConverter($environment);
Usage
When converting Markdown, any local, relative image URL will be rewritten to an absolute URL using the configured base URL.
$converter->convert(''); // Returns: <p><img src="https://example.com/image.png" alt="alt text" /></p> $converter->convert(''); // Returns: <p><img src="https://example.com/image.png" alt="alt text" /></p> $converter->convert(''); // Returns: <p><img src="https://example.com/assets/images/photo.jpg" alt="alt text" /></p>
External image URLs are left unchanged.
$converter->convert(''); // Returns: <p><img src="https://external.com/image.png" alt="alt text" /></p> $converter->convert(''); // Returns: <p><img src="//external.com/image.png" alt="alt text" /></p>
Changelog
A list of changes can be found on the GitHub Releases page.
Troubleshooting
For general help and support join our GitHub Discussion or reach out on Bluesky.
Please report bugs to the GitHub Issue Tracker.
Copyright
This project is licensed under the MIT License.