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
Hufe921 avatar

Hufe921/canvas-editor

0
View on GitHub↗
4,962 stars·838 forks·TypeScript·MIT·21 viewshufe.club/canvas-editor-docs↗

Canvas Editor

This project is a plugin-based WYSIWYG document layout engine and rich text editor that uses Canvas and SVG for rendering. It functions as a collaborative editor utilizing conflict-free replicated data types to enable real-time synchronization across multiple users.

The system serves as an interactive form builder, allowing for the embedding of input controls such as checkboxes and date pickers directly into documents. It is designed for high-fidelity output, ensuring the visual representation during editing matches the final format for PDF and image exports.

The editor covers broad capabilities including print layout management for page sizes and margins, rich text authoring with typography and structured lists, and the integration of complex elements like dynamic tables and mathematical formulas. It also provides tools for document organization, such as tables of contents and watermarking.

The framework is built on a plugin architecture that allows for the extension of core behaviors and the customization of user interactions.

Features

  • CRDT State Synchronization Engines - Uses conflict-free replicated data types to synchronize document state across multiple users in real time.
  • Real-Time Collaborative Editing - Enables multiple users to edit documents simultaneously with real-time synchronization and conflict resolution.
  • Document Layout Engines - Provides a layout engine for defining page orientation, margins, and pagination for print-ready documents.
  • Rich Text Authoring - Offers an interface for creating professional rich text documents with advanced typography, lists, and complex elements.
  • Hierarchical Document Models - Represents documents as a hierarchical tree of nodes to manage semantic relationships and visual styles.
  • Page Layout Configurations - Configures physical page dimensions, orientations, and margins to ensure high-fidelity document structure.
  • Print Layouts - Implements tools for managing physical page dimensions, margins, and layouts optimized for print and PDF output.
  • PDF Exports - Converts canvas-rendered content into standardized PDF files and images for physical printing.
  • Plugin-Based Editor Frameworks - Provides a framework where the editor engine's core rendering and transformation logic is extended via plugins.
  • CRDT Collaborative Editors - Utilizes conflict-free replicated data types to synchronize real-time edits across distributed users.
  • Canvas SVG Rich Text Renderers - Uses Canvas and SVG to ensure the visual representation during editing matches the final output exactly.
  • Extensible Plugin Architectures - Features a modular plugin architecture that allows developers to inject custom behaviors and extend core functionality.
  • Editor Functionality Plugins - Provides a plugin system to extend editor capabilities with custom toolbar buttons and specialized handlers.
  • Canvas-Based UI Rendering - Implements a custom rendering system that draws UI components directly to a canvas to bypass DOM overhead.
  • Interactive Form Controls - Allows the insertion of interactive form controls like checkboxes and date pickers directly into the document layout.
  • Rich Text Formatting Extensions - Provides comprehensive rich text formatting options, including typography, alignment, and structural headings.
  • WYSIWYG Rendering Engines - Provides a WYSIWYG rendering engine ensuring the editing experience matches the final printed output.
  • Layout Engines - Provides a layout engine that calculates exact physical geometry for pagination, margins, and element positioning.
  • Document List Structures - Generates structured lists, including ordered, unordered, and checkbox types, to organize document information.
  • Document Content Structuring - Provides tools for organizing long-form content through tables of contents and hierarchical sectioning.
  • Document Pagination Engines - Implements a document pagination engine that calculates page breaks based on word counts and layout constraints.
  • Dynamic Data Tables - Integrates dynamic data tables that support various data types and interactive input fields.
  • Form Building Tools - Includes tools for creating and structuring user input forms with embedded field types within documents.
  • Event-Driven Interaction Handlers - Ships an event-driven system that maps keyboard and mouse inputs to specific editor commands and shortcuts.
  • Form Builders - Functions as a tool for embedding and managing complex input forms directly within a document layout.
  • Rich Text Element Embedding - Embeds complex interactive objects including mathematical formulas, code blocks, and images directly into the document.
  • Markdown 编辑器 - Listed in the “Markdown 编辑器” section of the Great Open Source Project awesome list.

Star history

Star history chart for hufe921/canvas-editorStar history chart for hufe921/canvas-editor

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

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

Curated searches featuring Canvas Editor

