Använda Squire, en lättfattig HTML5 Rich Text Editor

Vad du ska skapa

Vad är Squire?

Squire är en extremt lätt HTML5 rik textredigerare som passar bäst för dina applikations rika inmatningsformer och enkel dokumentskapande. Det ger stöd för cross-browser men avsiktligt undviker komplexiteten att stödja äldre webbläsare. Det fungerar bäst med Opera 10, Firefox 3.5, Safari 4, Chrome 9 och IE8.

Squire är inte avsedd för att skapa och redigera WYSIWYGs hemsidor. Men för många riktiga inmatningar och webbapplikationer kan Squire vara precis vad du behöver. Det ger kraften utan uppblåsthet. Det är också MIT licensierat för flexibel återanvändning.

I den här handledningen visar jag dig hur man laddar ner Squire och bygger provinmatningsformulär med den. Om du vill se Squire i aktion, besök demo.

Var kom Squire från?

FastMail-teamet byggde Squire för att förenkla deras krav på webmailredigerare. FastMail är ett utmärkt molnbaserat e-postalternativ till Gmail. Jag är en daglig FastMail-användare. Eftersom det är baserat i Australien och fungerar enligt olika lagar än i USA, är det något förbättrade sekretessskydd för FastMail-användare. Du kan läsa mer om detta här: FastMail säger att det är gratis från NSA-övervakning.

Som FastMail-laget skrev på sin blogg, använde de tidigare CKeditor:

Även om det inte var ett dåligt val, liksom de flesta andra redaktörer där ute, utformades det för att skapa webbplatser, inte skriva e-postmeddelanden. Som sådan införde du helt enkelt en bild med en dialogruta med tre flikar och fler alternativ än du kunde tro det var möjligt. Det kom också med ett eget UI-verktygsverktyg och ramverk, som vi skulle behöva anpassa mycket för att passa in i resten av det nya gränssnittet vi byggde en smärta att behålla.
Med vårt fokus på hastighet och prestanda var vi också oroade över kodstorleken. Den version av CKEditor som vi använder för vårt tidigare (klassiska) användargränssnitt, som bara innehåller de plugins vi behöver, är en 159 KB-hämtning (när den är gzipped, okomprimerad den är 441 KB). Det är bara koden, med undantag av stilar och bilder.

De bestämde sig för att börja från början och bygga Squire. På bara 11,5 KB av JavaScript efter minifiering och gzip (34,7 KB okomprimerad) och utan beroenden är Squire extremt lätt. 

Resultaten är imponerande. Den kombinerade kodvikt som krävs för att ladda hela kompositionsskärmen, basbiblioteket, post- och kontaktmodellkoden och all UI-koden för att göra hela skärmen kommer nu endast till 149,4 KB (459,7 KB okomprimerad) -lös än CKEditor ensam.

Squire har inga beroenden. Det finns inget XHR-omslag, widgetbibliotek eller ljusblocksöverläggningar. Det finns inget användargränssnitt för en verktygsfält, vilket eliminerar uppblåstheten av att ha två UI-verktygslådor laddade. Det är bara en enkel

Men på laddning, är det JQuery $ (Dokument) .ready funktionen ersätter det statiska #foo textarea med dess SquireUI.

  

Verktygsfältets konfiguration implementeras med en ganska komplex konfiguration av JQuery, AJAX, HTML5 och CSS. Den laddar den här HTML-sidan för att visa det mesta av verktygsfältet: http://neilj.github.io/Squire/build/Squire-UI.html.

$ (div) .load (options.buildPath + 'Squire-UI.html', funktion () this.linkDrop = new Drop (target: $ ('# makeLink'). $ ('# drop-link'). html (), position: 'bottom center', openOn: 'click');

Här är en delmängd av källkoden för Squire-UI.html så att du kan se vad som laddas:

...

Det kan ha varit trevligt om de hade tillhandahållit en förenklad Bootstrap verktygsfält i distributionskoden som en tillägg, men du kan säkert lära av vad de gjorde i sin egen demo ovan.

Jag hoppas att du hittar Squire användbart för dina egna applikationer. Vänligen gärna posta rättelser, frågor eller kommentarer nedan. Du kan också nå mig på Twitter @ reifman eller maila mig direkt.

relaterade länkar