awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
toeverything avatar

toeverything/blocksuite

0
View on GitHub↗
5,544 estrellas·534 forks·TypeScript·mpl-2.0·2 vistasblocksuite.io↗

Blocksuite

BlockSuite is a collaborative block editor framework built on a hierarchical block tree data model with CRDT-based state synchronization for real-time multi-user editing. It provides an extensible block component system, allowing developers to define custom block types through declarative schemas, services, and rendering components. The editor is packaged as cross-framework web components, making it embeddable in any JavaScript environment.

The framework distinguishes itself with a command-driven editing pipeline that composes type-safe editing actions with dynamic context sharing and control flow. It supports both structured document editing and an infinite canvas whiteboard with frame grouping, element nesting, and frame-based slideshow presentations. Multi-document management features include bidirectional linking, transclusion, and cross-document state sharing. Adapter-based snapshot translation enables import and export to standard formats like Markdown and HTML via pure function transformers.

Additional capabilities encompass inline rich text editing with undo/redo, programmatic selection management with custom selection types, and a unidirectional reactive data flow with a custom event system. The editor UI is assembled from pluggable block compositions, configurable toolbars and menus, and independent auxiliary panels that share document state. Runtime block configuration and per-view editor behavior variation allow tailoring the editor for different environments.

Starter project examples for common JavaScript frameworks are provided to help build block-based note applications.

