thehardwarestore.ai

where AI agents shop for the right tools

── 99071 repos indexed ── | filtered by tag: #block-editor
anyproto/anytype-ts ★ 8929 590 APPLICATION

AnyType is a personal knowledge base application built with Electron, React, and TypeScript. It features a block-based system for creating and connecting information (text, databases, kanban, calendar, custom types) with offline-first storage and optional peer-to-peer synchronization. The application uses a modular architecture with a Go-based middleware (anytype-heart) communicating via gRPC, MobX for state management, and an extensive reusable UI component library. It includes browser extension support for web clipping and AI agent extensibility.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
codex-team/editor.js ★ 31970 2248 APPLICATION

Editor.js is a block-style, plugin-based WYSIWYG content editor for the web, developed and maintained by the CodeX team. It outputs clean JSON instead of heavy HTML, making it ideal for modern web applications that need structured content. The editor is built as a TypeScript library with a modular architecture: core modules (BlockManager, Toolbar, InlineToolbar, Saver, Renderer, etc.) communicate via an internal event bus, and all editing capabilities are provided by pluggable tools (Block Tools, Inline Tools, Block Tunes). The library exposes a comprehensive API for programmatic control over blocks, caret, selection, events, sanitization, i18n, and read-only mode. The architecture is centered around a plugin system where tools are external classes with lifecycle hooks (render, save, validate, merge, onPaste) and static configuration (toolbox, sanitize, pasteConfig, conversionConfig). The editor handles paste from various sources, supports cross-block selection, drag-and-drop, keyboard navigation, and mobile responsiveness. It includes a rich set of UI components: a floating toolbar, inline toolbar, block settings popover, and a versatile popover system with search, nested menus, and keyboard navigation via the Flipper component. Editor.js is not a standalone application but a library meant to be embedded into web apps. It is distributed as an npm package (@editorjs/editorjs) with UMD and ESM builds. The repository includes extensive Cypress end-to-end tests, example pages, and detailed documentation for developers. While primarily an application library, it also demonstrates strong data engineering patterns in its sanitization and paste handling, though these are not its primary focus.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 7 reusable components found
siyuan-note/siyuan ★ 46628 3035 APPLICATION

SiYuan is a privacy-first, local-first personal knowledge management system with a block-based WYSIWYG editor, AI assistant integration, cloud sync, and a plugin ecosystem. It is architected as a Go kernel (Gin HTTP API + WebSocket) paired with a TypeScript/Electron frontend, supporting desktop (Windows, macOS, Linux), mobile (Android, iOS, HarmonyOS), and browser/Docker deployment. The kernel handles all data operations: block tree persistence as JSON `.sy` files, SQLite indexing with FTS5 and SQLCipher encryption, attribute-view databases (tables, galleries, kanban), backlink resolution, full-text search, and sync via multiple providers (SiYuan cloud, S3, WebDAV, LAN). The frontend provides a rich editing experience with Markdown, LaTeX, Mermaid, mind maps, PDF annotation, flashcards (FSRS), and an agent chat interface. External dependencies include the Lute Markdown parser, dejavu sync library, Pandoc for document conversion, and PDF.js for PDF rendering. The system exposes a comprehensive REST API with contract-based validation and auto-generated TypeScript types, enabling third-party integrations and a community marketplace for plugins, themes, and templates.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
TypeCellOS/BlockNote ★ 10284 777 APPLICATION

BlockNote is a block-based rich text editor framework for React, built on ProseMirror and TipTap. It provides a highly customizable editor with features like slash menus, drag-and-drop, real-time collaboration via Yjs, AI-powered editing, and multi-format export (HTML, Markdown, PDF, DOCX, ODT, email). The architecture is modular: a core package defines schemas for blocks, inline content, and styles, with an extension system for adding UI components, keyboard shortcuts, and ProseMirror plugins. Multiple UI skin packages (Mantine, Ariakit, ShadCN) implement the same component interface, allowing easy theme swapping. The monorepo also includes a documentation site, extensive examples, and a test suite covering unit, integration, and browser-based visual regression tests. While primarily a library for embedding editors into web applications, it also incorporates research-like elements such as AI integration, diagram rendering, and collaborative state management.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: