21 مستودعات
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 هي مكتبة Python صرفة لتحويل وتأمين واستخراج البيانات من مستندات PDF. توفر مجموعة شاملة من الأدوات لتعديل تخطيطات الصفحات، وإدارة أمان المستندات، واسترداد البيانات الوصفية المضمنة دون الاعتماد على مكتبات C خارجية. تتيح مجموعة الأدوات تجميع المستندات من خلال دمج ملفات متعددة وتقسيم المستندات إلى أجزاء أصغر. كما تدعم تحويلات مستوى الصفحة، بما في ذلك القدرة على تدوير الصفحات وضبط مناطق الاقتصاص المرئية. تتضمن المكتبة قدرات لإدارة الأمان عبر التشفير وفك التشفير القائم على كلمة المرور. بالإضافة إلى ذلك، توفر أدوات لاستخراج النص المكتوب والخصائص الإدارية من ملفات 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 هي مكتبة C++ خفيفة الوزن لتحليل ومعالجة وتوليد مستندات XML. تعمل كمعالج XML بترميز UTF-8 يمثل البيانات من خلال نموذج كائن مستند هرمي (DOM). توفر المكتبة أدوات لكل من تحليل DOM وتوليد المستندات المباشر عبر تدفقات البيانات. تتضمن قدرات للتنقل في شجرة XML لتحديد عناصر معينة، وتعديل السمات والمحتوى، وحل كيانات الأحرف والمراجع الرقمية Unicode إلى نص UTF-8. يتضمن المعالج أدوات للتحقق من الصيغة والتشخيص التي تتتبع بيانات وصفية لرقم السطر لكل عقدة وسمة للإبلاغ عن إحداثيات دقيقة لأخطاء التحليل.
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.
هذا المشروع عبارة عن معيار مواصفات markdown رسمي يوفر تعريفاً مفصلاً لبناء جملة الترميز ومجموعة نهائية من القواعد لتحليل النص العادي إلى مخرجات HTML متسقة. يضع قواعد نحوية موحدة للكتل الهيكلية والعناصر المضمنة لضمان عرض موحد عبر تطبيقات برمجية مختلفة. يتم دعم المواصفات من خلال مجموعة مطابقة المحلل وتنفيذ مرجعي في C وJavaScript للتحقق من أن التطبيقات تلتزم بالمعيار. يتضمن نظاماً للتحقق من التنفيذ يقارن سلاسل الإدخال المحولة بمخرجات HTML المتوقعة ويسمح بتصدير بيانات اختبار المواصفات إلى JSON. يغطي المعيار مجموعة واسعة من إمكانيات هيكلة المحتوى وتنسيقه، بما في ذلك العناوين، والقوائم، واقتباسات الكتل، والخطوط الأفقية. يحدد آليات لتمثيل الكود عبر كتل مسيجة أو مسافة بادئة، وتكامل HTML، ونظام قائم على المرجع لإدارة الروابط التشعبية والصور. توضح المواصفات أيضاً نموذج تحليل من مرحلتين يستخدم تمثيل شجرة بناء الجملة المجردة وتطبيع النص القائم على Unicode للحفاظ على تسلسل هرمي للمستند يمكن التنبؤ به.
Establishes a leaf-and-container hierarchy to organize document layout and structural relationships.
Kraken هو إطار عمل واجهة مستخدم متعدد المنصات ووقت تشغيل لمعايير الويب مصمم لبناء تطبيقات أصلية باستخدام ترميز وتنسيق الويب القياسي. يستخدم محرك عرض قائم على Flutter لمعالجة HTML و CSS، مما ينتج واجهات مستخدم متسقة بصريًا عبر منصات الجوال وسطح المكتب. يتميز النظام بتجميع وقت التشغيل إلى كود آلة وتوظيف خط أنابيب تنقيط (rasterization) متزامن لضمان تطابق الرسوم المتحركة والتمرير مع سلاسة التطبيقات الأصلية. يدمج أيضًا مكونات أصلية عالية الأداء مباشرة في شجرة كائن مستند معايير الويب، مما يسمح بتعريف علامات HTML مخصصة مدعومة بأدوات أصلية. يغطي إطار العمل سطح قدرات واسع بما في ذلك تنفيذ شجرة مكونات JavaScript، ومزامنة الحالة العالمية والمحلية، ومعالجة الإيماءات الموحدة. كما يوفر نظامًا قائمًا على الإضافات لتوسيع واجهة برمجة التطبيقات بوظائف خلفية مخصصة ويدعم التكامل مع مختلف أطر عمل الواجهة الأمامية. يتم دعم سير عمل المطور من خلال التكامل مع بروتوكول Chrome DevTools، مما يتيح فحص حالة التطبيق وتعديل نمط واجهة المستخدم.
Manipulates a structured tree of nodes to dynamically update content, styles, and application state in real time.
Prawn هي مكتبة Ruby وأداة تخطيط مستندات تستخدم للإنشاء البرمجي لملفات PDF. تعمل كمحرك رسومات متجهية يسمح بإنشاء مستندات محمولة تحتوي على نصوص منسقة، وأشكال مخصصة، وتخطيطات صفحات منظمة. تتميز المكتبة بنظام رندرة متجهي قائم على الإحداثيات يدعم تعبئة التدرج متعدد التوقفات، والمضلعات المعقدة، والمزج القائم على الطبقات. وتوفر نظام طباعة شاملاً قادراً على تضمين خطوط TrueType و OpenType لدعم أحرف UTF-8 والنصوص من اليمين إلى اليسار للنشر متعدد اللغات. تشمل القدرات الواسعة إدارة هيكل المستند مع مخططات هرمية، وتضمين الصور النقطية مع دعم الشفافية، وإدراج روابط تشعبية تفاعلية. كما يتضمن النظام ميزات أمنية لتشفير المستندات وحمايتها بكلمة مرور.
Represents the PDF document as a hierarchical object tree that can be directly manipulated.