Am 13. MĂ€rz, nach vier Monaten Entwicklung, wurde die hochleistungsfĂ€hige Bibliothek 2.7.0 veröffentlicht. lexborSie ist fĂŒr die Verarbeitung von HTML 5 und CSS Formaten konzipiert.
Die Hauptmerkmale des Projekts:
- vollstĂ€ndige UnterstĂŒtzung der Spezifikationen WHATWG, W3C und Unicode: HTML5, CSS Syntax 3, Encoding, URLâ, Unicode Standard Annex #15, Unicode Technical Standard #46, Punycode, Unicode Standard Annex #15, Unicode Technical Standard #46;
- Manipulation von DOM-Elementen und -Attributen: HinzufĂŒgen, Ăndern, Entfernen und mehr;
- UnterstĂŒtzung fĂŒr das Parsen von HTML-Fragmente;
- DurchfĂŒhrung aller DOM-Baum-Konstruktionstests;
- Getestet an mehr als 200 Millionen HTML-Seiten mittels ASAN;
- UnterstĂŒtzung zur Bestimmung der Kodierung basierend auf dem Byte-Stream;
- Analyse von CSS-Stilen in Attributen von Tags und im Tag ;
- Suche nach HTML-Elementen mit CSS-Selektoren;
- UnterstĂŒtzung von 40 Kodierungen beim Kodieren und Dekodieren;
- UnterstĂŒtzung von unbuffered und buffered Kodierung und Dekodierung;
- geschrieben in C (C99 Standard) ohne externe AbhÀngigkeiten und wird unter der Apache 2.0 Lizenz verbreitet;
- Die Bibliothek ist in Module unterteilt (Core, CSS, DOM, Encoding, Engine, HTML, NS, Punycode, Selectors, Tag, Unicode, URL, Utils), die separat kompilierbar und als eigenstÀndige Bibliotheken nutzbar sind (mit der CMake Option LEXBOR_BUILD_SEPARATELY=ON);
- Externe Bindings und Wrapper fĂŒr die Sprachen Crystal, ââDââ, Elixir, Julia, PHPâ, Python und Ruby.
Wesentliche Ănderungen:
- UnterstĂŒtzung fĂŒr Amalgamation (Kombination von Quelldateien in eine Datei) hinzugefĂŒgt. Dies vereinfacht die Integration der Bibliothek in Projekte â es reicht aus, eine Datei einzubinden, anstatt das gesamte Build-System zu verwenden. Details siehe Dokumentation..
- Umfassende Ăberarbeitung des Codes, der fĂŒr das Parsen von CSS verantwortlich ist, zur Vorbereitung der Implementierung des Layouts.
- Eine ĂberprĂŒfung des Eingabestreams im HTML-Parser wurde hinzugefĂŒgt (dies ist ausschlieĂlich benötigt, um Parsing-Fehler gemÀà der Spezifikation auszugeben). StandardmĂ€Ăig deaktiviert, weitere Informationen siehe html/#tokenizer-options.
- Vorbereitung des Codes auf die Veröffentlichung der Layout-Engine.
- Allgemeine Verbesserungen und Fehlerbehebungen.
Quelle: linux.org.ru
