softbery / laravel-wweditor
Laravel package for wwEditor - Rich Text Content Editor
Package info
github.com/softbery-org/laravel-wweditor
Language:JavaScript
Type:laravel-package
pkg:composer/softbery/laravel-wweditor
dev-main
2026-05-12 03:57 UTC
Requires
- php: ^8.0
- laravel/framework: ^9.0|^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^7.0|^8.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is not auto-updated.
Last update: 2026-10-14 04:36:39 UTC
README
Zaawansowany edytor treści dla Laravela, podobny do CKEditor, z pełną integracją z frameworkiem.
Instalacja
1. Instalacja przez Composer
composer require softbery-org/laravel-wweditor
2. Publikacja zasobów
php artisan vendor:publish --tag=wweditor-assets php artisan vendor:publish --tag=wweditor-config
3. Dodanie Service Providera
W config/app.php dodaj:
'providers' => [ // ... Softbery\WwEditor\WwEditorServiceProvider::class, ],
Podstawowe Użycie
Użycie w Blade
<x-wweditor::editor
id="my-editor"
content="<h1>Hello World</h1>"
height="500px"
:auto-save="true"
/>
Użycie w Controller
use Softbery\WwEditor\View\Components\WwEditorComponent; public function create() { return view('create', [ 'editor' => new WwEditorComponent('content-editor', '', '', '600px') ]); }
Konfiguracja
Plik konfiguracyjny
Opublikuj plik konfiguracyjny:
php artisan vendor:publish --tag=wweditor-config
Dostosuj config/wweditor.php:
return [ 'route_prefix' => 'wweditor', 'middleware' => ['web'], 'disk' => 'local', 'auto_save' => true, 'auto_save_interval' => 60, 'theme' => 'default', ];
Zmienne środowiskowe
W .env:
WWEDITOR_ROUTE_PREFIX=editor WWEDITOR_MIDDLEWARE=web,auth WWEDITOR_DISK=public WWEDITOR_AUTO_SAVE=true WWEDITOR_AUTO_SAVE_INTERVAL=60 WWEDITOR_THEME=default
Funkcje
📝 Edycja Rich Text (WYSIWYG)
- Formatowanie tekstu (pogrubienie, kursywa, podkreślenie)
- Nagłówki (H1-H6) i style paragrafów
- Listy numerowane i wypunktowane
- Wyrównywanie tekstu
- Wstawianie linków, obrazów i tabel
- Kolory tekstu i tła
- Rozmiary czcionek
🎨 Tryby Edycji
- WYSIWYG - Podgląd na żywo z edycją wizualną
- HTML - Edycja kodu źródłowego HTML z podświetlaniem składni
- CSS - Dodawanie niestandardowych stylów CSS
- Podgląd - Podgląd finalnego wyglądu strony
💾 Zarządzanie Treścią
- Autozapis z konfigurowalnym interwałem
- Zapis w storage Laravela
- Wczytywanie zapisanej treści
- Eksport do pliku HTML
- Licznik słów i znaków
⌨️ Skróty Klawiszowe
Ctrl/Cmd + S- Zapisz treśćCtrl/Cmd + B- PogrubienieCtrl/Cmd + I- KursywaCtrl/Cmd + U- PodkreślenieCtrl/Cmd + Z- CofnijCtrl/Cmd + Shift + Z- Ponów
API
Endpoints
Zapis treści
POST /wweditor/save Content-Type: application/json { "content": "<h1>Hello</h1>", "css": "body { color: red; }", "title": "My Content", "description": "Content description" }
Wczytanie treści
GET /wweditor/load/{id}
Lista treści
GET /wweditor/list
Usunięcie treści
DELETE /wweditor/delete/{id}
JavaScript API
const editor = new WwEditorLaravel('my-editor', { autoSave: true, saveUrl: '/wweditor/save', loadUrl: '/wweditor/load/:id', autoSaveInterval: 60 }); // Zapis treści editor.saveContent(); // Wczytanie treści editor.loadContent('content-id'); // Eksport editor.exportContent();
Dostosowywanie
Niestandardowy toolbar
<x-wweditor::editor
:toolbar="['bold', 'italic', 'underline', '|', 'createLink']"
/>
Wyłączenie trybów
<x-wweditor::editor
:modes="['wysiwyg', 'html']"
/>
Niestandardowe style
.wweditor-container { border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
Przykłady
Prosty formularz
<form method="POST" action="/save">
@csrf
<x-wweditor::editor id="content" :auto-save="false"/>
<button type="submit">Zapisz</button>
</form>
Integracja z modelem
// Controller public function edit(Post $post) { return view('edit', [ 'post' => $post ]); } // Blade <x-wweditor::editor id="content" :content="$post->content" :css="$post->css" />
Wiele edytorów na jednej stronie
<x-wweditor::editor id="editor1" content="Content 1"/> <x-wweditor::editor id="editor2" content="Content 2"/>
Wydajność
Optymalizacja
- Użyj CDN dla bibliotek zewnętrznych
- Włącz kompresję zasobów
- Skonfiguruj cache dla przeglądarki
CDN vs Local
W .env:
WWEDITOR_USE_EXTERNAL_LIBRARIES=true # CDN WWEDITOR_USE_EXTERNAL_LIBRARIES=false # Local
Troubleshooting
Common Issues
-
Assets nie ładują się
php artisan vendor:publish --tag=wweditor-assets php artisan optimize:clear
-
Autozapis nie działa
- Sprawdź CSRF token
- Upewnij się, że URL jest poprawny
-
Style CSS nie są stosowane
- Sprawdź kolejność ładowania CSS
- Wyczyść cache przeglądarki
Licencja
MIT License - Możesz używać tego pakietu w projektach komercyjnych i osobistych.
Wsparcie
- GitHub Issues: https://github.com/softbery-org/laravel-wweditor/issues
- Dokumentacja: https://github.com/softbery-org/laravel-wweditor/wiki