17 个仓库
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 is a native desktop application builder and UI toolkit for creating high-performance graphical user interfaces. It utilizes a functional and reactive programming model for managing layout and state, enabling the development of native software through a CSS-based toolkit. The framework is distinguished by its use of the WebRender engine to provide GPU-accelerated rendering. This allows the system to display complex user interface elements with high efficiency and speed by leveraging hardware acceleration. The project enables the design of desktop interfaces using a document object model
Utilizes a hierarchical layout tree to map structural document elements to their final visual properties.
AngleSharp 是一个 HTML5 DOM 解析器和 Web 抓取框架,旨在将 HTML5、SVG 和 MathML 文档解析为符合 W3C 标准的文档对象模型。它作为一个程序化 HTML 生成器和 CSS 选择器引擎,用于查询和定位 DOM 中的特定元素。 该项目提供模拟浏览器环境的工具,以自动化 Web 交互、导航 URL 和提交表单。它包括一个专门的 HTML 和 CSS 压缩器,通过删除不必要的字符来减小 Web 资源的文件大小。 该库支持 HTML DOM 操作和从网站提取结构化数据。它通过包含规范驱动的错误恢复和分层文档构建的解析流水线处理标记转换。
Transforms a token stream into a hierarchical Document Object Model with parent, child, and sibling pointers.
SwiftSoup 是一个用于 Swift 的跨平台 HTML 处理库,将原始 HTML 或 XML 字符串和文件转换为结构化的文档对象模型 (DOM)。它提供了将 Web 内容解析为可遍历树的核心基础设施,从而实现跨 iOS、macOS 和 Linux 对页面元素的程序化访问。 该库具有用于数据提取的 CSS 选择器引擎和用于从用户提交的内容中移除不安全标签和属性的基于白名单的清理系统。它通过记忆化查询缓存优化了重复的文档查询。 该项目涵盖了用于更新元素和属性的 DOM 操作、用于深度搜索的递归树遍历,以及用于将标记转换为结构化数据的基于标记的解析。
Transforms token streams into a hierarchical Document Object Model representation for HTML and XML.
FigmaToCode 是一个设计转代码转换器和前端代码生成器,可将 Figma 设计文件转换为响应式源代码。它充当多平台 UI 编译器,将视觉设计元素映射到 Web 和移动环境的结构约束。 该系统支持多目标语法输出,可生成 HTML、Tailwind CSS、Flutter 和 SwiftUI 的代码。它通过将设计系统变量和视觉效果转换为这些不同框架中主题一致的代码,实现了前端样式的自动化。 该工具通过将设计节点转换为适应各种屏幕尺寸的布局来处理响应式 UI 实现。它管理设计层次结构、空间关系和调色板到功能性布局属性和样式定义的转换。
Translates nested design nodes into hierarchical layout trees for geometry and styling calculations.
Ultralight 是一个 GPU 加速的 HTML UI 渲染器和 C++ 框架,旨在将 Web 界面嵌入到原生应用程序中。它充当轻量级 Web 浏览器和跨平台 UI 框架,将 HTML、CSS 和 JavaScript 直接渲染到 CPU 像素缓冲区或 GPU 纹理中。 该项目的独特之处在于允许开发人员通过自定义 GPU 驱动程序接口发出原始几何图形和绘制调用,从而消除了中间的 CPU 位图。它通过 C++ Web 界面库实现了原生逻辑与 Web 环境的深度集成,该库将原生函数和对象绑定到 JavaScript 虚拟机。 该引擎涵盖了广泛的功能,包括渲染树布局渲染、异步视图管理和主机控制的渲染周期。它支持自定义平台处理程序,用于覆盖操作系统级的文件和剪贴板行为、用户输入转发,以及将 Web 资源直接打包到应用程序二进制文件中的能力。 该渲染器可以通过社区维护的 C#、Java 和 Rust 包装器集成到各种编程语言中。
Parses HTML and CSS to construct a layout tree for calculating geometry before final rendering.
htmlparser2 是一套用于高性能标记解析、DOM 操作和增量流处理的工具。它作为一个 HTML 和 XML 解析器,将标记字符串转换为结构化对象树,并配有一个专为内存高效处理大型文档而设计的流式标记解析器。 该项目包含一个用于查询、修改和序列化文档对象模型 (DOM) 树的 DOM 操作库。它还提供了一个 Web Feed 解析器,用于从 RSS、RDF 和 Atom Feed 中提取结构化元数据和条目。 该库涵盖了广泛的数据解析功能,包括将文档转换为 DOM 树以及执行 Web 抓取工作流。这些工具允许在解析后的文档结构转换回字符串之前对其进行搜索和修改。
Transforms a sequence of parsed tokens into a hierarchical Document Object Model for programmatic use.
Tangram-Android 是一个 Android 服务器驱动的 UI SDK 和动态原生引擎。它通过解释从远程服务器接收的 JSON 数据定义来渲染原生用户界面,允许在不要求重新部署应用的情况下更新应用布局和内容。 该框架使用基于 JSON 的系统通过共享数据格式在 Android 和 iOS 之间同步页面布局。这允许通过从远程后端控制移动 UI 来实现实时界面更新和跨平台一致性。 该项目提供了一个可复用组件的模块化库和一个将原生界面元素组织成网格和列表的布局引擎。它采用动态视图映射和递归解析,将结构化数据转换为复杂原生视图层级。
Processes nested data structures to iteratively instantiate child components and build complex view hierarchies.
parse5 是一个适用于 Node.js 的 WHATWG HTML 解析器和序列化器。它遵循 HTML Living Standard 定义的逻辑,将 HTML 字符串转换为文档对象模型 (DOM),并将这些树结构转换回有效的 HTML 字符串。 该项目作为一个流式 HTML 处理器,使用增量解析来分块处理大型文档。它包含一个符合 HTML5 标准的标记器,使用状态机方法根据官方 Web 规范将输入分解为标记。 该工具集涵盖了 HTML 文档解析、序列化以及通过流进行的实时重写。这些功能允许在保持不同环境间一致性的同时,对 HTML 文档进行程序化分析和数据提取。
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 is a JavaScript library designed for rendering and managing interactive, hierarchical data structures within web interfaces. It provides a framework for displaying complex nested information as tree views or grids, supporting both standard tree navigation and tabular data layouts. The library distinguishes itself through a modular plugin architecture that allows developers to inject custom behaviors and visual elements into the component lifecycle. It handles large datasets by implementing on-demand lazy loading, which fetches child nodes only when required to maintain responsivenes
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.