На 13 март, след четири месеца разработка, е пусната версия 2.7.0 на високопродуктивната библиотека lexbor, предназначена за обработка на формати HTML 5 и CSS.

Основни характеристики на проекта:

  • пълна подкрепа на спецификациите WHATWG, W3C и Unicode: HTML5, CSS Syntax 3, Encoding, URL​, Unicode Standard Annex #15, Unicode Technical Standard #46, Punycode, Unicode Standard Annex #15, Unicode Technical Standard #46;
  • манипулиране на елементите и атрибутите на DOM: добавяне, изменение, изтриване и др.;
  • подкрепа за анализ на HTML фрагменти;
  • преминаване на всички тестове за изграждане на DOM дървета;
  • тестирана на над 200 милиона HTML страници с помощта на ASAN;
  • подкрепа за разпознаване на кодиране на байтовия поток;
  • анализ на стиловете на CSS в атрибутите на таговете и в таг <style>;
  • търсене на HTML елементи с помощта на CSS селектори;
  • подкрепа за 40 кодировки при кодиране и декодиране;
  • подкрепа за небъферирано и бъферирано кодиране и декодиране;
  • написана на C (стандарт C99) без външни зависимости и разпространява се под лиценз Apache 2.0;
  • библиотеката е разделена на модули (Core, CSS, DOM, Encoding, Engine, HTML, NS, Punycode, Selectors, Tag, Unicode, URL, Utils), които могат да бъдат компилирани и използвани като отделни библиотеки (с опция CMake LEXBOR_BUILD_SEPARATELY=ON);
  • външни биндинги и обвивки за езици Crystal, ​​D​​, Elixir, Julia, PHP​, Python и Ruby.

Основни промени:

  • Добавена е поддръжка за амалгамация (обединяване на изходни файлове в един файл). Това опростява интеграцията на библиотеката в проекти - достатъчно е да се свърже един файл вместо да се използва цялата система за изграждане. Подробности вижте в документацията.
  • Извършена е мащабна преработка на кода, отговарящ за анализирането на CSS, за подготовка за реализация на оформления.
  • Добавена е проверка на входящия поток в HTML парсера (това е необходимо единствено за извеждане на грешки в анализа в съответствие със спецификацията). Изключена по подразбиране, подробности вижте на html/#tokenizer-options.
  • Подготовка на кода за издание на двигателя за оформления.
  • Общи подобрения и корекции на грешки.

Източник: linux.org.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster