21 repository-uri
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 este o bibliotecă Python pură pentru transformarea, securizarea și extragerea datelor din documente PDF. Oferă o suită cuprinzătoare de instrumente pentru a modifica layout-urile paginilor, a gestiona securitatea documentelor și a recupera metadatele încorporate fără a se baza pe biblioteci C externe. Toolkit-ul permite asamblarea documentelor prin îmbinarea mai multor fișiere și divizarea documentelor în părți mai mici. De asemenea, suportă transformări la nivel de pagină, inclusiv capacitatea de a roti paginile și de a ajusta zonele de decupare vizibile. Biblioteca include capabilități pentru gestionarea securității prin criptare și decriptare bazată pe parolă. În plus, oferă utilitare pentru extragerea textului scris și a proprietăților administrative din fișierele PDF.
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 este o bibliotecă C++ ușoară pentru parsarea, manipularea și generarea documentelor XML. Funcționează ca un procesor XML UTF-8 care reprezintă datele printr-un Document Object Model (DOM) ierarhic. Biblioteca oferă instrumente atât pentru parsarea DOM, cât și pentru generarea directă a documentelor prin fluxuri de date. Include capabilități pentru navigarea în arborele XML pentru a localiza elemente specifice, modificarea atributelor și a conținutului, și rezolvarea entităților de caractere și a referințelor numerice Unicode în text UTF-8. Procesorul include validare de sintaxă și utilitare de diagnosticare care urmăresc metadatele numărului de linie pentru fiecare nod și atribut pentru a raporta coordonate precise pentru erorile de parsare.
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.
Acest proiect este un standard formal de specificație Markdown care oferă o definiție detaliată a sintaxei de marcare și un set definitiv de reguli pentru parsarea textului brut în output HTML consistent. Stabilește o gramatică standardizată pentru blocurile structurale și elementele inline pentru a asigura o randare uniformă în diferite implementări software. Specificația este susținută de o suită de conformitate a parserului și o implementare de referință în C și JavaScript pentru a verifica dacă implementările aderă la standard. Include un sistem pentru verificarea implementării care compară șirurile de intrare transformate cu output-ul HTML așteptat și permite exportul datelor de test ale specificației în format JSON. Standardul acoperă o gamă largă de capabilități de structurare și formatare a conținutului, inclusiv headere, liste, block quotes și linii orizontale. Definește mecanisme pentru reprezentarea codului prin blocuri fenced sau indentate, integrarea HTML și un sistem bazat pe referințe pentru gestionarea hyperlinkurilor și imaginilor. Specificația detaliază, de asemenea, un model de parsare în două faze care utilizează reprezentarea abstract syntax tree și normalizarea textului bazată pe Unicode pentru a menține o ierarhie predictibilă a documentului.
Establishes a leaf-and-container hierarchy to organize document layout and structural relationships.
Kraken este un framework UI cross-platform și un runtime de standarde web conceput pentru a construi aplicații native folosind markup și stiluri web standard. Acesta utilizează un motor de randare bazat pe Flutter pentru a procesa HTML și CSS, producând interfețe de utilizator vizual consistente pe platformele mobile și desktop. Sistemul se distinge prin compilarea runtime-ului în cod mașină și utilizarea unui pipeline de rasterizare sincronă pentru a asigura că animațiile și scrolling-ul se potrivesc cu fluiditatea aplicațiilor native. De asemenea, integrează componente native de înaltă performanță direct într-un arbore de obiecte document (DOM) standard web, permițând definirea de tag-uri HTML personalizate susținute de widget-uri native. Framework-ul acoperă o suprafață largă de capabilități, inclusiv execuția arborelui de componente JavaScript, sincronizarea stării globale și locale și gestionarea standardizată a gesturilor. De asemenea, oferă un sistem bazat pe plugin-uri pentru extinderea API-ului cu funcții backend personalizate și suportă integrarea cu diverse framework-uri frontend. Fluxurile de lucru ale dezvoltatorilor sunt susținute prin integrarea cu protocolul Chrome DevTools, permițând inspecția stării aplicației și modificarea stilului UI.
Manipulates a structured tree of nodes to dynamically update content, styles, and application state in real time.
Prawn este o bibliotecă Ruby și un instrument de layout pentru documente, utilizat pentru generarea programatică a fișierelor PDF. Funcționează ca un motor de grafică vectorială care permite crearea de documente portabile ce conțin text formatat, forme personalizate și layout-uri de pagină organizate. Biblioteca se diferențiază printr-un sistem de randare vectorială bazat pe coordonate care suportă umpleri cu gradient multi-stop, poligoane complexe și blending bazat pe straturi. Oferă un sistem tipografic cuprinzător capabil să încorporeze fonturi TrueType și OpenType pentru a suporta caractere UTF-8 și text de la dreapta la stânga pentru publicarea multilingvă. Capabilitățile largi includ gestionarea structurii documentului cu outline-uri ierarhice, încorporarea imaginilor raster cu suport pentru transparență și inserarea de hyperlink-uri interactive. Sistemul include, de asemenea, funcții de securitate pentru criptarea documentelor și protecția prin parolă.
Represents the PDF document as a hierarchical object tree that can be directly manipulated.