awesome-repositories.com
Blog
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
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

21 dépôts

Awesome GitHub RepositoriesDocument Object Models

Systems for representing and manipulating document structures as hierarchical object trees.

Distinguishing note: Focuses on internal document representation models rather than general-purpose DOM manipulation.

Explore 21 awesome GitHub repositories matching software engineering & architecture · Document Object Models. Refine with filters or upvote what's useful.

Awesome Document Object Models 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.
  • slab/quillAvatar de slab

    slab/quill

    47,157Voir sur GitHub↗

    Quill is a modular, web-based rich text editor designed for structured content authoring. It provides a comprehensive toolkit for building tailored editing experiences, allowing developers to manage document state, handle user input, and synchronize content through a predictable, serializable data model. The editor distinguishes itself through a custom document abstraction that maps the browser DOM to a structured tree of nodes, ensuring consistent behavior across different environments. It utilizes an operational change tracking system that represents all document modifications as a sequence

    The editor uses a custom class hierarchy to represent and manipulate document elements as discrete objects within the internal model.

    TypeScripteditorquillrich-text-editor
    Voir sur GitHub↗47,157
  • freecad/freecadAvatar de FreeCAD

    FreeCAD/FreeCAD

    31,553Voir sur GitHub↗

    FreeCAD is an open-source engineering design suite designed for parametric 3D modeling, architectural planning, and mechanical assembly. It functions as a professional-grade platform that utilizes history-based operations to allow for non-destructive design updates, enabling users to construct complex geometry through a sequence of constrained sketches and solid operations. The platform distinguishes itself through a highly modular, workbench-based architecture that allows users to tailor the interface and toolsets to specific engineering domains. It features deep Python integration, which se

    Manages object attributes and relationships in a centralized document structure to ensure consistent state persistence.

    C++3d3d-printingarchitecture
    Voir sur GitHub↗31,553
  • feder-cr/jobs_applier_ai_agent_aihawkAvatar de feder-cr

    feder-cr/Jobs_Applier_AI_Agent_AIHawk

    29,930Voir sur GitHub↗

    AIHawk is an automated agent designed to streamline the job application process by integrating large language models with browser automation. It functions as a recruitment workflow tool that parses job requirements and generates personalized application materials to populate online employment forms. The system operates as a browser automation framework, utilizing headless browser control to navigate dynamic web portals and interact with page elements as a human user would. It maintains persistent session states to manage authentication across multiple platforms and employs heuristic-based sel

    Provides systems for representing and manipulating web page structures as hierarchical object trees to facilitate form interaction.

    Pythonagentapplication-resumeartificial-intelligence
    Voir sur GitHub↗29,930
  • ariya/phantomjsAvatar de ariya

    ariya/phantomjs

    29,489Voir sur GitHub↗

    PhantomJS is a scriptable, headless browser engine based on WebKit that provides a programmatic interface for automating web page interactions. It operates without a graphical user interface, allowing for the execution of JavaScript to navigate pages, manipulate the document object model, and perform functional testing of web applications. The tool distinguishes itself by providing low-level control over the browser rendering lifecycle and network stack. It enables real-time interception and modification of network traffic, alongside the ability to generate visual snapshots and document expor

    Provides a programmatic interface to traverse and modify the live page structure directly within the browser memory space.

    C++automationheadlessheadless-browser
    Voir sur GitHub↗29,489
  • vasanthk/how-web-worksAvatar de vasanthk

    vasanthk/how-web-works

    16,731Voir sur GitHub↗

    This project is a technical educational guide focused on browser architecture and the internal processes used to render web pages. It provides a detailed breakdown of the web request lifecycle, from the initial networking phase to the final visual output on a screen. The guide covers specific technical sequences including the DNS resolution process across browser, operating system, and ISP caches, and the establishment of secure connections through the TLS handshake. It also details the communication flow between clients and servers using the HTTP protocol and server-side request handling. T

    Details the construction of the hierarchical object tree used to represent document structures.

    Voir sur GitHub↗16,731
  • gustavoguanabara/html-cssAvatar de gustavoguanabara

    gustavoguanabara/html-css

    16,011Voir sur GitHub↗

    This repository serves as an educational curriculum focused on the fundamental concepts of front-end web development. It provides a structured tutorial designed to guide beginners through the essential techniques required to build and design websites using standard markup and styling languages. The materials cover the core principles of web content structuring, including the use of declarative tags to define document hierarchies and the implementation of hypertext navigation. The curriculum also details methods for integrating multimedia assets and applying visual styling rules to control lay

    Represents document structures as hierarchical object trees for browser rendering.

    HTMLcss3cursocursoemvideo
    Voir sur GitHub↗16,011
  • musescore/musescoreAvatar de musescore

    musescore/MuseScore

    14,732Voir sur GitHub↗

    MuseScore is a professional music notation application designed for composing, arranging, and engraving musical scores. It provides a graphical interface that renders notation in real-time, allowing users to create and edit complex musical arrangements with immediate visual feedback. The software distinguishes itself through a robust document-object model that manages the relationships between notes, staves, and layout formatting. It supports the standard markup language for music interchange, ensuring that scores can be shared across different notation platforms. Additionally, the applicatio

    Maintains a hierarchical tree structure of musical elements to manage complex relationships between notes, staves, and layout formatting.

    C++cppmusescoremusic-notation
    Voir sur GitHub↗14,732
  • jhy/jsoupAvatar de jhy

    jhy/jsoup

    11,340Voir sur GitHub↗

    Jsoup is a Java library designed for parsing, extracting, and manipulating HTML and XML content. It provides a document object model that represents web content as a hierarchical tree, allowing for programmatic navigation and modification of elements, attributes, and text. The library functions as a toolkit for web scraping, enabling the retrieval of remote content via standard web protocols and the management of HTTP sessions for automated form interaction. The library distinguishes itself through its fault-tolerant tokenization, which reconstructs valid document structures from malformed or

    Models web content as a hierarchical tree of nodes to enable programmatic navigation and structural modification.

    Javacsscss-selectorsdom
    Voir sur GitHub↗11,340
  • jamesnk/newtonsoft.jsonAvatar de JamesNK

    JamesNK/Newtonsoft.Json

    11,262Voir sur GitHub↗

    Newtonsoft.Json is a data processing utility for the .NET ecosystem designed to facilitate the transformation and exchange of information. It functions as a serialization library and object mapping framework, enabling the conversion of complex application objects into formatted JSON strings and the reconstruction of structured objects from raw JSON data. The library distinguishes itself through a flexible architecture that supports both strongly-typed class mapping and a dynamic object model for schema-less data manipulation. It employs reflection-based metadata mapping to automate property a

    Offers a flexible, schema-less dynamic object model for manipulating JSON data without predefined classes.

    C#c-sharpjson
    Voir sur GitHub↗11,262
  • py-pdf/pypdf2Avatar de py-pdf

    py-pdf/PyPDF2

    10,094Voir sur GitHub↗

    PyPDF2 is a pure Python library for transforming, securing, and extracting data from PDF documents. It provides a comprehensive suite of tools to modify page layouts, manage document security, and retrieve embedded metadata without relying on external C libraries. The toolkit enables document assembly through the merging of multiple files and the splitting of documents into smaller parts. It also supports page-level transformations, including the ability to rotate pages and adjust visible crop areas. The library includes capabilities for security management via password-based encryption and

    Represents PDF elements as a hierarchical tree of Python objects for programmatic manipulation.

    Python
    Voir sur GitHub↗10,094
  • mstamy2/pypdf2Avatar de mstamy2

    mstamy2/PyPDF2

    10,064Voir sur GitHub↗

    PyPDF2 is a pure Python library for reading, writing, and manipulating PDF files. It functions as a document manipulator, text extractor, and encryption tool, allowing users to process PDF files without relying on external C libraries or native binaries. The library provides specialized tools for modifying document structures, such as merging multiple files into one, splitting documents into separate files, and transforming page layouts through cropping. It also includes capabilities for securing documents via passwords and encryption. Additional capabilities include the extraction of writte

    Represents PDF elements as a hierarchical object tree that mirrors the official PDF specification.

    Python
    Voir sur GitHub↗10,064
  • whatwg/htmlAvatar de whatwg

    whatwg/html

    9,163Voir sur GitHub↗

    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 fundamental system for representing and manipulating document structures as hierarchical object trees.

    HTMLcanvaseventsourcehtml
    Voir sur GitHub↗9,163
  • pymupdf/pymupdfAvatar de pymupdf

    pymupdf/PyMuPDF

    9,086Voir sur GitHub↗

    PyMuPDF is a comprehensive PDF manipulation library and document analysis tool. It serves as a text extraction tool, OCR engine, and image converter, providing a programmatic interface to edit, merge, split, and optimize PDF and Office documents. The project distinguishes itself through high-performance capabilities, including the use of C-bindings for low-level manipulation and parallelized page processing to accelerate workloads. It provides specialized conversion paths, such as transforming PDF content into Markdown for retrieval-augmented generation and large language model pipelines. It

    Builds a structured tree of nodes to define document content and layout through a programmatic interface.

    Pythondata-scienceepubextract-data
    Voir sur GitHub↗9,086
  • phpoffice/phpwordAvatar de PHPOffice

    PHPOffice/PHPWord

    7,568Voir sur GitHub↗

    PHPWord is a PHP word processing library used for programmatically reading and writing word processing documents. It functions as an OOXML document generator, a word file parser, and a document template engine. The library enables the generation of new documents by applying structured data to existing templates or by creating files from scratch. It provides capabilities for extracting and parsing content, metadata, and structure from existing word processing files. The project covers a broad range of document generation features, including layout formatting, metadata management, and the inse

    Implements a document object model that represents word processing elements as a hierarchy of PHP objects.

    PHP
    Voir sur GitHub↗7,568
  • pdfminer/pdfminer.sixAvatar de pdfminer

    pdfminer/pdfminer.six

    6,906Voir sur GitHub↗

    pdfminer.six is a programmatic tool for extracting text, layout information, and metadata from PDF documents into machine-readable formats. It functions as a document parser that converts internal PDF objects and structures into accessible data objects for analysis. The project includes utilities for decrypting RC4 and AES encrypted files to enable content extraction. It also provides a layout analyzer to identify fonts, colors, and text locations to determine the organizational structure of pages. The system covers a broad range of extraction capabilities, including the retrieval of embedde

    Converts binary PDF specifications into a tree of programmable Python objects for structural analysis.

    Pythonparserpdfpython
    Voir sur GitHub↗6,906
  • leethomason/tinyxml2Avatar de leethomason

    leethomason/tinyxml2

    5,771Voir sur GitHub↗

    TinyXML-2 est une bibliothèque C++ légère pour analyser, manipuler et générer des documents XML. Elle fonctionne comme un processeur XML UTF-8 qui représente les données via un modèle objet de document (DOM) hiérarchique. La bibliothèque fournit des outils à la fois pour l'analyse DOM et la génération directe de documents via des flux de données. Elle inclut des fonctionnalités pour naviguer dans l'arbre XML afin de localiser des éléments spécifiques, modifier les attributs et le contenu, et résoudre les entités de caractères et les références numériques Unicode en texte UTF-8. Le processeur inclut une validation de syntaxe et des utilitaires de diagnostic qui suivent les métadonnées de numéro de ligne pour chaque nœud et attribut afin de rapporter des coordonnées précises pour les erreurs d'analyse.

    Represents XML data as a hierarchical Document Object Model (DOM) for programmatic navigation and modification.

    C++
    Voir sur GitHub↗5,771
  • python-openxml/python-docxAvatar de python-openxml

    python-openxml/python-docx

    5,442Voir sur GitHub↗

    python-docx is an OOXML document manipulation library used for creating, reading, and updating Microsoft Word files. It functions as a generator for building formatted documents and a parser for extracting text, metadata, and structural elements from existing files. The project provides a comprehensive style management system for defining and applying character, paragraph, and table styles within OpenXML documents. It allows for the programmatic control of document appearance through an object-oriented approach to the underlying XML schema. Capabilities cover a wide range of document generat

    Maps document elements to an object-oriented hierarchy mirroring the underlying OpenXML document object model.

    Python
    Voir sur GitHub↗5,442
  • commonmark/commonmark-specAvatar de commonmark

    commonmark/commonmark-spec

    5,105Voir sur GitHub↗

    Ce projet est une norme de spécification Markdown formelle qui fournit une définition détaillée de la syntaxe de balisage et un ensemble définitif de règles pour analyser le texte brut en une sortie HTML cohérente. Il établit une grammaire standardisée pour les blocs structurels et les éléments en ligne afin d'assurer un rendu uniforme à travers différentes implémentations logicielles. La spécification est prise en charge par une suite de conformité d'analyseur et une implémentation de référence en C et JavaScript pour vérifier que les implémentations adhèrent à la norme. Il inclut un système de vérification d'implémentation qui compare les chaînes d'entrée transformées aux sorties HTML attendues et permet l'exportation des données de test de spécification au format JSON. La norme couvre un large éventail de capacités de structuration et de formatage de contenu, incluant les en-têtes, les listes, les citations en bloc et les règles horizontales. Elle définit des mécanismes pour la représentation de code via des blocs clôturés ou indentés, l'intégration HTML, et un système basé sur des références pour gérer les hyperliens et les images. La spécification détaille également un modèle d'analyse en deux phases qui utilise une représentation d'arbre syntaxique abstrait et une normalisation de texte basée sur Unicode pour maintenir une hiérarchie de document prévisible.

    Establishes a leaf-and-container hierarchy to organize document layout and structural relationships.

    Python
    Voir sur GitHub↗5,105
  • openkraken/krakenAvatar de openkraken

    openkraken/kraken

    4,928Voir sur GitHub↗

    Kraken est un framework d'interface utilisateur multiplateforme et un runtime de standards web conçu pour construire des applications natives en utilisant le balisage et le style web standard. Il utilise un moteur de rendu basé sur Flutter pour traiter le HTML et le CSS, produisant des interfaces utilisateur visuellement cohérentes sur les plateformes mobiles et de bureau. Le système se distingue en compilant le runtime en code machine et en employant un pipeline de rastérisation synchrone pour garantir que les animations et le défilement correspondent à la fluidité des applications natives. Il intègre en outre des composants natifs haute performance directement dans un arbre d'objets de document standard web, permettant la définition de balises HTML personnalisées soutenues par des widgets natifs. Le framework couvre une large surface de capacités, y compris l'exécution d'arbres de composants JavaScript, la synchronisation d'état global et local, et la gestion standardisée des gestes. Il fournit également un système basé sur des plugins pour étendre l'API avec des fonctions backend personnalisées et prend en charge l'intégration avec divers frameworks frontend. Les flux de travail des développeurs sont soutenus par l'intégration avec le protocole Chrome DevTools, permettant l'inspection de l'état de l'application et la modification du style de l'interface utilisateur.

    Manipulates a structured tree of nodes to dynamically update content, styles, and application state in real time.

    TypeScriptengineflutterkraken
    Voir sur GitHub↗4,928
  • prawnpdf/prawnAvatar de prawnpdf

    prawnpdf/prawn

    4,814Voir sur GitHub↗

    Prawn est une bibliothèque Ruby et un outil de mise en page de documents utilisés pour la génération programmatique de fichiers PDF. Il fonctionne comme un moteur graphique vectoriel qui permet la création de documents portables contenant du texte formaté, des formes personnalisées et des mises en page organisées. La bibliothèque se différencie par un système de rendu vectoriel basé sur des coordonnées qui prend en charge les remplissages en dégradé multi-étapes, les polygones complexes et le mélange basé sur les calques. Elle fournit un système de typographie complet capable d'intégrer des polices TrueType et OpenType pour prendre en charge les caractères UTF-8 et le texte de droite à gauche pour l'édition multilingue. Les capacités étendues incluent la gestion de la structure des documents avec des plans hiérarchiques, l'intégration d'images matricielles avec prise en charge de la transparence et l'insertion d'hyperliens interactifs. Le système inclut également des fonctionnalités de sécurité pour le chiffrement des documents et la protection par mot de passe.

    Represents the PDF document as a hierarchical object tree that can be directly manipulated.

    Ruby
    Voir sur GitHub↗4,814
Préc.12Suivant
  1. Home
  2. Software Engineering & Architecture
  3. Document Object Models