Facebook Lexical open source, una libreria per la creazione di editor di testo

Facebook (vietato nella Federazione Russa) ha aperto il codice sorgente della libreria Lexical JavaScript, che offre componenti per la creazione di editor di testo e moduli web avanzati per l'editing di testo per siti e applicazioni web. Le qualità distintive della biblioteca includono la facilità di integrazione nei siti web, il design compatto, la modularità e il supporto per strumenti per persone con disabilità, come gli screen reader. Il codice è scritto in JavaScript e distribuito sotto la licenza MIT. Sono state preparate diverse dimostrazioni interattive per familiarizzare con le capacità della biblioteca.

La libreria è progettata per facilitare la connessione e non dipende da framework web esterni, ma allo stesso tempo fornisce collegamenti già pronti per semplificare l'integrazione con il framework React. Per utilizzare Lexical è sufficiente associare un'istanza dell'editor all'elemento in fase di modifica, dopodiché, durante il processo di modifica, è possibile controllare lo stato dell'editor attraverso l'elaborazione di eventi e comandi. La libreria ti consente di tenere traccia degli stati dell'editor in qualsiasi momento e riflettere i cambiamenti nel DOM in base al calcolo delle differenze tra gli stati.

È possibile creare sia moduli per inserire testo semplice senza markup, sia costruire interfacce per la modifica visiva di documenti, che ricordano gli elaboratori di testo e forniscono funzionalità come l'inserimento di tabelle, immagini ed elenchi, la manipolazione dei caratteri e il controllo dell'allineamento del testo. Lo sviluppatore ha la possibilità di sovrascrivere il comportamento dell'editor o di connettere gestori per implementare funzionalità atipiche.

La struttura di base della libreria contiene il set minimo richiesto di componenti, la cui funzionalità viene ampliata collegando i plugin. Ad esempio, tramite plugin è possibile collegare elementi aggiuntivi dell'interfaccia, pannelli, strumenti per l'editing visivo in modalità WYSIWYG, supporto per il formato markdown o componenti per lavorare con determinati tipi di contenuti, come elenchi e tabelle. Sotto forma di plugin sono disponibili anche funzioni come il completamento automatico dell'input, la limitazione della dimensione massima dei dati di input, l'apertura e il salvataggio di file, l'aggiunta di note/commenti, l'input vocale, ecc.

Fonte: opennet.ru

Aggiungi un commento