Skip to content

stukenov/nova-ckeditor5-classic

Repository files navigation

Introduction

CKEditor5 Classic editor field for Laravel Nova. Use the last version of the popular WYSIWYG editor as a Laravel Nova field.

Latest Version on Packagist Total Downloads

Installation

You can install the package into a Laravel application that uses Nova via composer:

composer require stukenov/nova-ckeditor5-classic

After installing publish the config:

php artisan vendor:publish --tag=config --provider=STukenov\\NovaCKEditor5Classic\\FieldServiceProvider

Usage

Use the STukenov\NovaCKEditor5Classic\CKEditor5Classic field in your Nova resource:

namespace App\Nova;

use STukenov\NovaCKEditor5Classic\CKEditor5Classic;

class Post extends Resource
{
    // ...

    public function fields(Request $request)
    {
        return [
            // ...

            CKEditor5Classic::make('Content'),

            // ...
        ];
    }
}

Customizing CKEditor

If you want to change the Editor's settings, you can do so by editing the config file config/ckeditor5Classic.php or by setting it directly in your filed, if you need different setup per field:

CKEditor5Classic::make('Content')->withFiles('public')
->options([...]);

You can visit the CKEditor configuration reference to check the available options.

Image uploads

This Nova field provides native attachments driver which works similar to Trix File Uploads.

To use this attachments driver, publish and run the migration:

php artisan vendor:publish --tag=migrations --provider=STukenov\\NovaCKEditor5Classic\\\FieldServiceProvider 
php artisan migrate

Then, allow users to upload images, just like with Trix field, chaining the withFiles method onto the field's definition. When calling this method, you should pass the name of the filesystem disk that images should be stored on:

use STukenov\NovaCKEditor5Classic\CKEditor5Classic;

CKEditor5Classic::make('Content')->withFiles('public');

And also, in your app/Console/Kernel.php file, you should register a daily job to prune any stale attachments from the pending attachments table and storage:

use STukenov\NovaCKEditor5Classic\Jobs\PruneStaleAttachments;

/**
* Define the application's command schedule.
*
* @param  \Illuminate\Console\Scheduling\Schedule  $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
    $schedule->call(function () {
        (new PruneStaleAttachments)();
    })->daily();
}

Credits

License

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10