Më 13 mars, pas katër muajsh zhvillim, u lëshua versioni 2.7.0 i bibliotekës me performancë të lartë lexbor, e cila është e destinuar për përpunimin e formateve HTML 5 dhe CSS.
Karakteristikat kryesore të projektit:
- mbĂ«shtetje e plotĂ« pĂ«r specifikimet WHATWG, W3C dhe Unicode: HTML5, Sintaksa CSS 3, Encoding, URLâ, Annex #15 i Standardit Unicode, Standardi Teknik i Unicode #46, Punycode, Annex #15 i Standardit Unicode, Standardi Teknik i Unicode #46;
- manipulimi i elementeve dhe atributeve DOM: shtim, modifikim, fshirje dhe më shumë;
- mbështetje për analizimin e fragmenteve HTML;
- kalimi të gjithave testet e ndërtimit të pemëve DOM;
- testuar në më shumë se 200 milion faqe HTML me ASAN;
- mbështetje për përcaktimin e kodimit nga rrjedha e bajtëve;
- analiza e stileve CSS në atribute të etiketave dhe në etiketën ;
- gjetja e elementeve HTML duke përdorur selektorët CSS;
- mbështetje për 40 kodime dhe dekodime;
- mbështetje për kodimin dhe dekodimin pa bufer dhe me bufer;
- në gjuhën C (standard C99) pa varësi nga palë të tretë dhe shpërndahet me licencën Apache 2.0;
- biblioteka është e ndarë në module (Core, CSS, DOM, Encoding, Engine, HTML, NS, Punycode, Selectors, Tag, Unicode, URL, Utils), të cilat mund të ndërtohen dhe përdoren si biblioteka të veçanta (me opsionin CMake LEXBOR_BUILD_SEPARATELY=ON);
- bindings dhe wrapperat pĂ«r gjuhĂ«t Crystal, ââDââ, Elixir, Julia, PHPâ, Python dhe Ruby.
Ndryshimet kryesore:
- Shtuar mbĂ«shtetje pĂ«r amalmamin (bashkimin e skedareve burimore nĂ« njĂ« skedar tĂ« vetĂ«m). Kjo e thjeshton integrimin e bibliotekĂ«s nĂ« projekte â mjafton tĂ« lidhet njĂ« skedar nĂ« vend qĂ« tĂ« pĂ«rdoret e gjithĂ« sistemi i ndĂ«rtimit. Detajet shih nĂ« dokumentacion.
- Kryer një ripërpunim të gjerë të kodit që merret me analizimin e CSS, për t'u përgatitur për zbatimin e ndarjes.
- Shtuar kontrolli i rrjedhës hyrëse në parserin HTML (kjo është e nevojshme vetëm për të nxjerrë gabimet e analizës në përputhje me specifikimin). E fikur si parazgjedhje, më shumë shih html/#tokenizer-options.
- Përgatitja e kodit për lëshimin e motorit të ndarjes.
- Përmirësime të përgjithshme dhe korrigjime gabimesh.
Burimi: linux.org.ru
