13 марта, после четырёх месяцев разработки, состоялся выпуск 2.7.0 высокопроизводительной библиотеки [ lexbor ](
https://lexbor.com/ ) , предназначенной для обработки форматов HTML 5 и CSS.
Основные особенности проекта:
• полная поддержка спецификаций WHATWG, W3C и Unicode: [ HTML5 ](
https://html.spec.whatwg.org/multipage ) , [ CSS Syntax 3 ](
https://drafts.csswg.org/css-syntax-3 ) , [ Encoding ](
https://encoding.spec.whatwg.org/ ) , [ URL ](
https://url.spec.whatwg.org/ ) , [ Unicode Standard Annex #15 ](
https://www.unicode.org/reports/tr15 ) , [ Unicode Technical Standard #46 ](
https://www.unicode.org/reports/tr46 ) , [ Punycode ](
https://www.rfc-editor.org/rfc/inline-errata/rfc3492.html ) , [ Unicode Standard Annex #15 ](
https://www.unicode.org/reports/tr15 ) , [ Unicode Technical Standard #46 ](
https://unicode.org/reports/tr46 ) ;
• манипулирование элементами и атрибутами DOM: добавление, изменение, удаление и прочее;
• поддержка разбора фрагментов HTML;
• прохождение всех тестов построения деревьев DOM;
• [ протестирована ](
https://lexbor.com/fuzzers ) на более чем 200 миллионах HTML-страниц с помощью ASAN;
• поддержка определения кодировки по потоку байтов;
• анализ стилей 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 ](
https://github.com/kostya/lexbor ) , [ D ](
https://github.com/trikko/parserino ) , [ Elixir ](
https://git.pleroma.social/pleroma/elixir-libraries/fast_html ) , [ Julia ](
https://github.com/MichaelHatherly/Lexbor.jl ) , [ PHP ](
https://github.com/php/php-src/tree/master/ext/lexbor ) , [ Python ](
https://github.com/rushter/selectolax#available-backends ) и [ Ruby ](
https://github.com/serpapi/nokolexbor ) .
( [ читать дальше... ](
https://www.linux.org.ru/news/development/18242477#cut ) )
>>> [ Сайт проекта ]( https://lexbor.com/ )
>>> [ Исходный код ]( https://github.com/lexbor/lexbor )
>>> [ Документация ]( https://lexbor.com/documentation )
>>> [ Сделанные и запланированные возможности ]( https://lexbor.com/roadmap )