awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
neilj avatar

neilj/Squire

0
View on GitHub↗
4,902 stars·412 forks·TypeScript·MIT·8 views

Squire

Squire is a DOM-based rich text editor and WYSIWYG content editor that treats raw HTML as the source of truth. It functions as a system for manipulating the document object model directly to provide a visual interface for editing complex web content.

The project focuses on arbitrary HTML editing, allowing the modification of any HTML content without losing original formatting. It includes tools for HTML content normalization and sanitization to ensure that raw input is cleaned and structured consistently before being rendered as editable nodes.

The editor's capability surface covers inline formatting, block element management, and the insertion of media fragments. It also provides state management for tracking cursor positions and maintaining a snapshot-based undo and redo history.

Features

  • HTML Content Editors - Provides a visual interface for manipulating structured text data treating raw HTML as the source of truth.
  • Rich Text Editors - Provides a rich text editing interface that operates directly on the browser DOM to manipulate web content.
  • HTML Serialization - Converts the live DOM tree back into raw HTML strings for persistence and data transfer.
  • HTML Content Sanitization - Cleans raw HTML to remove malicious scripts before converting content into editable DOM nodes.
  • HTML Structure Normalizers - Converts inconsistent HTML markup from external sources into a standardized structure for consistent editing.
  • Block Nesting Management - Manages the hierarchical depth and structure of block elements like lists and blockquotes.
  • Document State Management - Implements detailed state management for tracking cursor positions and maintaining a snapshot-based undo and redo history.
  • WYSIWYG Editors - Provides a visual editing interface for manipulating DOM elements and block structures with direct control over the resulting HTML.
  • DOM-Driven State Management - Uses the browser DOM as the primary source of truth for editor state rather than an internal data model.
  • HTML Content Management - Retrieves and sets the editor content using raw HTML strings for import and export.
  • Rich Text Editors - Implements a web-based interface for creating and editing formatted HTML content.
  • Inline Text Styles - Toggles visual treatments like bold, italics, and color for inline text elements.
  • Browser Selection Range Captures - Captures user text selection boundaries using the native Range API to apply styles and insert elements.
  • DOM Mutation Tracking - Monitors real-time modifications to the HTML tree to synchronize state and trigger history checkpoints.
  • Undo-Redo Management - Provides a system for managing the editing timeline and restoring document state via undo/redo.
  • Command-Based Action Dispatchers - Implements a centralized system to process editor requests through prioritized listeners for formatting and structural changes.
  • DOM Fragment Insertions - Adds images or raw HTML fragments at the current cursor position or replaces the active selection.
  • Cursor Focus Controllers - Manages editor focus and moves the cursor to document boundaries using the browser selection range.
  • Undo-Redo History - Maintains a history of state snapshots to enable restoring previous versions of the document.
  • Editors - HTML5 rich text editor.
  • Rich Text Editors - HTML5-based rich text editor.

Star history

Star history chart for neilj/squireStar history chart for neilj/squire

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Squire

Similar open-source projects, ranked by how many features they share with Squire.
  • alex-d/trumbowygAlex-D avatar

    Alex-D/Trumbowyg

    4,147View on GitHub↗

    Trumbowyg is a lightweight JavaScript WYSIWYG editor used to create and format rich-text and HTML content directly within a web browser. It serves as a client-side tool for generating semantic HTML markup and authoring web content. The project features a modular, plugin-based architecture that allows for the addition of new formatting commands and toolbar buttons. It provides a configurable interface where the toolbar layout can be customized via a predefined array and labels can be translated through localization files. The editor covers a wide range of content manipulation capabilities, in

    JavaScript
    View on GitHub↗4,147
  • basecamp/trixbasecamp avatar

    basecamp/trix

    19,970View on GitHub↗

    Trix is a rich text editor and WYSIWYG text component designed for composing and formatting documents with inline styling and block elements. It functions as an HTML content editor that manages and sanitizes input to ensure a secure and consistent document structure, while serving as a document state manager that tracks edit history and persists serialized state. The editor integrates directly with standard HTML forms, converting rich text into data for submission. It features a configurable sanitization engine that cleanses input HTML to remove unsupported tags and mitigate security risks.

    JavaScript
    View on GitHub↗19,970
  • jpuri/react-draft-wysiwygjpuri avatar

    jpuri/react-draft-wysiwyg

    6,471View on GitHub↗

    This project is a rich text editor component for React applications that provides a visual interface for composing and formatting content. It functions as a DraftJS-based WYSIWYG editor, allowing users to create structured documents with inline styles and block types. The editor features a customizable toolbar interface for managing text alignment, lists, and media embeds. It includes a specialized input system for inserting emojis, hashtags, and user mentions as single deletable units. The project provides capabilities for transforming internal editor state into HTML, JSON, or Markdown form

    JavaScript
    View on GitHub↗6,471
  • mycolorway/simditormycolorway avatar

    mycolorway/simditor

    5,006View on GitHub↗

    Simditor is a JavaScript-based rich text editor and WYSIWYG HTML editor designed for creating structured documents within web applications. It functions as a web-based media editor and HTML content sanitizer, allowing users to compose and format content visually. The project distinguishes itself through an integrated system for handling media and security. It features server-side image upload capabilities that support both local file selection and clipboard pasting, alongside a whitelist-based HTML markup filtering system to ensure consistent and secure output. The editor provides broad capa

    JavaScriptcoffeescriptjavascriptrich-text-editor
    View on GitHub↗5,006
See all 30 alternatives to Squire→

Frequently asked questions

What does neilj/squire do?

Squire is a DOM-based rich text editor and WYSIWYG content editor that treats raw HTML as the source of truth. It functions as a system for manipulating the document object model directly to provide a visual interface for editing complex web content.

What are the main features of neilj/squire?

The main features of neilj/squire are: HTML Content Editors, Rich Text Editors, HTML Serialization, HTML Content Sanitization, HTML Structure Normalizers, Block Nesting Management, Document State Management, WYSIWYG Editors.

What are some open-source alternatives to neilj/squire?

Open-source alternatives to neilj/squire include: alex-d/trumbowyg — Trumbowyg is a lightweight JavaScript WYSIWYG editor used to create and format rich-text and HTML content directly… basecamp/trix — Trix is a rich text editor and WYSIWYG text component designed for composing and formatting documents with inline… jpuri/react-draft-wysiwyg — This project is a rich text editor component for React applications that provides a visual interface for composing and… mycolorway/simditor — Simditor is a JavaScript-based rich text editor and WYSIWYG HTML editor designed for creating structured documents… jhollingworth/bootstrap-wysihtml5 — bootstrap-wysihtml5 is a rich text editor that integrates with the Bootstrap CSS framework to provide a visual… quilljs/quill — Quill is a JavaScript rich text editor library used to build WYSIWYG web editors. It serves as a modular editor…