lexbor 2.7.0

Le 13 mars, après quatre mois de développement, la version 2.7.0 de la bibliothèque haute performance a été publiée lexbor, destinée à traiter les formats HTML 5 et CSS.

Les principales caractéristiques du projet :

  • prise en charge complète des spécifications WHATWG, W3C et Unicode : HTML5, Syntaxe CSS 3, Encodage, URL, Annexe #15 de la norme Unicode, Norme technique Unicode #46, Punycode, Annexe #15 de la norme Unicode, Norme technique Unicode #46;
  • manipulation des éléments et attributs DOM : ajout, modification, suppression, etc. ;
  • prise en charge de l'analyse des fragments HTML ;
  • réalisation de tous les tests de construction d'arbres DOM ;
  • testée sur plus de 200 millions de pages HTML à l'aide d'ASAN ;
  • prise en charge de la détection d'encodage par flux d'octets ;
  • analyse des styles CSS dans les attributs des balises et dans la balise ;
  • recherche des éléments HTML à l'aide de sélecteurs CSS ;
  • prise en charge de 40 encodages lors de l'encodage et du décodage ;
  • prise en charge de l'encodage et du décodage en mode non tamponné et tamponné ;
  • écrit en C (norme C99) sans dépendances externes et distribué sous licence Apache 2.0 ;
  • la bibliothèque est divisée en modules (Core, CSS, DOM, Encoding, Engine, HTML, NS, Punycode, Selectors, Tag, Unicode, URL, Utils), qui peuvent être compilés et utilisés comme des bibliothèques distinctes (avec l'option CMake LEXBOR_BUILD_SEPARATELY=ON) ;
  • liens et wrappers tiers pour les langages Crystal, D, Elixir, Julia, PHP, Python et Ruby.

Principales modifications :

  • Ajout de la prise en charge de l'amalgame (fusion de fichiers source en un seul fichier). Cela simplifie l'intégration de la bibliothèque dans les projets - il suffit d'inclure un fichier plutôt que d'utiliser tout le système de construction. Plus de détails sont disponibles dans documentation.
  • Une réécriture massive du code responsable de l'analyse CSS a été effectuée en préparation de la mise en œuvre du rendu.
  • Ajout de la vérification du flux entrant dans l'analyseur HTML (ceci est uniquement nécessaire pour le retour des erreurs d'analyse conformément à la spécification). Désactivé par défaut, plus de détails ici : html/#tokenizer-options.
  • Préparation du code pour la sortie du moteur de rendu.
  • Améliorations générales et corrections de bogues.

Source : linux.org.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster