@editorcn/editor

中文文档
0.4.1发布于 2026/11/08TypeScriptESM + CJS近 30 天下载 6828

A toolbar-style rich text editor built on Tiptap with shadcn/ui design tokens. Part of the editorcn editor suite.

原始使用文档
文档目录7 节
  1. Features
  2. Installation
  3. npm
  4. shadcn registry
  5. Usage
  6. Documentation
  7. License

@editorcn/editor

A toolbar-style rich text editor built on Tiptap with shadcn/ui design tokens. Part of the editorcn editor suite.

Features

  • Compound component API (RichTextEditor, RichTextEditor.Toolbar, RichTextEditor.Content, etc.)
  • 20+ built-in toolbar controls (Bold, H1, Link, Undo, etc.)
  • Sticky toolbar with configurable control groups
  • Fully typed with TypeScript
  • Extensible via Tiptap extensions
  • Built with shadcn/ui CSS variables — matches your theme

Installation

npm

npm install @editorcn/editor @tiptap/react @tiptap/pm @tiptap/starter-kit @tiptap/extension-link

Tiptap v3 required. @editorcn/editor is built against Tiptap v3. Make sure your @tiptap/* packages are on v3, and import BubbleMenu/FloatingMenu from @tiptap/react/menus (not the @tiptap/react root) if you use them directly.

shadcn registry

npx shadcn@latest add @editorcn/editor

Make sure your components.json includes the editorcn registry:

{
  "registries": {
    "@editorcn": "https://editorcn.vercel.app/r/{name}.json"
  }
}

Usage

"use client";

import { useEditor } from "@tiptap/react";
import { StarterKit } from "@tiptap/starter-kit";
import { Underline } from "@tiptap/extension-underline";
import { RichTextEditor, Link } from "@editorcn/editor";
import "@editorcn/editor/style.css";

export function MyEditor() {
  const editor = useEditor({
    extensions: [StarterKit, Link, Underline],
    content: "<p>Start typing...</p>",
  });

  return (
    <RichTextEditor editor={editor}>
      <RichTextEditor.Toolbar sticky>
        <RichTextEditor.ControlsGroup>
          <RichTextEditor.Bold />
          <RichTextEditor.Italic />
          <RichTextEditor.Underline />
        </RichTextEditor.ControlsGroup>
        <RichTextEditor.ControlsGroup>
          <RichTextEditor.H1 />
          <RichTextEditor.H2 />
          <RichTextEditor.H3 />
        </RichTextEditor.ControlsGroup>
        <RichTextEditor.ControlsGroup>
          <RichTextEditor.Undo />
          <RichTextEditor.Redo />
        </RichTextEditor.ControlsGroup>
      </RichTextEditor.Toolbar>
      <RichTextEditor.Content />
    </RichTextEditor>
  );
}

Documentation

Full API reference at editorcn.vercel.app/docs/editor.

License

MIT

版本与发布记录

@editorcn/editor 共发布 16 个版本,首次发布于 2026/08/20;过去 12 个月发布了 16 个版本。

版本发布日期距今
0.4.1latest2026/11/085 天前
0.4.02026/11/0211 天前
0.3.92026/11/0112 天前
0.3.82026/10/3014 天前
0.3.72026/10/101 个月前
0.3.62026/10/091 个月前

关于 @editorcn/editor 的常见问题

@editorcn/editor 是什么?

A toolbar-style rich text editor built on Tiptap with shadcn/ui design tokens. Part of the editorcn editor suite.

如何安装 @editorcn/editor?

在项目目录运行 npm install @editorcn/editor,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18 || ^19)、react-dom(^18 || ^19)、@tiptap/pm(>=3.0.0 <4)、@tiptap/core(>=3.0.0 <4)、@tiptap/react(>=3.0.0 <4)、@base-ui/react(^1.0.0)、@floating-ui/dom(^1.6.0)、@tiptap/starter-kit(>=3.0.0 <4)、@tiptap/extension-link(>=3.0.0 <4)、class-variance-authority(^0.7.1)、@tiptap/extension-underline(>=3.0.0 <4)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@editorcn/editor 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@editorcn/editor 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@editorcn/editor 可以商用吗?

@editorcn/editor 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@editorcn/editor 的下载量有多少?

根据 npm 官方下载统计,@editorcn/editor 在 2026/10/13 – 2026/11/11 这 30 天内被下载 6,828 次,日均约 228 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@editorcn/editor 还在维护吗?

最新版本 0.4.1 发布于 2026/11/08(5 天前);至今共发布 16 个版本,其中过去 12 个月发布了 16 个;首次发布于 2026/08/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。