phlak/commonmark-rewrite-local-image-urls

CommonMark extension for rewriting local, relatiave image URLs to absolute URLs

Maintainers

Package info

github.com/PHLAK/commonmark-rewrite-local-image-urls

pkg:composer/phlak/commonmark-rewrite-local-image-urls

Transparency log

Fund package maintenance!

PHLAK

paypal.me/ChrisKankiewicz

Statistics

Installs: 16

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

0.1.1 2026-07-10 02:57 UTC

This package is auto-updated.

Last update: 2026-07-10 03:00:42 UTC


README

CommonMark Rewrite Local Image URLs Extension

Become a Sponsor One-time Donation
Latest Stable Version Total Downloads License Tests Status

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('![alt text](image.png)');
// Returns: <p><img src="https://example.com/image.png" alt="alt text" /></p>

$converter->convert('![alt text](/image.png)');
// Returns: <p><img src="https://example.com/image.png" alt="alt text" /></p>

$converter->convert('![alt text](assets/images/photo.jpg)');
// Returns: <p><img src="https://example.com/assets/images/photo.jpg" alt="alt text" /></p>

External image URLs are left unchanged.

$converter->convert('![alt text](https://external.com/image.png)');
// Returns: <p><img src="https://external.com/image.png" alt="alt text" /></p>

$converter->convert('![alt text](//external.com/image.png)');
// 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.