# ory/editor

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ory-editor).**

9,551 stars · 652 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/ory/editor
- Homepage: https://react-page.github.io/
- awesome-repositories: https://awesome-repositories.com/repository/ory-editor.md

## Description

This project is a customizable browser text editor and a schema-driven document framework designed for building React-based WYSIWYG content editors. It replaces standard text areas with a system that represents content as a structured data tree rather than flat HTML, allowing for precise manipulation and validation of documents.

The framework serves as an extensible content management interface and a TypeScript UI component library. It enables the development of specialized authoring tools through a plugin system and the use of strongly typed building blocks to ensure consistency across document updates.

The system covers structured content authoring and the development of rich text workflows. It includes mechanisms for state-based change tracking to support undo operations and real-time synchronization across clients.

## Tags

### User Interface & Experience

- [Structured Document Models](https://awesome-repositories.com/f/user-interface-experience/structured-document-models.md) — Represents content as a structured tree of blocks and entities rather than flat HTML for precise manipulation and validation.
- [Rich Text Editors](https://awesome-repositories.com/f/user-interface-experience/rich-text-editors.md) — Provides a library for building custom document models and extensible rich text editing experiences.
- [Rich Text WYSIWYG Editors](https://awesome-repositories.com/f/user-interface-experience/rich-text-wysiwyg-editors.md) — Provides a framework for building visual editors specifically designed for formatted text and media content. ([source](https://github.com/ory/editor#readme))
- [TypeScript UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/typescript-ui-frameworks.md) — Provides a set of strongly typed building blocks and components for creating interactive web editing experiences.
- [WYSIWYG Editors](https://awesome-repositories.com/f/user-interface-experience/wysiwyg-editors.md) — Provides a visual editing interface where the output matches the final published version for complex document design.
- [Component-Based Rendering](https://awesome-repositories.com/f/user-interface-experience/node-based-ui-components/component-based-ui-integrations/component-based-rendering.md) — Implements a rendering architecture that maps structured data nodes to native React components for custom interactive behavior.

### Content Management & Publishing

- [Content Authoring and Editing](https://awesome-repositories.com/f/content-management-publishing/authoring-editorial-interfaces/content-authoring-editing.md) — Provides interfaces and tools that enable users to create and format complex content beyond simple text.
- [Content Management Frameworks](https://awesome-repositories.com/f/content-management-publishing/content-management-systems/content-management-platforms/headless-framework-systems/content-management-frameworks.md) — Implements a structured environment and framework for organizing and managing large-scale digital content through custom editors.
- [Web Content Authoring Interfaces](https://awesome-repositories.com/f/content-management-publishing/web-content-authoring-interfaces.md) — Provides user interfaces designed for creating and managing digital content as structured data trees.
- [CMS Toolkits](https://awesome-repositories.com/f/content-management-publishing/cms-toolkits.md) — Offers a specialized toolkit for building CMS authoring interfaces with custom blocks and editing behaviors.

### Data & Databases

- [Schema-Driven Modeling Frameworks](https://awesome-repositories.com/f/data-databases/schema-driven-modeling-frameworks.md) — Implements a framework that represents content as a structured data tree to enforce business rules and structural integrity.

### Software Engineering & Architecture

- [Hook-Based Plugin Systems](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/hook-based-plugin-systems.md) — Ships a hook-based plugin system that allows extending core editor functionality by registering custom logic into lifecycle events.
- [TypeScript Type Definitions](https://awesome-repositories.com/f/software-engineering-architecture/typescript-type-definitions.md) — Utilizes strict TypeScript type definitions for document schemas and plugin APIs to ensure structural consistency.
- [Schema-Based Type Synthesis](https://awesome-repositories.com/f/software-engineering-architecture/typescript-type-definitions/static-type-checking/typescript-type-synthesis/schema-based-type-synthesis.md) — Defines strict schemas and type-safe data structures to ensure consistency across document updates.

### Web Development

- [Controlled Input Management](https://awesome-repositories.com/f/web-development/controlled-input-management.md) — Provides synchronization between the browser's content-editable state and a centralized React state manager to prevent document divergence.
- [Rich Text Editors](https://awesome-repositories.com/f/web-development/rich-text-editors.md) — Provides a web-based interface for creating and editing formatted content using a structured document model.
- [React CMS Authoring Tools](https://awesome-repositories.com/f/web-development/react-cms-authoring-tools.md) — Integrates specialized blocks and custom editing behaviors into React applications to build CMS authoring tools.

### Development Tools & Productivity

- [Document History & Undo Systems](https://awesome-repositories.com/f/development-tools-productivity/change-tracking/real-time-synchronization/document-history-undo-systems.md) — Implements a state-based change tracking system to enable undo operations and real-time document synchronization.
- [Undo-Redo State History](https://awesome-repositories.com/f/development-tools-productivity/change-tracking/state-tracking-utilities/action-based-state-tracking/undo-redo-state-history.md) — Tracks document modifications to support undo and redo operations and real-time synchronization across clients.

### Part of an Awesome List

- [Text Editors](https://awesome-repositories.com/f/awesome-lists/devtools/text-editors.md) — Intuitive terminal-based text editor.
