# wangeditor-team/wangeditor

**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/wangeditor-team-wangeditor).**

18,350 stars · 3,340 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/wangeditor-team/wangEditor
- Homepage: http://www.wangeditor.com/
- awesome-repositories: https://awesome-repositories.com/repository/wangeditor-team-wangeditor.md

## Topics

`rich-text` `rich-text-html-editor` `typescript` `wangeditor` `wysiwyg` `wysiwyg-editor`

## Description

wangEditor is a JavaScript-based web rich text editor and WYSIWYG interface used for composing formatted documents directly in a browser. It serves as a client-side editing component for web applications to handle document styling and content manipulation.

The editor is built as a plugin-based engine, allowing new features and formatting capabilities to be added through a registration interface. It utilizes a schema-driven approach to validate HTML tags and attributes, ensuring clean and consistent document output.

The project provides tooling for content management systems, frontend text input development, and the integration of styled text and document layouts into web projects.

## Tags

### User Interface & Experience

- [Rich Text Editors](https://awesome-repositories.com/f/user-interface-experience/rich-text-editors.md) — Provides a comprehensive framework for building custom rich text editing experiences with structured document models. ([source](https://github.com/wangeditor-team/wangeditor#readme))
- [Rich Text WYSIWYG Editors](https://awesome-repositories.com/f/user-interface-experience/rich-text-wysiwyg-editors.md) — Implements a rich text WYSIWYG editor that allows users to visually compose formatted text and media.
- [Text Editors](https://awesome-repositories.com/f/user-interface-experience/ui-components/text-editors.md) — Provides an embeddable JavaScript text editing component for document styling and content manipulation.
- [WYSIWYG Editors](https://awesome-repositories.com/f/user-interface-experience/wysiwyg-editors.md) — Implements a WYSIWYG editor interface that ensures output matches the final published version visually.
- [DOM Mutation Observers](https://awesome-repositories.com/f/user-interface-experience/dom-mutation-observers.md) — Utilizes DOM mutation observers to monitor visual changes and synchronize them back to the internal data model.
- [Editor Customization Tools](https://awesome-repositories.com/f/user-interface-experience/editor-customization-tools.md) — Offers editor customization tools to extend the component with custom plugins and schema-based formatting.
- [Selection Management APIs](https://awesome-repositories.com/f/user-interface-experience/selection-management-apis.md) — Provides selection management APIs to programmatically handle text cursor positioning and range highlights.
- [Text Input Widgets](https://awesome-repositories.com/f/user-interface-experience/text-input-widgets.md) — Provides robust text input widgets for capturing advanced styled text and structured document output.
- [Schema-Enforced Editors](https://awesome-repositories.com/f/user-interface-experience/ui-components/text-editors/schema-enforced-editors.md) — Implements a schema-enforced editor that utilizes predefined rules to constrain nested document nodes.

### Development Tools & Productivity

- [Plugin-Based Editor Frameworks](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-architectures/plugin-based-editor-frameworks.md) — Features a plugin-based editor framework that allows extending core rendering and transformation logic via registration.

### Software Engineering & Architecture

- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/plugin-based-architectures.md) — Employs a plugin-based architecture that allows extending core editing capabilities via a standardized registration interface.
- [Command Patterns](https://awesome-repositories.com/f/software-engineering-architecture/command-patterns.md) — Implements an architectural command pattern to encapsulate editing operations for consistent state transitions and undo history.

### Web Development

- [Rich Text Editors](https://awesome-repositories.com/f/web-development/rich-text-editors.md) — Provides a web-based rich text editor for creating formatted content with structured document models.
- [Text Selection Management](https://awesome-repositories.com/f/web-development/browser-integration-utilities/text-selection-management.md) — Provides text selection management to track cursor positions and apply styles to specific document fragments.

### Content Management & Publishing

- [Content Authoring and Editing](https://awesome-repositories.com/f/content-management-publishing/authoring-editorial-interfaces/content-authoring-editing.md) — Provides specialized authoring and editing interfaces for creating and refining long-form written content.
- [Content Management Systems](https://awesome-repositories.com/f/content-management-publishing/content-management-systems.md) — Serves as a foundational component for building integrated content editing interfaces within custom content management systems.
- [DOM-Based Content Renderers](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/document-processing-conversion/document-processing/rendering-visualization/dom-based-content-renderers.md) — Uses a DOM-based content renderer to maintain a live representation of formatted content within the browser.

### Data & Databases

- [Content Schema Validation](https://awesome-repositories.com/f/data-databases/data-governance-modeling/data-management-governance/data-integrity-validation/data-validation/content-schema-validation.md) — Implements content schema validation to restrict allowed HTML tags and attributes for clean document output.
