Utilisation de Squire, un éditeur de texte enrichi HTML5 léger

Ce que vous allez créer

Qu'est-ce que Squire??

Squire est un éditeur de texte enrichi HTML5 extrêmement léger, parfaitement adapté aux formulaires de saisie riches et à la création simple de documents de vos applications. Il prend en charge plusieurs navigateurs, mais évite délibérément la complexité de la prise en charge des navigateurs plus anciens. Cela fonctionne mieux en commençant par Opera 10, Firefox 3.5, Safari 4, Chrome 9 et IE8..

Squire n'est pas conçu pour créer et éditer des pages de sites Web WYSIWYG. Toutefois, pour de nombreuses applications de saisie de texte enrichi et d'applications Web, Squire peut être exactement ce dont vous avez besoin. Il fournit le pouvoir sans le gonflement. Il est également autorisé par le MIT pour une réutilisation flexible.

Dans ce tutoriel, je vais vous montrer comment télécharger Squire et comment créer des exemples de formulaires de saisie. Si vous souhaitez voir Squire en action, visitez la démo.

D'où vient Squire??

L’équipe FastMail a conçu Squire pour simplifier ses exigences en matière d’éditeur de messagerie Web. FastMail est une excellente alternative de messagerie basée sur le cloud à Gmail. Je suis un utilisateur quotidien de FastMail. Basé en Australie et régi par des lois différentes de celles des États-Unis, la protection de la vie privée des utilisateurs de FastMail est légèrement améliorée. Vous pouvez en savoir plus à ce sujet ici: FastMail dit que la surveillance de la NSA est gratuite.

Comme l'équipe de FastMail l'a écrit sur leur blog, ils utilisaient auparavant CKeditor:

Bien que ce ne soit pas un mauvais choix, il a été conçu, comme la plupart des autres éditeurs, pour créer des sites Web et non pour envoyer des courriels. En tant que tel, le simple fait d'insérer une image par défaut présentait un dialogue avec trois onglets et davantage d'options que vous n'auriez pu imaginer… Il comportait également sa propre boîte à outils d'interface utilisateur et son propre cadre, qu'il nous aurait fallu fortement personnaliser pour s'adapter au reste de la nouvelle interface utilisateur que nous construisions; une douleur à maintenir.
En nous concentrant sur la vitesse et la performance, nous nous sommes également préoccupés de la taille du code. La version de CKEditor que nous utilisons pour notre précédente interface utilisateur (classique), qui n'inclut que les plugins dont nous avons besoin, est un téléchargement de 159 ko (une fois compressé; 441 ko compressé; non compressé). C'est juste le code, à l'exclusion des styles et des images.

Ils ont décidé de partir de zéro pour construire Squire. À seulement 11,5 Ko de JavaScript après minification et gzip (34,7 Ko non compressé) et sans dépendance, Squire est extrêmement léger. 

Les résultats sont impressionnants. Le poids de code combiné nécessaire pour charger tout leur écran de composition, bibliothèque de base, code de modèle de courrier et de contacts et tout le code de l'interface utilisateur pour restituer l'écran complet ne représente plus que 149,4 Ko (459,7 Ko non compressé) - moins que CKEditor seul..

Squire n'a pas de dépendances. Il n'y a pas de wrapper XHR, de bibliothèque de widgets ou de superpositions de lightbox. Il n'y a pas d'interface utilisateur pour une barre d'outils, ce qui élimine le fardeau d'avoir deux kits d'outils d'interface utilisateur chargés. C'est juste un simple

Mais en charge, son JQuery $ (document) .ready la fonction remplace la statique #foo textarea avec ses SquireUI.

  

La configuration de la barre d'outils est implémentée avec une configuration assez complexe de JQuery, AJAX, HTML5 et CSS. Il charge cette page HTML pour afficher la plupart de la barre d’outils: http://neilj.github.io/Squire/build/Squire-UI.html.

$ (div) .load (options.buildPath + 'Squire-UI.html', function () this.linkDrop = new Drop (cible: $ ('# makeLink'). first () [0], contenu: $ ('# drop-link'). html (), position: 'bottom center', openOn: 'click');

Voici un sous-ensemble du code source de Squire-UI.html afin que vous puissiez voir ce qui est chargé:

Cela aurait peut-être été bien de fournir une extension à la barre d'outils Bootstrap simplifiée dans le code de distribution, mais vous pouvez certainement tirer des leçons de ce qu'ils ont fait dans leur propre démo ci-dessus..

J'espère que vous trouverez Squire utile pour vos propres applications. N'hésitez pas à poster des corrections, des questions ou des commentaires ci-dessous. Vous pouvez également me joindre sur Twitter @reifman ou m'envoyer un email directement.

Liens connexes