lexbor 2.7.0

El 13 de marzo, después de cuatro meses de desarrollo, se lanzó la versión 2.7.0 de la biblioteca de alto rendimiento lexbor, diseñada para procesar formatos HTML 5 y CSS.

Características principales del proyecto:

  • completo soporte para las especificaciones de WHATWG, W3C y Unicode: HTML5, CSS Syntax 3, Encoding, URL​, Anexo #15 del estándar Unicode, Estándar técnico Unicode #46, Punycode, Anexo #15 del estándar Unicode, Estándar técnico Unicode #46;
  • manipulación de elementos y atributos del DOM: agregar, modificar, eliminar y más;
  • soporte para el análisis de fragmentos HTML;
  • superación de todas las pruebas de construcción de árboles DOM;
  • probado en más de 200 millones de páginas HTML utilizando ASAN;
  • soporte para la detección de codificación a partir del flujo de bytes;
  • análisis de estilos CSS en atributos de etiquetas y en la etiqueta ;
  • búsqueda de elementos HTML utilizando selectores CSS;
  • soporte para 40 codificaciones en codificación y decodificación;
  • soporte para codificación y decodificación tanto con búfer como sin búfer;
  • escrito en C (estándar C99) sin dependencias externas y distribuidor bajo la licencia Apache 2.0;
  • la biblioteca está dividida en módulos (Core, CSS, DOM, Encoding, Engine, HTML, NS, Punycode, Selectors, Tag, Unicode, URL, Utils), que se pueden compilar y usar como bibliotecas separadas (con la opción CMake LEXBOR_BUILD_SEPARATELY=ON);
  • vínculos y envolturas de terceros para lenguajes Crystal, D, Elixir, Julia, PHP​, Python y Ruby.

Principales cambios:

  • Se agregó soporte para la amalgamación (combinación de archivos de origen en un solo archivo). Esto simplifica la integración de la biblioteca en proyectos: basta con conectar un archivo en lugar de usar todo el sistema de construcción. Más detalles se encuentran en la documentación.
  • Se llevó a cabo una reestructuración masiva del código responsable del análisis de CSS, en preparación para implementar el motor de diseño.
  • Se agregó verificación del flujo entrante en el analizador HTML (esto es necesario únicamente para generar errores de análisis de acuerdo con la especificación). Desactivado por defecto, más detalles en html/#tokenizer-options.
  • Preparación del código para el lanzamiento del motor de diseño.
  • Mejoras y correcciones generales.

Fuente: linux.org.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster