visanduma/nova-image-tinymce

A Laravel Nova TinyMCE field with built in image gallery support

1.0.2 2022-05-25 08:25 UTC

This package is auto-updated.

Last update: 2024-10-26 08:29:33 UTC


README

Nova Image TinyMCE Editor is Laravel Nova field that integrates TinyMCE5 WYSIWYG editor wit inbuilt image gallery.

Installation

Use the composer to install this package.

composer require visanduma/nova-image-tinymce

Usage

Publish config with the following command:

php artisan vendor:publish --provider="Visanduma\NovaImageTinymce\FieldServiceProvider"

Edit TinyMCE options and image related configrations. add your TinyMCE cloud API key here or to your .env file like this:

TINYMCE_API_KEY=your-key-here

Run migration to build image table

php artisan migrate

Add NovaImageTinymce class and field to your Nova Resource.

use Visanduma\NovaImageTinymce\NovaImageTinymceEditor;

...

NovaImageTinymceEditor::make('Body', 'body')->useImageGallery()

Disable image upload feature

NovaImageTinymceEditor::make('Body', 'body')->useImageGallery()->withoutImageUpload()

Available options

You can pass arguments and TinyMCE options directly from a field to customize your toolbar and plugins, like this:

NovaImageTinymceEditor::make('Body')->placeholder('Enter content here')
->options(['toolbar' => ['undo redo | align | link | code'], 'plugins' => ['link code']]),

For available options/plugins visit official TinyMCE 5 documentation.

Customizing image handler

The default image handler is inbuilt one with it's own data table. you can chage image hnadler in config file. image handlers mustbe compatible with "MediaControllerInterface"

 'media_handler' => \Visanduma\NovaImageTinymce\Controller\MediaController::class

Screenshots

Idea

This package was created on top of Kraftbit/nova-tinymce5-editor https://github.com/Kraftbit/nova-tinymce5-editor

License

MIT