32 repositorios
Algorithms for navigating document object model hierarchies to map elements to drawing instructions.
Distinct from Tree Traversal Algorithms: Distinct from general tree traversal: focuses on mapping document structures to visual drawing primitives.
Explore 32 awesome GitHub repositories matching software engineering & architecture · Document Tree Traversers. Refine with filters or upvote what's useful.
Cheerio is an HTML and XML parsing library and server-side DOM implementation. It functions as a markup manipulation tool and CSS selector engine, allowing users to parse, query, and modify HTML or XML documents in non-browser environments. The project provides a DOM-like tree representation of markup strings, enabling programmatic addition, removal, and modification of elements and attributes. It features a prototype-based plugin system that allows the extension of core functionality by adding custom methods to the document prototype. The library covers a broad range of capabilities includi
Enables navigation of the document hierarchy through recursive traversal of parent, child, and sibling node pointers.
Lexical is a modular rich text editor framework used to build extensible web-based editors. It functions as a state-driven content editor that maintains a serializable, immutable snapshot of document content to ensure predictable updates and accessibility compliance. The framework is distinguished by its plugin-based architecture and customizable node framework, which allow developers to extend editor behavior through specialized content nodes and encapsulated runtime logic. It also includes a collaborative editing engine capable of synchronizing document state across multiple clients in real
Allows traversing the document node hierarchy using familial relationships to locate specific content.
This project is a vanilla JavaScript reference guide and implementation collection designed to replace legacy libraries with native browser patterns. It provides a set of native JavaScript patterns for selecting, modifying, and navigating HTML elements, alongside a web API implementation guide for handling events and styles. The project serves as a reference for implementing asynchronous JavaScript patterns using native promises and fetch for remote data and background tasks. It also includes a client-side utility collection for performing data transformations, type validation, and element me
Implements programmatic navigation through parent, child, and sibling references within the HTML tree.
Enzyme is a testing utility for React components designed to verify their output and behavior in a test environment. It serves as a test harness for UI components, providing tools to render visual elements, manage state transitions, and simulate synthetic events. The library distinguishes itself through multiple rendering modes, including a shallow rendering engine for isolated unit testing and full DOM rendering for testing deep integration. It employs an adapter-based integration system to maintain compatibility across different versions of the underlying framework. The toolkit covers a br
Implements selector-based tree traversal to locate and verify specific elements in the rendered output.
This project provides an integration of Tree-sitter into the Neovim editor to enable structural code analysis. It serves as a framework for structural code navigation, context-aware syntax highlighting, and the management of language-specific parsers. The system distinguishes itself through a multi-language injection handler that identifies and parses embedded languages within a single document. It uses a dedicated parser manager to install, update, and remove grammar definitions and their associated query files. The tool covers several capability areas including incremental text selection,
Implements incremental selection, logical code folding and automated indentation based on concrete syntax trees.
Satori is a library that converts HTML and CSS markup into rasterized images. It functions as a server-side rendering engine designed to transform web layouts into visual assets at runtime, ensuring consistent representation across different platforms and social media sharing services. The engine distinguishes itself by utilizing a cross-platform flexbox implementation to calculate element positions and dimensions, mirroring the behavior of modern web browsers without requiring a full browser engine. It processes document structures through a virtual tree traversal and employs a specialized p
Processes document structures to map HTML elements into primitive drawing instructions.
SVGR is a tool that transforms static SVG files into reusable React components for direct rendering within user interface trees. It functions as an AST-based code transformer and build-time asset pipeline, parsing SVG XML into an abstract syntax tree to modify elements before generating JavaScript source code. The project integrates an external optimization engine to strip redundant metadata and minify attributes, ensuring vector images are flexible and easy to style. It uses recursive tree traversal to apply these transformations to all nested graphic elements and employs attribute mapping t
Uses recursive document tree traversal to apply attribute changes and transformations to nested graphic elements.
Flowgram.ai is a workflow development framework for building AI workflow platforms. It provides a visual drag-and-drop canvas for constructing workflows, an Entity-Component-System (ECS) based document model for structuring workflow nodes as a tree, and a node-based form engine for managing configuration forms with built-in rendering, validation, side effects, and error handling. The framework also includes a workflow execution engine that parses directed graph workflows and runs nodes step by step with state tracking and array iteration. The framework distinguishes itself through a layered r
Organizes workflow nodes in a tree-based document model with full CRUD and traversal operations.
markdown-js is a JavaScript markdown parser and converter that transforms markdown text into HTML output. It functions as both a library and a command line interface tool for converting documents. The project is centered on an abstract syntax tree representation, allowing markdown to be parsed into a structured tree for programmatic inspection and modification before the final rendering process. This intermediate representation enables custom markup processing and document transformations. The toolset covers programmatic document parsing, static site generation, and CLI-based file processing
Allows programmatic traversal and modification of nodes within the internal Markdown representation.
Cash is a lightweight DOM manipulation library and HTML element wrapper designed as an alternative to jQuery for selecting and modifying elements in modern browsers. It functions as a modular DOM framework and JavaScript utility library, providing a system to wrap DOM nodes into actionable collections for batch processing. The project is built with a modular design that supports tree-shaking, allowing build tools to exclude unused methods to minimize the final bundle size. It provides mechanisms for extending the core functionality and collection prototypes to implement reusable plugins and c
Implements a navigation system to find related DOM nodes using familial relationships and selectors.
Cash es una biblioteca de JavaScript ligera para seleccionar y modificar elementos HTML en navegadores modernos. Funciona como un envoltorio de elementos encadenable y una utilidad de manipulación del DOM, proporcionando una alternativa mínima para gestionar operaciones del DOM en el navegador. La biblioteca utiliza un envoltorio basado en colecciones para nodos DOM, lo que permite realizar múltiples modificaciones y actualizaciones de estilo en una sola secuencia. Está diseñada para proporcionar una API similar para el manejo de eventos y la gestión de elementos mientras mantiene un tamaño reducido. El proyecto cubre una amplia gama de capacidades de manipulación del DOM, incluida la selección de elementos, el recorrido del árbol y las alteraciones estructurales. Incluye utilidades para gestionar clases CSS, atributos y estilos, así como sistemas para el manejo de eventos, gestión de datos y cálculo de dimensiones. La funcionalidad principal se puede extender a través de un mecanismo basado en prototipos para agregar métodos personalizados y utilidades compartidas.
Provides scoped DOM traversal to locate ancestors and siblings relative to the current element selection.
This is a Figma MCP server that exposes document manipulation capabilities to AI assistants through the Model Context Protocol. It functions as a bridge between AI tools and Figma, enabling programmatic creation, reading, updating, and deletion of design elements including frames, text nodes, components, and connectors. The server provides AI-powered design generation that translates natural language prompts into complete UI screens and design elements within Figma. It includes a design annotation system for adding, updating, and retrieving markdown-supported annotations on nodes, along with
Walks the Figma document tree recursively to locate, read, and modify design nodes.
A sizzlin' hot selector engine.
Scopes element selection to a context node or document fragment for efficient queries.
VisBug is an in-browser design tool that lets you inspect, edit, and manipulate live webpage elements directly, without touching source code. It functions as a browser design inspector, providing visual controls and keyboard shortcuts for real-time style inspection, element manipulation, and device simulation. The tool offers design-tool-inspired interactions for navigating the DOM as grouped layers, enabling direct selection and editing of nested components. It includes capabilities for drag-and-drop image replacement, live style inspection with computed properties and accessibility informat
Moves selection between sibling and child elements using keyboard shortcuts for efficient DOM traversal.
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.
Implements structural navigation of document hierarchies using parent, child, and sibling node relationships.
GraphQL-Ruby es una biblioteca de Ruby para construir APIs de GraphQL con un esquema fuertemente tipado y un motor de ejecución de consultas dedicado. Proporciona un framework integral para mapear objetos de la aplicación a un sistema de tipos formal, permitiendo la obtención estructurada de datos mediante resolvers definidos. El proyecto destaca por sus mecanismos avanzados de rendimiento y entrega, incluyendo un data loader para batching y caché que evita patrones de consulta N+1. Admite la entrega de datos de alto rendimiento mediante streaming de respuestas incremental, respuestas de consulta diferidas y obtención de datos en paralelo usando fibers. Además, proporciona soporte nativo para convenciones de Relay, incluyendo helpers especializados para conexiones e identificación de objetos. La biblioteca cubre una amplia superficie de gestión de API, con control de acceso granular, versionado de esquemas para mantener la compatibilidad hacia atrás y actualizaciones en tiempo real mediante suscripciones. También incluye herramientas de gestión de tráfico para proteger los recursos del servidor, como la limitación de complejidad de consultas y de tasa de peticiones. El desarrollo y la observabilidad están respaldados por herramientas de análisis de AST, trazado de ejecución y utilidades de prueba especializadas para la verificación de carga por lotes.
Uses a visitor pattern to programmatically traverse and modify nodes within the query's abstract syntax tree.
Markdig is a markdown parser library that converts text into structured HTML, plain text, or other formats using a configurable pipeline. It functions as a CommonMark compliant parser and an abstract syntax tree generator that transforms markdown into a hierarchical tree of block and inline nodes with precise source location mapping. The project is distinguished by a decoupled renderer architecture that separates parsing logic from output generation, enabling the transformation of the syntax tree into non-HTML formats such as LaTeX or XAML. It also serves as a lossless markdown processor by t
Implements depth-first search traversal of the document tree for analysis and modification.
Ark is a headless UI component library that delivers accessible, cross-framework primitives with behavior governed by finite state machines. It provides unstyled components that encapsulate logic and accessibility — including full keyboard navigation, focus management, and WAI-ARIA support — while leaving visual styling entirely to the consumer. Components expose scoped data attributes for CSS targeting and use state machines to produce predictable, testable interactive behavior across every state transition. The library distinguishes itself through a state propagation model that distributes
Delivers built-in tree navigation methods for moving between parent, child, and sibling nodes.
JDA es un envoltorio de Java para la API de Discord, proporcionando un framework para construir agentes automatizados e integrar aplicaciones con la plataforma de chat. Funciona tanto como cliente de API REST para gestionar entidades de servidor como cliente de gateway que mantiene conexiones WebSocket persistentes para actualizaciones de estado en tiempo real. La biblioteca cuenta con un módulo completo de API de voz para gestionar streaming de audio, conectividad de canales de voz e integración de soundboard. También incluye un kit de herramientas especializado para diseño de UI interactiva, permitiendo la creación de comandos slash, botones, menús de selección y formularios de entrada modales. En términos generales, el proyecto cubre la moderación comunitaria mediante gestión automatizada de reglas, administración de servidores mediante configuración de canales y roles, y gestión de tráfico mediante sharding para distribuir cargas de eventos. También proporciona utilidades para la creación de contenido multimedia enriquecido y la recuperación detallada de perfiles de miembros.
Provides utilities to recursively traverse and modify nested interactive message components.
jest-dom es una colección de matchers y aserciones personalizados para Jest diseñados para validar estados de elementos HTML, accesibilidad y propiedades del Document Object Model. Funciona como un kit de herramientas especializado para verificar el estado estructural y visual de elementos web durante pruebas automatizadas. La librería proporciona funciones especializadas para verificar clases CSS, atributos y validez de formularios. Incluye una suite de aserciones para verificar roles ARIA, nombres accesibles y compatibilidad con tecnologías de asistencia. Sus capacidades cubren la verificación de la presencia, visibilidad y posicionamiento de elementos dentro de la jerarquía del documento. También incluye utilidades para validar estados de formularios web, incluyendo valores de entrada, requisitos de validez y estados interactivos como el enfoque y la selección de texto.
Provides utilities to navigate the DOM hierarchy to verify parent-child relationships and element positioning.