nasirkhan/laravel-jodit
Laravel package integrating the Jodit WYSIWYG editor as a reusable Blade component. Works in Blade, view components, and Livewire with wire-model syncing. Includes a server-side file browser/uploader connector, CDN-loaded assets, and configurable toolbar and storage options.
Pros:
<x-jodit::editor>) simplifies adoption and reduces boilerplate.wire-model synchronization with debounce (300ms) ensures smooth UX without manual JS binding.Cons:
after-styles, after-scripts) fit Laravel’s asset management patterns.wire:ignore and debounced sync.public, s3), but file browser relies on the built-in connector.file_manager.backend = 'custom') require manual security checks.after-styles/scripts) will break the editor.wire-model and wire:ignore.after-styles, after-scripts), avoiding conflicts with existing asset pipelines (e.g., Vite, Mix).public, s3, etc.), but file browser relies on the built-in connector.composer require nasirkhan/laravel-jodit.php artisan vendor:publish --tag=jodit-config (optional but recommended for customization).<x-jodit::editor> in Blade/Livewire components.<!-- Before (CKEditor) -->
<textarea name="content">{{ old('content', $post->content) }}</textarea>
@include('ckeditor::ckeditor')
<!-- After -->
<x-jodit::editor name="content" :value="old('content', $post->content)" />
wire-model to sync with properties:
<x-jodit::editor name="content" wire-model="content" />
/jodit/connector).config/jodit.php:
'disk' => 'public',
'base_path' => 'uploads/jodit',
wire:ignore and debounced sync reduce manual JS work.after-styles and after-scripts stacks in the layout (common in Laravel apps).wire-model in Livewire components.config/jodit.php for global settings.config/jodit.php).How can I help you explore Laravel packages today?