Skip to content

binaryfire/filament-syntax-entry

 
 

Repository files navigation

Filament Syntax Entry

Latest Version on Packagist
Software License
Total Downloads
Stars

Add a Filament infolist entry for themeable server-side syntax highlighting using tempestphp/highlight.

Installation

  1. Install the package via composer:
composer require parallax/filament-syntax-entry
  1. Add the plugin's views to your tailwind.config.js file.
content: [
    ...
    '<path-to-vendor>/parallax/filament-syntax-entry/resources/**/*.blade.php',
]

Optionally, you can publish the views using

php artisan vendor:publish --tag="filament-syntax-entry-views"

Upgrading from 1.x

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

Quickstart

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'),
            ]);
    }
}

Setting the language

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

Creating a custom theme

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.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Add a Filament infolist entry for themeable syntax highlighting using highlight.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 54.9%
  • Shell 21.8%
  • CSS 10.5%
  • JavaScript 6.5%
  • Blade 6.3%