lexbor 2.7.0

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

Las principales características del proyecto:

  • Compatibilidad total con las especificaciones WHATWG, W3C y Unicode: HTML5, Sintaxis CSS 3, Codificación, URL, Anexo n.º 15 del estándar Unicode, Norma técnica Unicode n.º 46, Punycode, Anexo n.º 15 del estándar Unicode, Norma técnica Unicode n.º 46;
  • manipulación de elementos y atributos del DOM: agregar, cambiar, eliminar, etc.;
  • Compatibilidad con el análisis de fragmentos HTML;
  • Superando todas las pruebas de construcción del árbol DOM;
  • probado en más de 200 millones de páginas HTML que utilizan ASAN;
  • Compatibilidad con la detección de codificación por flujo de bytes;
  • Analizando estilos CSS en atributos de etiquetas y en la etiqueta ;
  • Cómo encontrar elementos HTML usando selectores CSS;
  • Admite 40 codificaciones al codificar y decodificar;
  • Compatibilidad con codificación y decodificación con y sin búfer;
  • escrito en C (estándar C99) sin dependencias de terceros y distribuido 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 pueden compilarse y utilizarse como bibliotecas separadas (con la opción CMake LEXBOR_BUILD_SEPARATELY=ON);
  • Enlaces y adaptadores de terceros para lenguajes Cristal, D, Elixir, Julia, PHP, Python и Rubí.

Cambios importantes:

  • Se agregó compatibilidad con la fusión (combinación de archivos fuente en un solo archivo). Esto simplifica la integración de la biblioteca en los proyectos: solo necesita incluir un archivo en lugar de usar todo el sistema de compilación. Para obtener más detalles, consulte documentación.
  • Se llevó a cabo una revisión a gran escala del código responsable del análisis CSS como preparación para la implementación del diseño.
  • Se agregó validación del flujo de entrada al analizador HTML (esto es necesario únicamente para informar errores de análisis según la especificación). Deshabilitado por defecto; consulte los detalles. html/#opciones-de-tokenización.
  • Preparando el código para el lanzamiento del motor de maquetación.
  • Mejoras generales y corrección de errores.

Fuente: linux.org.ru

Añadir un comentario