Домой Новости Софт и сервисы Выход библиотеки lexbor 2.7.0

Выход библиотеки lexbor 2.7.0

Обновление производительной библиотеки для работы с HTML5 и CSS

good-penguin.png
Источник: linux.org.ru

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

Главные особенности проекта:

  • полная поддержка актуальных спецификаций WHATWG, W3C и Unicode, включая HTML5, CSS Syntax 3, Encoding, URL, Unicode Standard Annex #15, Unicode Technical Standard #46, Punycode;
  • управление DOM-элементами и атрибутами: создание, модификация, удаление и другие операции;
  • возможность разбора фрагментов HTML;
  • успешное прохождение всех тестов, связанных с построением деревьев DOM;
  • проверка стабильности с помощью ASAN на более чем 200 миллионах реальных HTML-страниц;
  • автоматическое определение кодировки на основе потока байтов;
  • анализ CSS-стилей непосредственно в тегах и их атрибутах;
  • поиск элементов 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.

Ключевые изменения в версии 2.7.0:

  • Появилась поддержка амальгамации — объединения всех исходных файлов в единый файл для упрощения интеграции библиотеки в сторонние проекты без сложной настройки системы сборки.
  • Выполнена масштабная реструктуризация кода для парсинга CSS с целью подготовки к внедрению полноценного движка вёрстки.
  • Интегрирована проверка входящего потока в HTML-парсере, предназначенная для вывода специфичных ошибок разбора (по умолчанию отключена).
  • Продолжена подготовка базы кода к выпуску полноценного движка вёрстки.
  • Произведены общие оптимизации и исправлены выявленные ошибки.

>>> Сайт проекта

>>> Исходный код

>>> Документация

>>> Сделанные и запланированные возможности

>>> Подробности о версии 2.7.0 на GitHub

Источник: https://www.linux.org.ru