awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

32 dépôts

Awesome GitHub RepositoriesDocument Tree Traversers

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.

Awesome Document Tree Traversers GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • cheeriojs/cheerioAvatar de cheeriojs

    cheeriojs/cheerio

    30,386Voir sur GitHub↗

    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.

    TypeScriptcheeriodomhacktoberfest
    Voir sur GitHub↗30,386
  • facebook/lexicalAvatar de facebook

    facebook/lexical

    23,562Voir sur GitHub↗

    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.

    TypeScript
    Voir sur GitHub↗23,562
  • camsong/you-dont-need-jqueryAvatar de camsong

    camsong/You-Dont-Need-jQuery

    20,160Voir sur GitHub↗

    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.

    JavaScript
    Voir sur GitHub↗20,160
  • enzymejs/enzymeE

    enzymejs/enzyme

    19,831Voir sur GitHub↗

    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.

    JavaScript
    Voir sur GitHub↗19,831
  • nvim-treesitter/nvim-treesitterAvatar de nvim-treesitter

    nvim-treesitter/nvim-treesitter

    13,970Voir sur GitHub↗

    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.

    Tree-sitter Query
    Voir sur GitHub↗13,970
  • vercel/satoriAvatar de vercel

    vercel/satori

    13,028Voir sur GitHub↗

    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.

    TypeScriptcssimageimage-generation
    Voir sur GitHub↗13,028
  • gregberge/svgrG

    gregberge/svgr

    11,043Voir sur GitHub↗

    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.

    TypeScript
    Voir sur GitHub↗11,043
  • bytedance/flowgram.aiAvatar de bytedance

    bytedance/flowgram.ai

    8,146Voir sur GitHub↗

    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.

    TypeScriptaiautomationcoze
    Voir sur GitHub↗8,146
  • evilstreak/markdown-jsAvatar de evilstreak

    evilstreak/markdown-js

    7,679Voir sur GitHub↗

    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.

    JavaScript
    Voir sur GitHub↗7,679
  • fabiospampinato/cashAvatar de fabiospampinato

    fabiospampinato/cash

    7,041Voir sur GitHub↗

    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.

    JavaScriptcashdomjavascript
    Voir sur GitHub↗7,041
  • kenwheeler/cashAvatar de kenwheeler

    kenwheeler/cash

    7,039Voir sur GitHub↗

    Cash est une bibliothèque JavaScript légère pour sélectionner et modifier des éléments HTML dans les navigateurs modernes. Elle fonctionne comme un wrapper d'élément chaînable et un utilitaire de manipulation DOM, fournissant une alternative minimale pour gérer les opérations DOM du navigateur. La bibliothèque utilise un wrapper basé sur une collection pour les nœuds DOM, permettant d'effectuer plusieurs modifications et mises à jour de style dans une seule séquence. Elle est conçue pour fournir une API similaire pour la gestion des événements et la gestion des éléments tout en conservant une empreinte réduite. Le projet couvre un large éventail de capacités de manipulation DOM, y compris la sélection d'éléments, la traversée d'arbres et les altérations structurelles. Il inclut des utilitaires pour gérer les classes CSS, les attributs et les styles, ainsi que des systèmes pour la gestion des événements, la gestion des données et le calcul des dimensions. La fonctionnalité principale peut être étendue via un mécanisme basé sur le prototype pour ajouter des méthodes personnalisées et des utilitaires partagés.

    Provides scoped DOM traversal to locate ancestors and siblings relative to the current element selection.

    JavaScript
    Voir sur GitHub↗7,039
  • grab/cursor-talk-to-figma-mcpAvatar de grab

    grab/cursor-talk-to-figma-mcp

    6,855Voir sur GitHub↗

    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.

    JavaScriptagentagenticagentic-ai
    Voir sur GitHub↗6,855
  • jquery/sizzleAvatar de jquery

    jquery/sizzle

    6,306Voir sur GitHub↗

    A sizzlin' hot selector engine.

    Scopes element selection to a context node or document fragment for efficient queries.

    JavaScript
    Voir sur GitHub↗6,306
  • googlechromelabs/projectvisbugAvatar de GoogleChromeLabs

    GoogleChromeLabs/ProjectVisBug

    5,746Voir sur GitHub↗

    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.

    JavaScript
    Voir sur GitHub↗5,746
  • anglesharp/anglesharpAvatar de AngleSharp

    AngleSharp/AngleSharp

    5,499Voir sur GitHub↗

    AngleSharp est un parser HTML5 DOM et un framework de web scraping conçu pour parser des documents HTML5, SVG et MathML en un modèle d'objet de document (DOM) conforme au W3C. Il fonctionne comme un générateur HTML programmatique et un moteur de sélecteur CSS pour interroger et localiser des éléments spécifiques au sein d'un DOM. Le projet fournit des outils pour simuler des environnements de navigateur afin d'automatiser les interactions web, naviguer vers des URLs et soumettre des formulaires. Il inclut un minificateur HTML et CSS dédié pour réduire la taille des fichiers des ressources web en supprimant les caractères inutiles. La bibliothèque prend en charge la manipulation du DOM HTML et l'extraction de données structurées à partir de sites web. Elle gère la transformation du balisage via un pipeline de parsing qui inclut une récupération d'erreurs pilotée par les spécifications et une construction de document hiérarchique.

    Implements structural navigation of document hierarchies using parent, child, and sibling node relationships.

    C#angle-bracketanglesharpc-sharp
    Voir sur GitHub↗5,499
  • rmosolgo/graphql-rubyAvatar de rmosolgo

    rmosolgo/graphql-ruby

    5,448Voir sur GitHub↗

    GraphQL-Ruby est une bibliothèque Ruby pour construire des API GraphQL avec un schéma fortement typé et un moteur d'exécution de requêtes dédié. Elle fournit un framework complet pour mapper les objets de l'application à un système de types formel, permettant une récupération de données structurée via des résolveurs définis. Le projet se distingue par des mécanismes avancés de performance et de livraison, incluant un data loader pour le batching et le cache afin d'éviter les patterns de requêtes N+1. Il supporte la livraison de données haute performance via le streaming de réponses incrémentales, les réponses de requêtes différées et la récupération de données en parallèle utilisant des fibers. De plus, il offre un support natif pour les conventions Relay, incluant des helpers spécialisés pour les connexions et l'identification d'objets. La bibliothèque couvre une large surface de gestion d'API, incluant un contrôle d'accès granulaire, le versioning de schéma pour maintenir la rétrocompatibilité et des mises à jour en temps réel via des abonnements. Elle inclut également des outils de gestion de trafic pour protéger les ressources serveur, tels que la limitation de complexité des requêtes et le rate limiting. Le développement et l'observabilité sont supportés par des outils d'analyse AST, le traçage d'exécution et des utilitaires de test spécialisés pour la vérification du chargement par lots.

    Uses a visitor pattern to programmatically traverse and modify nodes within the query's abstract syntax tree.

    Ruby
    Voir sur GitHub↗5,448
  • xoofx/markdigAvatar de xoofx

    xoofx/markdig

    5,127Voir sur GitHub↗

    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.

    C#commonmarkcommonmark-parsingcsharp
    Voir sur GitHub↗5,127
  • chakra-ui/arkAvatar de chakra-ui

    chakra-ui/ark

    5,004Voir sur GitHub↗

    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.

    TypeScriptcomponentsdesign-systemheadless
    Voir sur GitHub↗5,004
  • discord-jda/jdaAvatar de discord-jda

    discord-jda/JDA

    4,665Voir sur GitHub↗

    JDA est un wrapper Java pour l'API Discord, fournissant un framework pour construire des agents automatisés et intégrer des applications avec la plateforme de chat. Il fonctionne à la fois comme un client API REST pour gérer les entités de serveur et comme un client gateway qui maintient des connexions WebSocket persistantes pour des mises à jour d'état en temps réel. La bibliothèque propose un module API vocal complet pour gérer le streaming audio, la connectivité aux canaux vocaux et l'intégration de soundboard. Elle inclut également une boîte à outils spécialisée pour le design d'UI interactif, permettant la création de commandes slash, boutons, menus de sélection et formulaires de saisie modaux. Globalement, le projet couvre la modération communautaire via la gestion automatisée des règles, l'administration de serveur via la configuration des canaux et des rôles, et la gestion du trafic en utilisant le sharding pour distribuer les charges d'événements. Il fournit également des utilitaires pour la création de contenu multimédia riche et la récupération détaillée des profils de membres.

    Provides utilities to recursively traverse and modify nested interactive message components.

    Javaapiapi-wrapperbot
    Voir sur GitHub↗4,665
  • testing-library/jest-domAvatar de testing-library

    testing-library/jest-dom

    4,597Voir sur GitHub↗

    jest-dom is a collection of custom matchers and assertions for Jest designed to validate HTML element states, accessibility, and document object model properties. It functions as a specialized toolkit for verifying the structural and visual state of web elements during automated testing. The library provides specialized functions for checking CSS classes, attributes, and form validity. It includes a suite of assertions to verify ARIA roles, accessible names, and compatibility with assistive technologies. Its capabilities cover the verification of element presence, visibility, and positioning

    Provides utilities to navigate the DOM hierarchy to verify parent-child relationships and element positioning.

    JavaScript
    Voir sur GitHub↗4,597
