A Commonmark extension for Torchlight, the syntax highlighting API.

v0.5.5 2022-02-23 17:09 UTC

This package is auto-updated.

Last update: 2024-05-23 22:37:18 UTC


Tests Latest Stable Version Total Downloads License

📚 The full docs can be found at

A Torchlight syntax highlighting extension for the PHP League's Commonmark Markdown Parser in a Laravel application.

Supports both CommonMark version 1 and version 2.

Torchlight is a VS Code-compatible syntax highlighter that requires no JavaScript, supports every language, every VS Code theme, line highlighting, git diffing, and more.


To install, require the package from composer:

composer require torchlight/torchlight-commonmark

This will install the Laravel Client as well.

Adding the Extension

If you are using Graham Campbell's Laravel Markdown package, you can add the extension in your markdown.php file, under the "extensions" key.

'extensions' => [
    // Torchlight syntax highlighting

If you aren't using the Laravel Markdown package, you can add the extension manually:

// CommonMark V1
$environment = Environment::createCommonMarkEnvironment();
$environment->addExtension(new TorchlightExtension);

// CommonMark V2
$environment = new Environment();
$environment->addExtension(new CommonMarkCoreExtension);
$environment->addExtension(new TorchlightExtension);

That's all you need to do! All of your code fences will now be highlighted via Torchlight.


Once the package is downloaded, you can run the following command to publish your configuration file:

php artisan torchlight:install

Once run, you should see a new file torchlight.php in you config folder, with contents that look like this:

return [
    // The Torchlight client caches highlighted code blocks. Here
    // you can define which cache driver you'd like to use.
    'cache' => env('TORCHLIGHT_CACHE_DRIVER'),

    // Which theme you want to use. You can find all of the themes at
    //, or you can provide your own.
    'theme' => env('TORCHLIGHT_THEME', 'material-theme-palenight'),

    // Your API token from
    'token' => env('TORCHLIGHT_TOKEN'),

    // If you want to register the blade directives, set this to true.
    'blade_components' => true,

    // The Host of the API.
    'host' => env('TORCHLIGHT_HOST', ''),


Set the cache driver that Torchlight will use.


You can change the theme of all your code blocks by adjusting the theme key in your configuration.


This is your API token from (Torchlight is completely free for personal and open source projects.)

Blade Components

By default Torchlight works by using a custom Laravel component. If you'd like to disable the registration of the component for whatever reason, you can turn this to false.


You can change the host where your API requests are sent. Not sure why you'd ever want to do that, but you can!