Facebook Lexical o otwartym kodzie źródłowym, biblioteka do tworzenia edytorów tekstu

Facebook (zakazany w Federacji Rosyjskiej) udostępnił kod źródłowy biblioteki Lexical JavaScript, która oferuje komponenty do tworzenia edytorów tekstu i zaawansowanych formularzy internetowych do edycji tekstu dla stron internetowych i aplikacji internetowych. Bibliotekę wyróżnia łatwość integracji ze stronami internetowymi, kompaktowa konstrukcja, modułowość oraz obsługa narzędzi dla osób niepełnosprawnych, takich jak czytniki ekranu. Kod napisany jest w języku JavaScript i rozpowszechniany na licencji MIT. Aby zapoznać się z możliwościami biblioteki, przygotowano kilka interaktywnych pokazów.

Biblioteka została zaprojektowana z myślą o łatwości połączenia i nie jest zależna od zewnętrznych frameworków internetowych, ale jednocześnie zapewnia gotowe powiązania ułatwiające integrację z frameworkiem React. Aby skorzystać z Lexicala, wystarczy powiązać instancję edytora z edytowanym elementem, po czym w trakcie procesu edycji można kontrolować stan edytora poprzez przetwarzanie zdarzeń i poleceń. Biblioteka pozwala w dowolnym momencie śledzić stany edytora i odzwierciedlać zmiany w DOM na podstawie wyliczenia różnic pomiędzy stanami.

Możliwe jest zarówno tworzenie formularzy do wprowadzania prostego tekstu bez znaczników, jak i budowanie interfejsów do wizualnej edycji dokumentów, przypominających edytory tekstu i zapewniających takie możliwości, jak wstawianie tabel, obrazów i list, manipulowanie czcionkami i kontrolowanie wyrównania tekstu. Programista ma możliwość przesłonięcia zachowania edytora lub podłączenia procedur obsługi w celu zaimplementowania nietypowej funkcjonalności.

Podstawowy framework biblioteki zawiera minimalny wymagany zestaw komponentów, których funkcjonalność jest rozszerzana poprzez podłączanie wtyczek. Przykładowo poprzez wtyczki można podłączyć dodatkowe elementy interfejsu, panele, narzędzia do edycji wizualnej w trybie WYSIWYG, obsługę formatu Markdown czy komponenty do pracy z określonymi typami treści, takimi jak listy i tabele. W formie wtyczek dostępne są również takie funkcje jak automatyczne uzupełnianie danych wejściowych, ograniczanie maksymalnego rozmiaru danych wejściowych, otwieranie i zapisywanie plików, dołączanie notatek/komentarzy, wprowadzanie głosowe itp.

Źródło: opennet.ru

Dodaj komentarz