Features

  • Embeddable Collaborative Editor SDKs - Offers a development kit with ready-to-use editors and APIs for embedding real-time collaborative editing features.
  • Block-Based Document Models - Builds structured documents with nested blocks, inline rich text, and custom block types for flexible content creation.
  • Custom Block Type Definitions - Allows defining the structure, data schema, and interactive elements for new block types to extend the editor with custom content.
  • Block Command Chains - Composes reusable sequences of operations on the block tree, sharing context across steps with dynamic control flow.

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI
  • CRDT-Synchronized Block Editors - Provides a framework for building block-based document editors with real-time CRDT synchronization.
  • Composable Editing Commands - Provides a hook-based command composition system for building complex editing actions with type safety.
  • Block Tree Adapters - Provides pure function adapters for importing and exporting block documents to Markdown and HTML.
  • Infinite Canvas Editors - Provides an unbounded whiteboard where you add rich text, draw shapes, connect elements, and insert link cards.
  • Conflict-Free Replicated Data Types - Synchronizes document state across clients using conflict-free replicated data types for real-time collaboration.
  • Block-Based Data Models - Represents documents as a hierarchical tree of typed blocks with per-block schemas and properties.
  • Block Tree Management - Provides CRUD operations for blocks in a hierarchical document tree, forming the core data manipulation interface.
  • Block Type Schemas - Defines new block types by declaratively specifying their schema, service, and rendering components.
  • Editing Command Pipelines - Composes editing actions into type-safe chains with shared context and dynamic control flow.
  • Type-Safe Editing Commands - Ships a type-safe command system for composing complex editing actions with guaranteed correctness.
  • Conflict-Free Replicated Data Types - Uses conflict-free replicated data types as the authoritative store for consistent state management.
  • Unidirectional Data Flow Architectures - Drives UI updates through a unidirectional pipeline where commands mutate state and views react to changes.
  • Custom Block Definitions - Allows defining new block schemas, services, and UI components to tailor the editor for domain-specific content.
  • Structured Block Renderers - Renders nested block hierarchies recursively to form a tree document structure.
  • Cross-Framework Components - Packages pre-built document and graphics editors as standard web components for use in any JavaScript framework.
  • Block Type Extension Systems - Lets developers define custom block types, schemas, services, and UI components with runtime configuration.
  • Cross-Framework Component Embedding - Embeds pre-built document and graphics editors as standard web components into any JavaScript framework.
  • Embeddable Web Component Editors - BlockSuite provides ready-to-use document and graphics editors built as standard web components for any framework.
  • Real-Time Collaborative Editing - Synchronizes document changes across users in real time using CRDTs with per-user undo histories.
  • CRDT-Based Collaboration Platforms - Synchronizes block tree changes across users with per-user undo history and CRDT state management.
  • Rich Text Editors - Edits text, lists, code, images, attachments, and database tables in a unified block-based interface.
  • Block Data Schemas - Allows defining the data structure for a block, including its properties and relationships, for structured content editing.
  • Block Relationship Declarations - Supports specifying parent-child or reference relationships between blocks to model structured documents.
  • Document Snapshot Persistence - Saves document state natively and imports/exports to standard formats via snapshot transformers.
  • Data Import and Export - Converts blocks to and from standard formats like Markdown and HTML using a snapshot and transformer system.
  • Custom Selection Types - Enables extending the base selection interface to define and register new selection types for specialized content.
  • Per-Block Runtime Options - Allows setting per-block runtime options to adapt editor behavior for different environments.
  • Document Mode Switching - Allows switching between page and whiteboard modes for the same document without file conversion.
  • Text Block Movement - Allows selecting text and blocks, dragging them across the document, and using contextual toolbars for interaction.
  • Canvas Frame Grouping - Allows enclosing canvas areas into resizable frames and nesting elements into groups to structure the whiteboard.
  • Block-Based Property Observers - Allows getting, setting, and watching property changes on block views to keep the UI synchronized with data.
  • Shared State Management - Shares state across multiple documents and allows rendering the same document in multiple editors simultaneously.
  • Block Editor Compositions - Assembles a lightweight editor by registering block types and widgets into a container component.
  • Block Service Registrations - Enables registering a service per block type that holds editor-level methods and lifecycle hooks for reusable state and behavior.
  • Slideshow Displays - Cycles through named frames in a full-screen slideshow for presentations directly from the editor.
  • Programmatic Selection - Allows getting and setting text and block selections programmatically with support for multiple selection types.
  • Content Transclusion - Supports bidirectional links between documents and live transclusion for dynamic content embedding.
  • Per-View Editor Behaviors - Enables different editor behaviors per view while sharing the same underlying document data.
  • Selection Change Listeners - Provides the ability to listen for changes to local and remote selections to synchronize user interactions.
  • Standalone Components - Collaborative block-based editor component.
  • Historial de estrellas

    Gráfico del historial de estrellas de toeverything/blocksuiteGráfico del historial de estrellas de toeverything/blocksuite

    Alternativas open-source a Blocksuite

    Proyectos open-source similares, clasificados según cuántas características comparten con Blocksuite.
    • yoopta-editor/yoopta-editorAvatar de yoopta-editor

      yoopta-editor/Yoopta-Editor

      3,045Ver en 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
      Ver en GitHub↗3,045
    • madebymany/sir-trevor-jsAvatar de madebymany

      madebymany/sir-trevor-js

      4,483Ver en GitHub↗

      sir-trevor-js is a modular block-based rich text editor and content framework. It functions as a customizable WYSIWYG editor that transforms visual input into a structured JSON content framework, storing documents as a tree of independent data blocks rather than flat HTML strings. The system is distinguished by its focus on structured content management, allowing users to define custom block types, set block constraints, and implement schema-based content validation. It provides a plugin system for extending the editor with specialized content types and uses event-driven lifecycle hooks to ex

      JavaScript
      Ver en GitHub↗4,483
    • loro-dev/loroAvatar de loro-dev

      loro-dev/loro

      5,374Ver en GitHub↗

      Loro is a conflict-free replicated data type (CRDT) framework and collaborative state engine designed for building real-time collaborative applications. It provides a distributed data synchronizer that enables multiple users to edit shared documents and complex nested structures—such as maps, lists, trees, and counters—with automatic state convergence without requiring a central server. The project distinguishes itself through a versioned document store that supports branching, forking, and merging via a directed acyclic graph of causal operation history. It enables advanced version control c

      Rustcollaborative-editingcrdtlocal-first
      Ver en GitHub↗5,374
    • typecellos/blocknoteAvatar de TypeCellOS

      TypeCellOS/BlockNote

      9,141Ver en GitHub↗

      BlockNote is a block-based rich text editor and a real-time collaborative workspace. It uses a JSON-based data model to organize content into draggable, nestable blocks rather than a single flat document. The system functions as a high-level interface built on ProseMirror that abstracts document state into discrete, manipulatable content blocks. The project serves as a framework for integrating large language models into document editors, enabling context-aware text generation and AI-driven workflows. It also acts as a document export engine capable of converting structured block data into fo

      TypeScriptblock-basededitorjavascript
      Ver en GitHub↗9,141
    Ver las 30 alternativas a Blocksuite→

    Preguntas frecuentes

    ¿Qué hace toeverything/blocksuite?

    BlockSuite is a collaborative block editor framework built on a hierarchical block tree data model with CRDT-based state synchronization for real-time multi-user editing. It provides an extensible block component system, allowing developers to define custom block types through declarative schemas, services, and rendering components. The editor is packaged as cross-framework web components, making it embeddable in any JavaScript environment.

    ¿Cuáles son las características principales de toeverything/blocksuite?

    Las características principales de toeverything/blocksuite son: Embeddable Collaborative Editor SDKs, Block-Based Document Models, Custom Block Type Definitions, Block Command Chains, CRDT-Synchronized Block Editors, Composable Editing Commands, Block Tree Adapters, Infinite Canvas Editors.

    ¿Qué alternativas de código abierto existen para toeverything/blocksuite?

    Las alternativas de código abierto para toeverything/blocksuite incluyen: yoopta-editor/yoopta-editor — Yoopta-Editor is a headless framework for building customizable block-based rich text editors. It utilizes a… madebymany/sir-trevor-js — sir-trevor-js is a modular block-based rich text editor and content framework. It functions as a customizable WYSIWYG… loro-dev/loro — Loro is a conflict-free replicated data type (CRDT) framework and collaborative state engine designed for building… typecellos/blocknote — BlockNote is a block-based rich text editor and a real-time collaborative workspace. It uses a JSON-based data model… facebookarchive/draft-js — Draft-js is a framework for building customizable rich text editors within React applications. It serves as a state… yjs/yjs — Yjs is a CRDT framework and real-time state synchronization engine providing shared data types for collaborative…