17 repository-uri
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 este un constructor de aplicații desktop native și un toolkit UI pentru crearea de interfețe grafice de înaltă performanță. Utilizează un model de programare funcțional și reactiv pentru gestionarea layout-ului și a stării, permițând dezvoltarea de software nativ printr-un toolkit bazat pe CSS. Framework-ul se distinge prin utilizarea motorului WebRender pentru a oferi randare accelerată GPU. Acest lucru permite sistemului să afișeze elemente complexe de interfață cu eficiență și viteză ridicate prin utilizarea accelerării hardware. Proiectul permite designul interfețelor desktop folosind un document object model (DOM) și o sintaxă de stilizare similară cu HTML și CSS. Suprafața sa de capabilități acoperă designul de interfețe cross-platform și crearea de interfețe desktop bazate pe tehnologii web.
Utilizes a hierarchical layout tree to map structural document elements to their final visual properties.
AngleSharp este un parser HTML5 DOM și framework de web scraping conceput pentru a parsa documente HTML5, SVG și MathML într-un document object model (DOM) conform W3C. Funcționează ca un generator programatic de HTML și un motor de selectori CSS pentru interogarea și localizarea elementelor specifice dintr-un DOM. Proiectul oferă instrumente pentru simularea mediilor de browser pentru a automatiza interacțiunile web, naviga URL-uri și trimite formulare. Include un minifier dedicat de HTML și CSS pentru a reduce dimensiunea fișierelor activelor web prin eliminarea caracterelor inutile. Biblioteca suportă manipularea DOM-ului HTML și extragerea de date structurate de pe site-uri web. Gestionează transformarea markup-ului printr-un pipeline de parsare care include recuperarea erorilor bazată pe specificații și construcția ierarhică a documentului.
Transforms a token stream into a hierarchical Document Object Model with parent, child, and sibling pointers.
SwiftSoup este o bibliotecă de procesare HTML cross-platform pentru Swift care convertește șirurile și fișierele HTML sau XML brute într-un document object model (DOM) structurat. Oferă infrastructura de bază pentru a parsa conținutul web într-un arbore traversabil, permițând accesul programatic la elementele paginii pe iOS, macOS și Linux. Biblioteca dispune de un motor de selectori CSS pentru extragerea datelor și un sistem de sanitizare bazat pe whitelist pentru a elimina tag-urile și atributele nesigure din conținutul trimis de utilizatori. Optimizează interogările repetitive asupra documentelor prin caching-ul interogărilor memoizate. Proiectul acoperă manipularea DOM pentru actualizarea elementelor și atributelor, traversarea recursivă a arborelui pentru căutări profunde și parsarea bazată pe token-uri pentru transformarea markup-ului în date structurate.
Transforms token streams into a hierarchical Document Object Model representation for HTML and XML.
FigmaToCode este un convertor design-to-code și generator de cod frontend care transformă fișierele de design Figma în cod sursă responsiv. Funcționează ca un compilator UI multi-platformă, mapând elementele de design vizual la constrângeri structurale pentru medii web și mobile. Sistemul suportă emisia de sintaxă multi-țintă pentru a produce cod pentru HTML, Tailwind CSS, Flutter și SwiftUI. Automatizează stilizarea frontend-ului prin conversia variabilelor sistemului de design și a efectelor vizuale în cod consistent cu tema pe aceste diferite framework-uri. Instrumentul gestionează implementarea UI responsiv prin traducerea nodurilor de design în layout-uri care se adaptează la diverse dimensiuni de ecran. Gestionează conversia ierarhiilor de design, a relațiilor spațiale și a paletelor de culori în proprietăți de layout funcționale și definiții de stil.
Translates nested design nodes into hierarchical layout trees for geometry and styling calculations.
Ultralight este un renderer de interfață HTML accelerat GPU și un framework C++ conceput pentru a încorpora interfețe web în aplicații native. Acesta funcționează ca un browser web ușor și un framework UI cross-platform care randează HTML, CSS și JavaScript direct în buffere de pixeli CPU sau texturi GPU. Proiectul se distinge prin faptul că permite dezvoltatorilor să emită geometrie brută și apeluri de desenare printr-o interfață de driver GPU personalizată, eliminând bitmap-urile intermediare CPU. Oferă o integrare profundă între logica nativă și mediile web printr-o bibliotecă de interfață web C++ care leagă funcțiile și obiectele native de o mașină virtuală JavaScript. Motorul acoperă o gamă largă de capabilități, inclusiv randarea layout-ului de tip paint-tree, gestionarea asincronă a vizualizărilor și cicluri de randare controlate de gazdă. Suportă handlere de platformă personalizate pentru suprascrierea comportamentelor OS-level privind fișierele și clipboard-ul, redirecționarea input-ului utilizatorului și capacitatea de a bundle-ui activele web direct în binarele aplicației. Renderer-ul poate fi integrat în diverse limbaje de programare prin intermediul unor wrappere menținute de comunitate pentru C#, Java și Rust.
Parses HTML and CSS to construct a layout tree for calculating geometry before final rendering.
htmlparser2 is a collection of tools for high-performance markup parsing, DOM manipulation, and incremental stream processing. It functions as an HTML and XML parser that converts markup strings into structured object trees, alongside a streaming markup parser designed for memory-efficient processing of large documents. The project includes a DOM manipulation library for querying, modifying, and serializing document object model trees. It also provides a web feed parser to extract structured metadata and entries from RSS, RDF, and Atom feeds. The library covers broad capabilities in data par
Transforms a sequence of parsed tokens into a hierarchical Document Object Model for programmatic use.
Tangram-Android este un SDK de UI condus de server și un motor nativ dinamic pentru Android. Acesta permite randarea interfețelor utilizator native prin interpretarea definițiilor de date JSON primite de la un server la distanță, permițând actualizarea layout-urilor și a conținutului aplicației fără a necesita noi implementări ale aplicației. Framework-ul utilizează un sistem bazat pe JSON pentru a sincroniza layout-urile paginilor pe Android și iOS printr-un format de date partajat. Acest lucru permite actualizări de interfață în timp real și consistență cross-platform prin controlul UI-ului mobil dintr-un backend la distanță. Proiectul oferă o bibliotecă modulară de componente reutilizabile și un motor de layout care organizează elementele de interfață native în grile și liste. Utilizează maparea dinamică a view-urilor și parsarea recursivă pentru a traduce datele structurate în ierarhii complexe de view-uri native.
Processes nested data structures to iteratively instantiate child components and build complex view hierarchies.
parse5 este un parser și serializator HTML WHATWG pentru Node.js. Acesta transformă șirurile HTML într-un Document Object Model (DOM) și convertește acele structuri înapoi în șiruri HTML valide, respectând logica definită de standardul HTML Living Standard. Proiectul funcționează ca un procesor de flux (streaming) HTML, utilizând parsarea incrementală pentru a gestiona documente mari în fragmente. Include un tokenizer compatibil cu HTML5 care folosește o abordare bazată pe mașini de stare pentru a descompune inputul în token-uri, conform specificațiilor web oficiale. Setul de instrumente acoperă parsarea documentelor HTML, serializarea și rescrierea în timp real prin fluxuri. Aceste capabilități permit analiza programatică și extragerea de date din documente HTML, menținând în același timp consistența în diferite medii.
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 este o bibliotecă JavaScript concepută pentru randarea și gestionarea structurilor de date ierarhice interactive în interfețele web. Oferă un framework pentru afișarea informațiilor imbricate complexe sub formă de tree view-uri sau grile, susținând atât navigarea standard în arbore, cât și layout-urile de date tabelare. Biblioteca se distinge printr-o arhitectură modulară de plugin-uri care permite dezvoltatorilor să injecteze comportamente și elemente vizuale personalizate în ciclul de viață al componentei. Gestionează seturi mari de date prin implementarea lazy loading-ului la cerere, care preia nodurile copil doar atunci când este necesar pentru a menține responsivitatea. Utilizatorii pot interacționa cu datele prin reordonare drag-and-drop, editare inline a nodurilor și selecție multi-nod cu propagarea automată a stării. Dincolo de randarea de bază, proiectul include instrumente cuprinzătoare pentru gestionarea stării și manipularea datelor. Susține filtrarea conținutului în timp real, navigarea prin tastatură și persistența stărilor de expansiune și selecție a nodurilor pe parcursul sesiunilor de browser. Biblioteca este construită pe un sistem de normalizare recursivă a datelor și delegare a evenimentelor pentru a asigura performanța consistentă și gestionarea interacțiunii în diverse configurații ierarhice.
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.