Markdown 字段
下载 .tgz
版本v0.1.0
大小1.2 MB
分类字段
平台全平台
运行方式纯前端(无独立进程)
下载量3
标签richtext · field · collab
SHA-256c3ee7b5bd40c9219aa96a778527e4271f66538db094719585a9a2baa4940f9c5
第二个「插件自定义字段」官方插件:富文本单元格的插件版——tiptap 弹窗编辑 + 多人实时协同(零持久化),显式保存、不保存不落库。市场插件(非内置)。
与原生富文本(89)的关系
- 骑
baseType: richtext:cell 仍存 markdown 字符串,与原生 89 格式逐字一致 (ui/src/md/markdownKit.ts是宿主 markdownKit 的同步副本,方言必须对齐) - 未装插件降级 = 原生 RichTextModal 照常编辑;「转为插件字段」零数据迁移
hideBaseTypeInPicker: true:插件在场时新建选择器隐藏原生 89(升级替代); 已有 89 字段不受影响,卸载后原生回归- 语义差异(用户拍板):原生 = 编辑即保存(richsession 升格落库); 插件版 = 显式「保存」→ updateCell,不保存零落库
协同(不保存不落库)
- Y.Doc 骑宿主 ephemeral 房间中继(
ui.roomJoin/roomSend/onRoomMessage, Go ws PluginRoom* 纯转发零持久化) - 种子端选举:join 返回加入前在场数(服务端锁内串行化)——0 = 从 cell 值建基线;
0 = s1/s2(state vector / diff)收敛,绝不双种子
- 房间空了状态即消失;丢稿守卫 = 脏标记 + Esc/backdrop/X/取消 confirm
(
ui.setModalDirty)
构建 / 安装 / 测试
pnpm --filter @xinghan/plugin-richtext-field ui:build
pnpm --filter @xinghan/plugin-richtext-field typecheck
pnpm --filter @xinghan/plugin-richtext-field test
pnpm plugin:install packages/plugins/richtext-field # → ~/xinghan/plugins 怎么安装
- 下载安装包 —— 点上面的按钮拿到
xinghan.richtext-field.tgz。要在内网用,就把这个文件拷进去。 - 打开客户端 —— 右上角 插件市场 → 右上角 「从本地安装」。
- 选中文件 —— 解包到 ~/xinghan/plugins/ 后热加载,不用重启应用。
完整的内网 / 离线说明见 离线与内网安装。