📚 The full docs can be found at torchlight.dev/docs/clients/commonmark-php.
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.
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
TorchlightExtension::class,
],
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:
<?php
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
// https://torchlight.dev/themes, or you can provide your own.
'theme' => env('TORCHLIGHT_THEME', 'material-theme-palenight'),
// Your API token from torchlight.dev.
'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', 'https://api.torchlight.dev'),
];
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.dev. (Torchlight is completely free for personal and open source projects.)
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!