• v0.4.0 10cfe0066b

    v0.4.0 Stable

    thzxx released this 2026-07-23 22:58:57 +08:00 | 26 commits to master since this release

    v0.4.0 - MetonaEditor 集成与架构重构

    本次更新将编辑器核心从 Milkdown/ProseMirror 全面迁移至 MetonaEditor,带来更简洁的架构和更丰富的内置功能。


    核心变更

    编辑器迁移:Milkdown -> MetonaEditor v0.1.3

    • 三模式视图:编辑 / 分屏 / 预览,由编辑器内置工具栏一键切换
    • 内置格式化工具栏:bold, italic, strikethrough, underline, code, h1-h3, quote, ul, ol, indent, outdent, link, image, table, hr, undo, redo, fullscreen
    • 内置搜索替换:Ctrl+F / Ctrl+H,支持正则表达式和大小写敏感
    • 内置历史栈:撤销/重做,防抖合并
    • 粘贴图片:Ctrl+V 粘贴剪贴板图片,自动转 base64 内嵌
    • 字数统计:编辑器底栏显示字符数/行数/阅读时间
    • 零依赖:替换掉 10 个 Milkdown/ProseMirror 包,净减少约 150 个安装依赖

    渲染管线保留

    • unified/rehype 管线通过 MetonaEditor 的 render 钩子继续工作
    • 相对路径图片 -> file:// 绝对路径转换
    • rehype-highlight 代码语法高亮(180+ 语言)
    • rehype-sanitize XSS 防护
    • LRU 处理器缓存(最多 20 个)

    Toast 组件迁移

    • metona-toast 本地包 -> @metona-team/metona-toast v2.0.1 npm 包

    架构精简

    删除的组件(16 个文件)

    • SourceEditor — MetonaEditor edit 模式替代
    • Preview — MetonaEditor preview 模式替代
    • SearchReplace — MetonaEditor 内置 searchReplace 插件替代
    • EditorToolbar — MetonaEditor 内置工具栏替代
    • useMilkdown — MetonaEditor API 替代
    • StatusBar + StatusBarItems — MetonaEditor 内置底栏替代
    • statusBarStore — 状态栏扩展架构不再需要
    • useStatusBarItem / useStatusBarItems — 同上
    • useSettings — 功能由 useSettingsInit 统一管理
    • EditMode/PreviewMode/SourceMode 图标 — 工具栏不再需要

    修改的组件

    • Editor.tsx — 完全重写,集成 MetonaEditor
    • App.tsx — 移除模式条件渲染和状态栏,简化布局
    • Toolbar.tsx — 移除模式切换按钮,新增自动保存开关
    • Sidebar.tsx — 大纲导航从 ProseMirror 文档树改为 DOM 滚动
    • editorStore.ts — ProseMirror EditorView getter -> MetonaEditor getter
    • useKeyboard.ts — 移除 Ctrl+1/2/3/B/I(由编辑器内置处理)

    主题系统增强

    • 应用暗色模式与编辑器主题双向同步
    • 切换时自动覆写 wrapper inline CSS 变量,确保编辑器视觉即时响应
    • viewMode 变更自动持久化到 IndexedDB

    依赖变更

    新增:

    • @metona-team/metona-editor ^0.1.3
    • @metona-team/metona-toast ^2.0.1

    移除:

    • @milkdown/core, @milkdown/ctx, @milkdown/plugin-clipboard, @milkdown/plugin-history, @milkdown/plugin-indent, @milkdown/plugin-listener, @milkdown/plugin-trailing, @milkdown/preset-commonmark, @milkdown/preset-gfm, @milkdown/prose, @milkdown/react, @milkdown/utils

    保留:

    • unified / remark / rehype / rehype-highlight(渲染管线)

    文档更新

    • README.md:版本号、功能特性、技术栈、快捷键、项目结构
    • DESIGN.md:编辑器架构章节完全重写,更新组件/Store/Hook 数量
    • CONTRIBUTING.md:更新项目结构和编辑器架构说明
    • DEVSETUP.md:添加 @metona-team registry 配置说明
    • 新增 docs/ 参考文档:MetonaEditor + MetonaToast API 文档

    质量保证

    • TypeScript 严格模式零错误
    • ESLint 零错误零警告
    • 96 个单元测试全部通过(Vitest)
    • electron-vite 生产构建成功

    变更统计

    • 33 个文件变更,+460 / -4335 行
    • 16 个文件删除,13 个文件修改,4 个文档新增
    Downloads