21 dépôts
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.