Préc.12Suivant
  1. Home
  2. Software Engineering & Architecture
  3. Tree Traversal Algorithms
  4. Document Tree Traversers

Explorer les sous-tags

  • AST Hierarchy TraversersAlgorithms for tracking a visitor's position in an abstract syntax tree to provide access to ancestor nodes. **Distinct from Document Tree Traversers:** Focuses on tracking ancestor access in a source code tree rather than mapping DOM elements to drawing instructions.
  • AST Node ProcessorsUtilities for extracting data or applying modifications to nodes within a document tree. **Distinct from Document Tree Traversers:** Focuses on programmatic node modification of a parsed tree rather than visual drawing instructions
  • Component Tree SelectorsSearch rules for locating specific components or HTML elements within a rendered UI tree. **Distinct from Document Tree Traversers:** Focuses on selector-based querying for testing assertions, rather than mapping document structures to drawing instructions.
  • DOM Hierarchy Navigators1 sous-tagUtilities for navigating the Document Object Model using familial node relationships. **Distinct from Document Tree Traversers:** Focuses on navigating the actual browser DOM tree rather than mapping to drawing instructions.
  • Document Tree MutationsProgrammatic modification of the internal document structure before final serialization. **Distinct from Document Tree Traversers:** Distinct from Document Tree Traversers: focuses on modifying the structure (e.g., creating summaries) rather than just navigating it.
  • Figma Document Traversers1 sous-tagWalks the Figma document tree recursively to locate, read, and modify nodes by type, ID, or selection state. **Distinct from Document Tree Traversers:** Distinct from Document Tree Traversers: specifically traverses Figma document trees, not general DOM or drawing instruction trees.
  • Hierarchy TraversersAlgorithms for walking parent-child relationships and element collections in document trees. **Distinct from Document Tree Traversers:** Distinct from general document tree traversers by focusing on general DOM hierarchy inspection rather than visual mappings.
  • Scoped DOM TraversalsLimits element selection to a given context node or document fragment for scoped queries. **Distinct from Document Tree Traversers:** Distinct from Document Tree Traversers: scopes traversal to a fragment, not full-document navigation.
  • Structural NavigationNavigating document hierarchies using familial node relationships. **Distinct from Document Tree Traversers:** Focuses on general tree walking via parent/child/sibling pointers rather than visual rendering instructions
  • Tree Cursor TrackingMechanisms for tracking the current position and accessing contextual ancestors or siblings during tree traversal. **Distinct from Document Tree Traversers:** Focuses on positional context and cursor state rather than mapping DOM elements to drawing instructions.
  • Workflow Document TreesStructures workflow nodes in a parent-child tree with add, remove, traverse, and serialization operations. **Distinct from Document Tree Traversers:** Distinct from Document Tree Traversers: focuses on workflow document structure management rather than rendering traversal.