Fast Server-Side Code Highlighting with Tempest

The Tempest highlight package by Brent Roose released v1.0 yesterday, offering a fast, extensible, server-side code highlighting for HTML and terminal in PHP:

require __DIR__.'/vendor/autoload.php';

use Tempest\Highlight\Highlighter;
use Tempest\Highlight\Themes\LightTerminalTheme;

$highlighter = new Highlighter(new LightTerminalTheme());

$code = <<<'CODE'
<?php

require __DIR__.'/vendor/autoload.php';

use Tempest\Highlight\Highlighter;
use Tempest\Highlight\Themes\LightTerminalTheme;

$highlighter = new Highlighter(new LightTerminalTheme());
CODE;

echo "\n", $highlighter->parse($code, 'php'), "\n\n\n";

Given the above code example, here's what the syntax highlighting looks like in the console:

Tempest Highlight with Light Theme
Tempest Highlight with Light Theme

Note: the built-in theme in the tempest/highlight package is for a light terminal theme, and it seems easy to provide your own highlighter theme for the console 👍

At the time of writing, v1.0.0 was released, and supports the following languages (and a few I wasn't familiar with):

You can add your own languages or extend them easily. Check out the package's readme on adding or extending languages. This package also has a commonmark integration which you can use to highlight code blocks and inline code.

Learn More

You can learn more about this package, get full installation instructions, and view the source code on GitHub. The readme has info about special tags for emphasis, strong, blur, and additions/deletions, etc.

Brent Roose wrote A syntax highlighter that doesn't suck, which gives you the background on why he created the tempest/highlight package.


The post Fast Server-Side Code Highlighting with Tempest appeared first on Laravel News.

Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.