# jaredreich/pell

**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/jaredreich-pell).**

12,054 stars · 547 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/jaredreich/pell
- awesome-repositories: https://awesome-repositories.com/repository/jaredreich-pell.md

## Topics

`contenteditable` `editor` `javascript` `rich-text-editor` `text-editing` `text-editor` `wysiwyg` `wysiwyg-editor`

## Description

Pell is a JavaScript text editor library and browser-based rich text editor. It provides a lightweight WYSIWYG HTML editor for formatting styled text and outputting HTML directly within a web browser.

The library is a dependency-free vanilla implementation that uses standard Web APIs. It allows for the definition of custom editor actions and text actions to extend the toolbar and the creation of custom visual themes to modify the editor appearance.

The editor covers rich text editing and browser-based text formatting, including the application of bold, italic, headings, and lists. It also supports managing text layout and the insertion of media and links.

## Tags

### User Interface & Experience

- [Rich Text WYSIWYG Editors](https://awesome-repositories.com/f/user-interface-experience/rich-text-wysiwyg-editors.md) — Provides a lightweight, dependency-free visual editor for formatting rich text and outputting HTML directly in the browser.
- [Rich Text Editors](https://awesome-repositories.com/f/user-interface-experience/rich-text-editors.md) — Ships as a library for building browser-based rich text editors with customizable formatting and document models.
- [Rich Text Styling](https://awesome-repositories.com/f/user-interface-experience/rich-text-styling.md) — Supports applying inline and block-level formatting such as bold, italic, headings, and lists. ([source](https://github.com/jaredreich/pell#readme))
- [Text Editors](https://awesome-repositories.com/f/user-interface-experience/text-editors.md) — Provides a minimal set of JavaScript functions and components for creating multi-line visual text editors.
- [Text Formatting Tools](https://awesome-repositories.com/f/user-interface-experience/text-formatting-tools.md) — Enables browser-based text formatting via a visual toolbar and native document commands.
- [WYSIWYG Editors](https://awesome-repositories.com/f/user-interface-experience/wysiwyg-editors.md) — Implements a visual interface where content is edited such that the output matches the final HTML version. ([source](https://github.com/jaredreich/pell/blob/master/package.json))
- [Custom Editor Frameworks](https://awesome-repositories.com/f/user-interface-experience/editor-customization-tools/custom-editor-frameworks.md) — Allows developers to build specialized text entry tools by defining custom toolbar actions and visual themes.
- [Text Action Extensions](https://awesome-repositories.com/f/user-interface-experience/rich-text-editors/rich-text-formatting-extensions/text-action-extensions.md) — Provides a mechanism to define and add specialized formatting commands to extend text manipulation tools. ([source](https://github.com/jaredreich/pell#readme))

### Web Development

- [Dependency-Free Frontend Libraries](https://awesome-repositories.com/f/web-development/dependency-free-frontend-libraries.md) — Provides a lightweight JavaScript implementation that operates entirely without external dependencies or frameworks.
- [Rich Text Editors](https://awesome-repositories.com/f/web-development/rich-text-editors.md) — Provides a web interface for creating and editing formatted content without requiring manual HTML coding.
- [DOM-Driven State Management](https://awesome-repositories.com/f/web-development/frontend-development-tools/state-data-management/component-lifecycle-utilities/component-state-management/dom-driven-state-management.md) — Maintains the current state of the document by relying directly on the live HTML structure of the editor element.

### Development Tools & Productivity

- [ContentEditable Wrappers](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-architectures/contenteditable-wrappers.md) — Implements the editor by wrapping the browser's native contenteditable attribute to handle text input and cursor positioning.

### Software Engineering & Architecture

- [Toolbar Action Triggers](https://awesome-repositories.com/f/software-engineering-architecture/custom-action-handlers/item-action-handlers/toolbar-action-triggers.md) — Maps toolbar button interactions to specific formatting functions through a registration system for custom actions.
