Add a Filament infolist entry for themeable server-side syntax highlighting using tempestphp/highlight.
Install the package via composer:
composer require parallax/filament-syntax-entry
Optionally, you can publish the views using
php artisan vendor:publish --tag="filament-syntax-entry-views"
There are a couple of important changes to be aware of when upgrading to version 2.x:
- PHP 8.3 is required for server-side syntax highlighting
- Highlight.js is no longer supported
- Theme selection has been replaced with the ability to create custom themes
Add the Infolist entry
Add the SyntaxEntry
to the $infolist->schema()
method.
<?php
namespace App\Filament\Resources;
use Parallax\FilamentSyntaxEntry\SyntaxEntry;
class ProductResource extends Resource
{
public static function infolist(Infolist $infolist): Infolist
{
return $infolist
->schema([
SyntaxEntry::make('metadata'),
]);
}
}
The default language value is set to json
. To override this value you may use the language()
method:
SyntaxEntry::make('metadata')
->language('json');
The following languages are currently available:
blade
css
gdscript
html
javascript
json
php
sql
twig
xml
yaml
You may override the default theme by using the theme()
method:
SyntaxEntry::make('metadata')
->theme('smudge');
This will wrap the syntax component with a custom class like so:
syntax-entry-theme-smudge
The final step is to follow the tempestphp/highlight documentation on how to create your own theme, and use this in combination with Filament themes.
Please see CHANGELOG for more information on what has changed recently.
The MIT License (MIT). Please see License File for more information.