nasirkhan/laravel-jodit
Laravel Jodit integrates the Jodit WYSIWYG editor into Laravel via a reusable Blade component that works in Blade and Livewire. Includes a server-side file browser/uploader connector, CDN-loaded assets, and publishable config for toolbar, disks, paths, and middleware.
wire:ignore handling and debounced sync for reactive forms.intervention/image-laravel, adding a dependency for advanced use cases.<x-jodit::editor />) with minimal setup (asset stacks).wire-model with debounced updates (300ms default).public disk), but can integrate with S3, custom connectors, or third-party services (e.g., Cloudinary) via the connector-url prop./jodit route for the file browser; can be overridden for admin-only access or custom prefixes.max_file_size and allowed_mimes).buttons prop or Jodit’s native API suffices.wire-model and wire:ignore handling.after-styles, after-scripts) for asset loading. Ensure these stacks exist in your layout.config/jodit.php.public disk). For cloud storage (S3, GCS), extend the JoditConnectorController or use a custom connector URL.composer require nasirkhan/laravel-jodit
php artisan vendor:publish --tag=jodit-config
config/jodit.php:
cdn_css/cdn_js for offline builds.disk/base_path for storage.buttons for toolbar customization.wire:ignore is handled (the package does this automatically).| Feature | Compatibility Notes |
|---|---|
| Blade Templates | ✅ Full support; drop-in component. |
| Livewire | ✅ Native wire-model support with debounced sync. |
| Inertia/Vue/React | ⚠️ Not natively supported; requires manual JS integration (e.g., Alpine.js). |
| File Uploads | ✅ Built-in connector; supports custom storage via disk config. |
| Image Processing | ✅ Requires intervention/image-laravel for resizing/cropping. |
| Custom Toolbars | ✅ Highly configurable via buttons prop or preset profiles. |
| Localization | ❌ Limited; relies on Jodit’s native localization (check Jodit docs for RTL/L10n). |
<textarea> fields with <x-jodit::editor />.wire-model.debounce prop if needed.disk, base_path) and validate permissions.buttons prop).config/jodit.php.composer update nasirkhan/laravel-jodit.after-styles, after-scripts) are included in the layout.storage:link and disk permissions; validate connector-url route.wire:ignore is present (automatically handled by the package).How can I help you explore Laravel packages today?