lexbor 2.7.0

13 marca, po czterech miesiącach prac, wydano 2.7.0 wysoce wydajnej biblioteki lexbor, przeznaczonej do przetwarzania formatów HTML 5 oraz CSS.

Główne cechy projektu:

  • pełne wsparcie dla specyfikacji WHATWG, W3C i Unicode: HTML5, CSS Syntax 3, Kodowanie, URL​, Standard Unicode załącznik #15, Techniczny standard Unicode #46, Punycode, Standard Unicode załącznik #15, Techniczny standard Unicode #46;
  • manipulacja elementami i atrybutami DOM: dodawanie, zmiana, usuwanie i inne;
  • wsparcie dla analizy fragmentów HTML;
  • przechodzenie przez wszystkie testy budowy drzew DOM;
  • przetestowane na ponad 200 milionach stron HTML z wykorzystaniem ASAN;
  • wsparcie dla określania kodowania na podstawie strumienia bajtów;
  • analiza stylów CSS w atrybutach tagów oraz w tagu ;
  • wyszukiwanie elementów HTML za pomocą selektorów CSS;
  • wsparcie dla 40 kodowań podczas kodowania i dekodowania;
  • wsparcie dla niebuforowanego i buforowanego kodowania oraz dekodowania;
  • napisany w języku C (standard C99) bez zewnętrznych zależności i dystrybuowany na licencji Apache 2.0;
  • biblioteka podzielona na moduły (Core, CSS, DOM, Encoding, Engine, HTML, NS, Punycode, Selectors, Tag, Unicode, URL, Utils), które mogą być kompilowane i używane jako oddzielne biblioteki (z opcją CMake LEXBOR_BUILD_SEPARATELY=ON);
  • wiązania i wrappery dla języków Crystal, D, Elixir, Julia, PHP​, Python i Ruby.

Główne zmiany:

  • Dodano wsparcie dla amagamacji (łączenia plików źródłowych w jeden plik). Ułatwia to integrację biblioteki w projektach – wystarczy dołączyć jeden plik zamiast korzystać z całego systemu budowy. Szczegóły znajdują się w dokumentacji.
  • Przeprowadzono szeroką przebudowę kodu odpowiedzialnego za analizę CSS, aby przygotować się do realizacji układu.
  • Dodano sprawdzenie przychodzącego strumienia w parserze HTML (jest to konieczne wyłącznie do wyświetlania błędów analizy zgodnie ze specyfikacją). Domyślnie wyłączone, więcej informacji w html/#tokenizer-options.
  • Przygotowanie kodu do wydania silnika układu.
  • Ogólne ulepszenia i poprawki błędów.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster