17 repositorios
The process of transforming a token stream into a hierarchical Document Object Model.
Distinct from Syntax Tree Construction: Distinct from general syntax tree construction by specifically managing the dynamic nature of the HTML DOM.
Explore 17 awesome GitHub repositories matching software engineering & architecture · DOM Tree Construction. Refine with filters or upvote what's useful.
Yoga is a cross-platform layout engine and embeddable core that determines the dimensions and offsets of hierarchical element trees. It provides a C++ implementation of the Flexbox layout model to calculate element positions and sizes based on web standards, ensuring a uniform appearance across diverse devices and operating systems. The engine is designed for portability via a C API, allowing the layout logic to be integrated into various host languages and platforms. It utilizes an incremental layout system that identifies modified subtrees and recalculates positions only for changed nodes a
Allows the creation and linking of nodes to establish a hierarchical structure for UI elements and styling.
This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.
Defines the core algorithm for building the document object model from parsed tokens.
GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation. The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a
Constructs nodes and links as a hierarchy of shapes, text blocks, and panels to define visual layout.
This project is a technical breakdown and implementation of a user interface framework's internal architecture, focusing specifically on the mechanics of the virtual DOM, reconciliation, and component lifecycles. It serves as a resource for understanding how a core logic layer manages the transition from high-level component descriptions to physical browser elements. The project distinguishes itself by providing detailed visualizations, including flowcharts and block schemes, to map the reconciliation process and code execution paths. It explores how a platform-agnostic core can be adapted fo
Constructs a complete interface hierarchy by instantiating components from the top level down to children.
Azul es un constructor de aplicaciones de escritorio nativas y toolkit de UI para crear interfaces gráficas de usuario de alto rendimiento. Utiliza un modelo de programación funcional y reactiva para gestionar el diseño y el estado, permitiendo el desarrollo de software nativo a través de un toolkit basado en CSS. El framework se distingue por su uso del motor WebRender para proporcionar renderizado acelerado por GPU. Esto permite al sistema mostrar elementos de interfaz de usuario complejos con alta eficiencia y velocidad aprovechando la aceleración por hardware. El proyecto permite el diseño de interfaces de escritorio utilizando un modelo de objetos de documento y una sintaxis de estilo similar a HTML y CSS. Su superficie de capacidades cubre el diseño de interfaces multiplataforma y la creación de interfaces de escritorio basadas en tecnología web.
Utilizes a hierarchical layout tree to map structural document elements to their final visual properties.
AngleSharp es un parser de HTML5 DOM y framework de web scraping diseñado para analizar documentos HTML5, SVG y MathML en un modelo de objetos de documento (DOM) compatible con W3C. Funciona como un generador de HTML programático y un motor de selectores CSS para consultar y localizar elementos específicos dentro de un DOM. El proyecto proporciona herramientas para simular entornos de navegador para automatizar interacciones web, navegar por URLs y enviar formularios. Incluye un minificador de HTML y CSS dedicado para reducir el tamaño de archivo de los activos web eliminando caracteres innecesarios. La librería soporta la manipulación del DOM HTML y la extracción de datos estructurados de sitios web. Maneja la transformación de marcado a través de un pipeline de análisis que incluye recuperación de errores basada en especificaciones y construcción jerárquica de documentos.
Transforms a token stream into a hierarchical Document Object Model with parent, child, and sibling pointers.
SwiftSoup es una biblioteca de procesamiento HTML multiplataforma para Swift que convierte cadenas y archivos HTML o XML sin procesar en un modelo de objetos de documento (DOM) estructurado. Proporciona la infraestructura central para analizar contenido web en un árbol navegable, permitiendo el acceso programático a elementos de página en iOS, macOS y Linux. La biblioteca cuenta con un motor de selectores CSS para la extracción de datos y un sistema de sanitización basado en listas blancas para eliminar etiquetas y atributos inseguros del contenido enviado por el usuario. Optimiza las consultas de documentos repetitivas mediante el almacenamiento en caché de consultas memorizadas. El proyecto cubre la manipulación del DOM para actualizar elementos y atributos, recorrido recursivo del árbol para búsquedas profundas y análisis basado en tokens para transformar el marcado en datos estructurados.
Transforms token streams into a hierarchical Document Object Model representation for HTML and XML.
FigmaToCode es un convertidor de diseño a código y generador de código frontend que transforma archivos de diseño de Figma en código fuente responsivo. Funciona como un compilador de UI multiplataforma, mapeando elementos de diseño visual a restricciones estructurales para entornos web y móviles. El sistema admite la emisión de sintaxis multi-objetivo para producir código para HTML, Tailwind CSS, Flutter y SwiftUI. Automatiza el estilo del frontend convirtiendo variables de sistemas de diseño y efectos visuales en código consistente con el tema a través de estos diferentes frameworks. La herramienta maneja la implementación de UI responsiva traduciendo nodos de diseño en layouts que se adaptan a varios tamaños de pantalla. Gestiona la conversión de jerarquías de diseño, relaciones espaciales y paletas de colores en propiedades de layout funcionales y definiciones de estilo.
Translates nested design nodes into hierarchical layout trees for geometry and styling calculations.
Ultralight es un renderizador de UI HTML acelerado por GPU y un framework de C++ diseñado para incrustar interfaces web dentro de aplicaciones nativas. Funciona como un navegador web ligero y un framework de UI multiplataforma que renderiza HTML, CSS y JavaScript directamente a buffers de píxeles de CPU o texturas de GPU. El proyecto destaca al permitir a los desarrolladores emitir geometría cruda y llamadas de dibujo a través de una interfaz de controlador de GPU personalizada, eliminando los bitmaps intermedios de la CPU. Proporciona una integración profunda entre la lógica nativa y los entornos web a través de una biblioteca de interfaz web de C++ que vincula funciones y objetos nativos a una máquina virtual de JavaScript. El motor cubre una amplia gama de capacidades, incluyendo renderizado de diseño de árbol de pintura, gestión de vistas asíncronas y ciclos de renderizado controlados por el host. Admite manejadores de plataforma personalizados para anular comportamientos de archivos y portapapeles a nivel de SO, reenvío de entrada de usuario y la capacidad de empaquetar activos web directamente en binarios de aplicación. El renderizador puede integrarse en varios lenguajes de programación a través de envoltorios mantenidos por la comunidad para C#, Java y Rust.
Parses HTML and CSS to construct a layout tree for calculating geometry before final rendering.
htmlparser2 es una colección de herramientas para el análisis de marcado de alto rendimiento, manipulación de DOM y procesamiento de flujos incremental. Funciona como un analizador de HTML y XML que convierte cadenas de marcado en árboles de objetos estructurados, junto con un analizador de marcado de flujo diseñado para el procesamiento eficiente en memoria de documentos grandes. El proyecto incluye una biblioteca de manipulación de DOM para consultar, modificar y serializar árboles de modelos de objetos de documentos. También proporciona un analizador de feeds web para extraer metadatos estructurados y entradas de feeds RSS, RDF y Atom. La biblioteca cubre amplias capacidades en el análisis de datos, incluyendo la conversión de documentos a árboles DOM y la ejecución de flujos de trabajo de web scraping. Estas herramientas permiten la búsqueda y modificación de estructuras de documentos analizados antes de que se conviertan de nuevo en cadenas.
Transforms a sequence of parsed tokens into a hierarchical Document Object Model for programmatic use.
Tangram-Android es un SDK de UI impulsado por servidor y un motor nativo dinámico para Android. Permite el renderizado de interfaces de usuario nativas interpretando definiciones de datos JSON recibidas desde un servidor remoto, permitiendo que los diseños y el contenido de la aplicación se actualicen sin requerir nuevas implementaciones de la aplicación. El framework utiliza un sistema basado en JSON para sincronizar diseños de página en Android e iOS a través de un formato de datos compartido. Esto permite actualizaciones de interfaz en tiempo real y consistencia multiplataforma al controlar la UI móvil desde un backend remoto. El proyecto proporciona una librería modular de componentes reutilizables y un motor de diseño que organiza elementos de interfaz nativos en cuadrículas y listas. Emplea mapeo de vistas dinámico y análisis recursivo para traducir datos estructurados en jerarquías de vistas nativas complejas.
Processes nested data structures to iteratively instantiate child components and build complex view hierarchies.
parse5 is a WHATWG HTML parser and serializer for Node.js. It transforms HTML strings into a document object model and converts those trees back into valid HTML strings, following the logic defined by the HTML Living Standard. The project functions as a streaming HTML processor, using incremental parsing to handle large documents in chunks. It includes an HTML5 compliant tokenizer that uses a state-machine approach to break input into tokens according to official web specifications. The toolset covers HTML document parsing, serialization, and real-time rewriting via streams. These capabiliti
Transforms a sequence of tokens into a hierarchical document object model using specific nesting and stacking rules.
Robobrowser is a Python web scraping library that provides a headless browser emulator and an HTML DOM parser. It is designed to programmatically navigate websites, interact with HTML forms, and extract data from web pages. The tool includes a web request caching mechanism to store previously fetched web content, reducing network traffic and increasing loading speeds for repeated requests. It covers capabilities for automated web navigation, programmatic web scraping, and web form automation, including the ability to populate input fields and trigger submission events. The system also manage
Provides a mechanism to convert HTML responses into a hierarchical Document Object Model for structured data retrieval.
HTMLHint is an HTML linter and static analysis tool designed to identify structural errors and syntax violations in source code. It functions as a configurable validator that scans local files and remote URLs to detect malformed tags, duplicate IDs, and document structure inconsistencies. The tool serves as an accessibility auditor, verifying that web elements include necessary labels and alternative text for images. It further distinguishes itself by enforcing web document compliance, checking for the presence of doctypes, language attributes, and head metadata. The project covers a broad r
Converts raw HTML strings into a hierarchical Document Object Model to analyze tag nesting and attribute integrity.
Fancytree es una biblioteca de JavaScript diseñada para renderizar y gestionar estructuras de datos jerárquicas e interactivas dentro de interfaces web. Proporciona un framework para mostrar información anidada compleja como vistas de árbol o cuadrículas, admitiendo tanto la navegación de árbol estándar como diseños de datos tabulares. La biblioteca se distingue por una arquitectura de plugins modular que permite a los desarrolladores inyectar comportamientos y elementos visuales personalizados en el ciclo de vida del componente. Maneja grandes conjuntos de datos implementando carga perezosa bajo demanda, que obtiene nodos hijos solo cuando es necesario para mantener la capacidad de respuesta. Los usuarios pueden interactuar con los datos a través de reordenamiento de arrastrar y soltar, edición de nodos en línea y selección de múltiples nodos con propagación de estado automática. Más allá del renderizado básico, el proyecto incluye herramientas integrales para la gestión de estado y la manipulación de datos. Admite filtrado de contenido en tiempo real, navegación por teclado y la persistencia de los estados de expansión y selección de nodos a través de sesiones de navegador. La biblioteca está construida sobre un sistema de normalización de datos recursiva y delegación de eventos para garantizar un rendimiento y manejo de interacción consistentes a través de varias configuraciones jerárquicas.
Constructs and maintains a nested list of HTML elements representing hierarchical data structures directly within the browser document.
PHP HTML Parser is a server-side programming library and DOM parser designed to ingest markup documents and structure them into a navigable parent-child object tree. The library provides a stream-based character lexer and a configurable rule engine that manages parser strictness, whitespace preservation, tag closing behavior, and character encoding detection during document ingestion. Content loading is handled through a pluggable retrieval layer that accepts local file paths, raw strings, and remote network URLs. Once loaded, documents can be queried using a chainable CSS selector engine th
Structures parsed markup into a navigable parent-child document object model hierarchy.
php-simple-html-dom-parser is a PHP library for parsing HTML documents into a traversable in-memory tree that handles malformed markup gracefully. It constructs a complete object graph from raw HTML strings while retaining document structure and relational node hierarchies, and supports lazy child node iteration to load descendant nodes on demand for large documents. The library features a CSS selector query engine that translates selector expressions to locate and filter matching nodes within the parsed DOM tree. Programmatic accessors provide direct string-based attribute retrieval to extra
Converts raw HTML markup strings into a fully traversable object graph that retains document structure and relational node hierarchies.