Hand-picked collections where Canvas Editor appears.
  • Open Source Google Docs Alternatives
  • Build Your Own Text Editor
  • real-time collaborative editor

Open-source alternatives to Canvas Editor

Similar open-source projects, ranked by how many features they share with Canvas Editor.
  • ckeditor/ckeditor5ckeditor avatar

    ckeditor/ckeditor5

    10,435View on GitHub↗

    CKEditor 5 is a modular rich text editor framework and JavaScript UI component used to build customizable visual editors. It serves as a system for generating HTML or Markdown content, providing both full rich-text editor components and restricted inline editor components for web applications. The framework includes a collaborative editing engine for real-time simultaneous editing, change tracking, and threaded commenting. It features an AI text assistant for polishing, rewriting, and generating content, as well as a document export engine that transforms rich text into PDF and Word files. T

    JavaScriptckeditorckeditor5contenteditable
    View on GitHub↗10,435
  • atom-archive/xrayatom-archive avatar

    atom-archive/xray

    8,420View on GitHub↗

    Xray is a collaborative text editor and distributed workspace manager that utilizes conflict-free replicated data types to synchronize real-time edits and directory structures across peers. It functions as both an Electron-based desktop application and a headless editor server that manages workspaces and file systems remotely for connected clients. The project distinguishes itself by integrating fine-grained version control tracking, recording keystroke-level changes and uncommitted edits between Git commits. It employs a decentralized synchronization model for working copies and uses operati

    Rust
    View on GitHub↗8,420
  • ianstormtaylor/slateianstormtaylor avatar

    ianstormtaylor/slate

    31,698View on GitHub↗

    Slate is a customizable rich text editor framework that treats documents as a recursive tree of nodes. It functions as a schema-based, state-driven system designed to enforce structural constraints and manage nested components within a structured document model. The framework utilizes a plugin-based architecture to extend editor functionality, allowing for the injection of custom logic into the rendering and transformation pipeline. It supports real-time collaborative editing by synchronizing document operations across multiple users. The system covers a broad range of capabilities, includin

    TypeScriptbrowsereditorframework
    View on GitHub↗31,698
  • yoopta-editor/yoopta-editoryoopta-editor avatar

    yoopta-editor/Yoopta-Editor

    3,045View on GitHub↗

    Yoopta-Editor is a headless framework for building customizable block-based rich text editors. It utilizes a JSON-based document engine to manage editor state and provides a WYSIWYG interface for creating structured documents. The system separates core document logic from the visual layer, allowing for complete customization of the user interface. The framework is designed for real-time collaborative editing, featuring a synchronization engine with conflict resolution and remote cursor presence tracking. It offers a highly extensible plugin system that allows developers to define new content

    TypeScriptcontenteditableeditorhacktoberfest
    View on GitHub↗3,045
  • See all 30 alternatives to Canvas Editor→

    Frequently asked questions

    What does hufe921/canvas-editor do?

    This project is a plugin-based WYSIWYG document layout engine and rich text editor that uses Canvas and SVG for rendering. It functions as a collaborative editor utilizing conflict-free replicated data types to enable real-time synchronization across multiple users.

    What are the main features of hufe921/canvas-editor?

    The main features of hufe921/canvas-editor are: CRDT State Synchronization Engines, Real-Time Collaborative Editing, Document Layout Engines, Rich Text Authoring, Hierarchical Document Models, Page Layout Configurations, Print Layouts, PDF Exports.

    What are some open-source alternatives to hufe921/canvas-editor?

    Open-source alternatives to hufe921/canvas-editor include: ckeditor/ckeditor5 — CKEditor 5 is a modular rich text editor framework and JavaScript UI component used to build customizable visual… atom-archive/xray — Xray is a collaborative text editor and distributed workspace manager that utilizes conflict-free replicated data… ianstormtaylor/slate — Slate is a customizable rich text editor framework that treats documents as a recursive tree of nodes. It functions as… yoopta-editor/yoopta-editor — Yoopta-Editor is a headless framework for building customizable block-based rich text editors. It utilizes a… mpdf/mpdf — mPDF is a PHP library that transforms UTF-8 encoded HTML and CSS into formatted PDF documents. It serves as a PDF… liveblocks/liveblocks — Liveblocks is a realtime collaboration infrastructure platform that synchronizes application state, documents, and…