13. märtsil, pärast nelja kuu arendust, ilmus 2.7.0 kõrge jõudlusega teek lexbor, mis on mõeldud HTML 5 ja CSS formaatide töötlemiseks.
projekti peamised omadused:
- täielik tugi WHATWG, W3C ja Unicode spetsifikatsioonidele: HTML5, CSS Syntax 3, Encoding, URL, Unicode Standard Annex #15, Unicode Technical Standard #46, Punycode, Unicode Standard Annex #15, Unicode Technical Standard #46;
- DOM elementide ja atribuutide manipuleerimine: lisamine, muutmine, kustutamine jne;
- tugi HTML fragmente analüüsimiseks;
- läbimine kõikidest DOM puu ehitamise testidest;
- testitud üle 200 miljoni HTML-lehega ASAN abil;
- toetab kodeerimise määramist baitide voogude kaudu;
- CSS stiilide analüüs sildimärkide atribuutides ja sildis;
- HTML elementide otsimine CSS selektorite abil;
- toetab 40 kodeeringut kodeerimiseks ja dekodeerimiseks;
- toetab mitte-buffereeritud ja buffereeritud kodeerimist ja dekodeerimist;
- kirjutatud keeltes C (C99 standard) ilma kolmandate osapoolte sõltuvusteta ja levitatakse Apache 2.0 litsentsi alusel;
- teek jaguneb mooduliteks (Core, CSS, DOM, Encoding, Engine, HTML, NS, Punycode, Selectors, Tag, Unicode, URL, Utils), mis võivad olla kompileeritud ja kasutatud eraldiseisvate teekidena (CMake LEXBOR_BUILD_SEPARATELY=ON valiku abil);
- kolmandate osapoolte sidurid ja wrapperid keeltele Crystal, D, Elixir, Julia, PHP, Python ja Ruby.
Peamised muudatused:
- Lisatud on toimetuse toimetamisvõime (allikafailide ühendamine üheks failiks). See lihtsustab teegi integreerimist projektidesse – piisab, kui ühendate ühe faili, mitte terve ehitussüsteemi. Lisainfot leiate järgnevalt dokumentatsioonis.
- Toimunud mahukas CSS analüüsi koodi ümberkorraldamine, et valmistada ette paigutuse rakendamine.
- Lisatud sissetuleva voolu kontroll HTML-parsijale (see on vajalik üksnes analüüsi vigu vastavuses spetsifikatsiooniga kuvamiseks). Vaikimisi keelatud, rohkem infot vt. html/#tokenizer-options.
- Paigutuse mootori väljaandeks ettevalmistamine.
- Üldised täiustused ja vigade parandused.
Allikas: linux.org.ru
