-
released this
2026-08-15 21:18:14 +08:00 | 0 commits to master since this releaseMarkLite v0.6.2 发行说明
版本概述
本次版本聚焦三大方向:存储引擎现代化迁移(MetonaSqlark 0.7.4 + 自研 KVStore 后端)、14 项深度审计缺陷修复(含 4 项数据安全级修复)、多文件搜索新功能。
一、依赖升级与存储迁移
依赖
@metona-team/metona-sqlark:0.4.4 → 0.7.4
存储后端迁移:IndexedDB → KVStore
- 磁盘引擎改用 sqlark 0.7.4 自研 KVStore 后端(内存索引 + 快照/日志结构,OPFS 落盘),运行于 AriaEngine 之上
- 测试环境(jsdom 无 OPFS)自动回退 memory 后端
- 损坏自愈流程同步适配 OPFS 目录删除
旧数据清理(重要)
- 本版本不向下兼容:启动时自动删除旧版本遗留的 IndexedDB 库(
aria-MarkLiteV2及 Dexie 时代的MarkLite),不迁移旧数据 - 如需保留 0.6.1 数据,请在升级前使用工具栏"导出数据备份"功能
二、缺陷修复(14 项)
数据安全(高危)
- 保存竞态:保存期间继续输入的新内容会被误清"未保存"标记,导致永不落盘、关闭无提示——现在保存前记录内容快照,仅当内容未变化时才清除标记(自动保存与手动保存均修复)
- 另存为路径绑定:另存为成功后标签仍绑定旧文件,之后 Ctrl+S/自动保存会写回旧路径——现在自动重绑新路径,并同步最近文件与状态快照
- 关闭强杀丢编辑:主进程 5 秒兜底强杀短于确认弹窗 10 秒超时——超时延长至 12 秒
- 备份导入丢数据:导入完成后固定 800ms 刷新页面,OPFS 写入未完成即被中断——现在先 flush 快照并干净关闭数据库再刷新;导入过程整体事务原子化,杜绝半导入状态
体验与正确性(中危)
- 文件监听性能:每次击键都触发 IPC 并重启主进程 watcher——现在只依赖活动文件路径
- 外部修改检测盲区:后台标签被外部修改无提示——现在任意打开的标签被修改都显示提示横幅,并显示具体文件名
- 重载静默失败:标签有未保存修改时点击"重新加载"无任何反应——现在显式提示原因
- 打开失败静默:最近文件被删除/移动后打开无提示——现在所有打开失败路径均显式报错
细节修复(低危)
- 文档大纲误识别代码块内的
#行——现在跟踪代码围栏(```/~~~)状态正确跳过 - 切换标签恢复光标位置(此前仅恢复滚动位置)
- 首次启动主题跟随系统偏好(修复设置加载逻辑导致该分支永远不生效的问题)
- 文件 watcher 失效恢复时可能残留"自写"标记,导致外部修改通知被永久吞掉
- 保存 UTF-16 编码文件时强制改写为 UTF-8 造成乱码——现在检测原文件 BOM(UTF-16 LE/BE)按原编码写回
三、新功能
多文件搜索(Ctrl+Shift+F)
- 在侧边栏已打开的文件夹内递归搜索所有
.md/.markdown/.txt文件内容 - 支持大小写敏感与正则表达式两种模式
- 结果按"文件 + 行号 + 匹配行预览"展示,点击打开文件并定位到匹配行
- 自动跳过
node_modules/.git等目录与隐藏文件,结果上限 500 条防卡顿 - 工具栏新增搜索按钮,快捷键
Ctrl + Shift + F
标签恢复磁盘比对
- 应用重启恢复标签时,对未修改的标签校验磁盘 mtime:若文件在应用关闭期间被外部修改,自动加载磁盘最新内容并提示"已同步"
四、测试与验证
- 新增测试:文档大纲代码块跳过(6 例)、多文件搜索(7 例,真实文件系统)、另存为路径重绑(2 例)
- 测试总量:102 → 117 例,全部通过
- TypeScript 类型检查 / ESLint / 生产构建(electron-vite build)全部通过
五、完整变更清单
chore: 升级 @metona-team/metona-sqlark 0.4.4 → 0.7.4(KVStore 后端迁移 + 旧库自动清理) fix: 保存竞态(快照比对)、另存为路径重绑、外部修改检测、关闭超时、 备份导入落盘、导入原子化、大纲代码块、光标恢复、系统主题、 watcher 自写标记、打开失败提示、编码保留 feat: 多文件搜索(dir:search IPC + SearchPanel + Ctrl+Shift+F) feat: 标签恢复时磁盘 mtime 比对 test: outlineUtils / searchInDir / updateTabFilePath 新增 15 例 docs: README / DESIGN 同步
发布人:thzxx · 基于 master 分支
073978dDownloads
-
MarkLite v0.6.1 Stable
released this
2026-08-09 22:07:15 +08:00 | 1 commits to master since this release版本概述
MarkLite v0.6.1 —— 自 v0.5.0 以来的重大迭代:渲染管线全面迁移至 MetonaEditor 内置解析器(移除 unified/rehype 全家桶),Toast 全面接入 MetonaToast 高级能力,存储层深度集成 MetonaSqlark(AriaEngine 自研引擎),并修复了一系列引擎级崩溃问题。
✨ v0.6.0 主要更新(引擎重构迭代)
1. 解析器迁移 — 移除自研渲染管线
- 渲染全面改用 MetonaEditor 内置解析器(parseMarkdown),删除 unified / remark / rehype / rehype-highlight 等 9 个依赖,渲染主包体积 2.5MB → 1.5MB
- 内置解析器原生支持:GFM / 任务列表 / 表格 / 删除线 / 高亮 / 上下标 / 脚注 / 数学公式 / 定义列表 / emoji / 引用链接 / Mermaid 图表
- 内置零依赖语法高亮器(16 种语言,
highlight: MeEditor.highlight) - 图片相对路径修复改为渲染后处理,修复目录前缀碰撞与路径解析 bug
- 内置 XSS 防护(escapeHTML + safeUrl URL 过滤)
2. Toast 全面接入 MetonaToast
- MeToast.confirm 替换全部自研确认框(关闭标签 / 关闭应用 / 未保存提醒),删除 ConfirmDialog 组件
- 文件打开
MeToast.loading()链式转换、保存MeToast.promise()自动 loading → success/error - 接入 dedupe 去重插件与 onError 全局错误回调
- 删除 LoadingSpinner / useDocStats 等死代码
3. MetonaSqlark 深度集成
- 数据备份:工具栏一键导出 / 导入全部数据为 JSON(exportAll / importTable + 新增 IPC 文件对话框)
- 发布订阅:recentFiles 表变更自动刷新欢迎页最近文件
- 数据库损坏自愈:检测到损坏自动重建(标记 + 重载 + 删库),不再弹错误框死循环
- 关闭应用前干净关闭数据库(db.close 确保 WAL 落盘)
4. 编辑器能力全面接入
- Zen 专注模式:工具栏一键切换(editor.toggleZen)
- 大纲导航改用官方 API(scrollToLine + setCursorPosition),删除 DOM hack
- 浮动格式工具栏(0.4.0 新特性)
🛠 v0.6.1 修复迭代(稳定性攻坚)
5. 存储引擎稳定性(重要)
- AriaEngine SSTable 大 value 编码缺陷(sqlark 0.4.4 修复):块大小按 JS 字符串 length 估算(非 UTF-8 字节)导致中文大文件写入缓冲区溢出崩溃,valueLen u16 截断 >64KB 内容;0.4.4 引入 v2 格式(SSTC)彻底修复,实测 300KB 中文内容完整读写
- 数据库初始化加固:关闭流程禁止重开(isClosing 标记)、initDb 串行化、错误弹框显示 details 详情
- 升级 metona-editor 0.4.1(Zen 宽度官方 API zenMaxWidth)
- 升级 metona-sqlark 0.4.2 / 0.4.3 / 0.4.4(SSTable 完整性校验、WAL 原子写入、close 前 checkpoint、后台任务竞态)
6. UI 调整
- 专注模式宽度:改用官方 API
zenMaxWidth: '100%'(默认 960px 偏窄,可随时调整) - 移除自定义状态栏(MetonaEditor 自带底栏已显示字符数/词数/行数/阅读时间)
📦 安装包
MarkLite Setup 0.6.1.exe— Windows x64 NSIS 安装包(支持自定义安装目录、桌面/开始菜单快捷方式)- 或通过
npm run build/npm run build:portable自行构建
⚠️ 注意事项
- 升级后数据库为 MarkLiteV2(AriaEngine),v0.4.5 及更早版本的 Dexie 数据不会迁移
- 若遇数据库异常会自动重置重建(提示"数据库已重置"),属自愈保护机制
Downloads
-
MarkLite v0.5.0 Stable
released this
2026-08-09 15:45:36 +08:00 | 19 commits to master since this release版本概述
MarkLite v0.5.0 —— 核心依赖全面升级:编辑器升级至 MetonaEditor 0.4.0,通知升级至 MetonaToast 0.5.0,数据库从 Dexie.js 迁移至 MetonaSqlark 0.4.1(AriaEngine 自研存储引擎)。
✨ 主要更新
1. 编辑器升级 MetonaEditor 0.4.0
- TypeScript 全模块重构:17 个源文件,严格模式,完整类型导出
- 浮动格式工具栏(新特性):选中文本自动弹出格式化按钮,格式操作更高效
- 内置零依赖语法高亮器:支持 js / ts / python / bash / css / html / json / yaml / markdown 等 16 种语言标识
- 自研解析器升级:粗斜体、链接内格式、脚注、数学公式、表格对齐等语法增强
- 完善的快捷键管理 / 事件系统 / 插件体系 API
2. 通知升级 MetonaToast 0.5.0
- 钩子系统:beforeShow / beforeClose / beforeUpdate 等 14 种钩子,支持拦截
- 11 种动画:slide / fade / scale / bounce / flip / rotate / zoom / slideUp / slideDown / slideLeft / slideRight
- loading 链式转换(id 稳定)、promise / confirm / prompt / progress / countdown / queue / stack / action 等高级 API
- 主包零依赖,React 适配器子路径可选
3. 数据库迁移 MetonaSqlark 0.4.1
- 移除 Dexie.js,改用 MetonaSqlark 关系型数据库(支持 SQL 与链式 Query Builder)
- AriaEngine 自研存储引擎:LSM-Tree 索引 + WAL 日志 + MVCC 快照隔离 + Buffer Pool,对标 SQLite
- 数据库更换为 MarkLiteV2(旧 Dexie 库 MarkLite 已放弃)
- 标签页快照 / 用户设置 / 最近文件全部迁移至新引擎,写入支持事务回滚
- 表结构幂等创建,懒加载单例初始化
4. 性能优化
- 修复 Editor 组件因 getActiveTab() 返回新对象引用导致的无条件重渲染
5. 文档更新
- README.md:技术栈 / 功能特性 / 快捷键 / 语法支持全面更新
- DESIGN.md:架构设计同步 MetonaSqlark(AriaEngine)
- 关于弹框:新增依赖版本信息与浮动格式栏特性
- 新增 MetonaSqlark 参考文档(docs/)
⚠️ 注意事项
- 升级后首次启动将使用全新的 MarkLiteV2 数据库,旧的标签页 / 设置 / 最近文件记录不会自动迁移(v0.4.5 及更早版本的数据将保留在旧库中不受影响)
📦 安装包
MarkLite Setup 0.5.0.exe— Windows x64 NSIS 安装包(支持自定义安装目录、桌面/开始菜单快捷方式)- 或通过
npm run build/npm run build:portable自行构建安装包或便携版
Downloads
-
v0.4.5 Stable
released this
2026-07-25 16:41:22 +08:00 | 20 commits to master since this releasev0.4.5 — Mermaid 图表渲染支持
新增 Mermaid 图表渲染
```mermaid代码块现在可以实时渲染为 SVG 图表,支持流程图、时序图、甘特图等全部 Mermaid 图表类型。依赖 版本 用途 mermaid 10.x 图表渲染引擎(npm 安装)
技术实现
保留 MarkLite 自研 unified Markdown 渲染管线,新增 rehypeMermaid 插件:
-
转换阶段(rehypeMermaid 插件,在 rehypeHighlight 之后运行)
- 查找
<pre><code class="language-mermaid">节点 - 替换为
<div class="me-mermaid"><div class="mermaid">容器 - 与 MetonaEditor 内置解析器输出格式完全一致
- 查找
-
渲染阶段(Editor.tsx)
- 模块顶层初始化
mermaid.initialize({ startOnLoad: false }) - 编辑器
afterRender事件 →mermaid.run({ querySelector: '.me-mermaid .mermaid' }) - 首次渲染
setTimeout兜底确保初始内容也触发
- 模块顶层初始化
-
管线完整性
- unified 管线全部保留:remarkParse → remarkGfm → remarkRehype → rehypeRaw → rehypeFixImages → rehypeSanitize → rehypeHighlight → rehypeMermaid → rehypeStringify
- 图片路径修复、XSS 防护、代码高亮均不受影响
支持的图表类型
- 流程图 (graph TD/LR)
- 时序图 (sequenceDiagram)
- 甘特图 (gantt)
- 类图 (classDiagram)
- 状态图 (stateDiagram)
- 饼图 (pie)
- Git 图 (gitGraph)
- 用户旅程图 (journey)
- ER 图 (erDiagram)
代码变更
文件 变更 package.json 版本 0.4.4 → 0.4.5,新增 mermaid@10 src/shared/constants.ts APP_VERSION → v0.4.5 src/renderer/lib/markdown.ts 新增 rehypeMermaid 插件 + 加入 unified 管线 src/renderer/components/Editor/Editor.tsx mermaid 初始化 + afterRender 绑定
质量保证
- TypeScript 严格模式:0 errors
- 单元测试:98/98 passed
- markdown 渲染测试:16/16 passed
- pre-commit hooks:eslint + tsc 全部通过
Downloads
-
-
v0.4.4 Stable
released this
2026-07-25 16:24:13 +08:00 | 21 commits to master since this releasev0.4.4 发行说明
依赖升级
依赖 旧版本 新版本 @metona-team/metona-editor 0.1.14 0.2.4 @metona-team/metona-toast 0.1.2 0.2.1
MetonaEditor 0.2.4 新增特性
编辑器配置增强
- syncScroll: true — 编辑区和预览区同步滚动
- wordWrap: true — 默认启用自动换行
- historyLimit: 100 / historyDebounce: 400 — 优化历史栈性能
- outline: false — 保留 MarkLite 自研大纲面板
新增预设插件
- shortcutHelp — 按 ? 弹出快捷键速查面板
新增回调事件
- onLinkClick(href, text, editor) — 预览区链接安全打开
- onFocus() / onBlur() — 编辑器焦点状态追踪
Markdown 解析器升级
- 支持
***粗斜体***语法 - 支持引用链接
[text][ref]和引用图片 - 支持链接内行内格式
- 支持 registerBlockHandler 自定义块级语法
编辑器实例 API 新增
- getStats() — 字符/单词/行数/中文字符/英文单词/阅读时间
- getHTML() / refresh() — HTML 获取与强制重渲染
- exec(action) — 程序化执行格式化命令
- toggleFullscreen() / toggleZen() / toggleWordWrap() — 视图切换
- undo() / redo() / canUndo() / canRedo() — 历史栈
- enable() / disable() / isDisabled() — 启用禁用
- use(plugin) / unuse() / getPlugins() — 插件管理
- registerShortcut() / unregisterShortcut() / getShortcuts() — 快捷键管理
- toast(msg, opts) — 编辑器内置 Toast
MetonaToast 0.2.1 新增特性
内置插件
- keyboard — ESC 一键关闭所有 Toast
- accessibility — 屏幕阅读器支持
新增配置项
- width: 360 — 统一 Toast 宽度
新增高级 API(可供未来集成)
- loading() → LoadingControl — 加载状态链式转换
- promise() — Promise 生命周期追踪
- confirm() / prompt() — 内置确认/输入对话框
- progress() → ProgressControl — 进度条通知
- countdown() — 倒计时通知
- queue() / stack() — 消息队列/堆叠
- action(msg, actions) — 内嵌操作按钮
- group(name) → GroupAPI — 按场景分组
- dismiss(id) / clear(position) — 精确控制
- 11 种入场动画
- 自定义主题注册 themes.registerTheme()
代码适配
- 移除 ExtendedEditorOptions 类型 hack
- 本地声明 EditMode/ThemeName 类型
- 适配 onModeChange 签名:(mode: EditMode) → (mode: string)
- 适配 onLinkClick 签名:({ href }) → (href, text, editor)
质量保证
- TypeScript 严格模式类型检查:0 errors
- 单元测试:98/98 passed(6 个测试文件)
Downloads
-
v0.4.3 Stable
released this
2026-07-24 20:59:43 +08:00 | 22 commits to master since this release🆕 依赖更新
- MetonaEditor 版本锁定:
^0.1.10→0.1.14(精确锁定) - 文档中所有 MetonaEditor 版本引用同步更新至
v0.1.14
🐛 Bug 修复
预览区内容无法鼠标拖拽选择/复制
问题现象:
- 在 Markdown 预览面板中,用户无法通过鼠标拖拽选中文本内容
- 导致无法复制预览区中的文字、代码等内容
根因分析:
src/renderer/styles/global.css中对html, body设置了user-select: none- 该 CSS 属性具有继承性,导致整个应用(包括预览区)的文字都无法被选中
- 该规则的原始目的是让工具栏、标签栏、侧边栏等 UI 控件不可被选中,营造更接近原生应用的体验
修复方案:
- 在
src/renderer/styles/global.css中新增 CSS 规则 - 为 MetonaEditor 的预览面板(
.me-preview)及其所有子元素显式设置user-select: text - 同时为编辑器中的
textarea恢复文本选择能力 - UI 控件区域的
user-select: none保持不变
修改文件:
src/renderer/styles/global.css— 新增预览区选择修复 CSS 规则(15行)package.json— 版本号更新 + MetonaEditor 版本锁定src/shared/constants.ts— APP_VERSION 常量更新README.md、DESIGN.md、DEVSETUP.md— 文档版本号同步
✅ 质量保障
- ✅ 全部 98 个单元测试通过(6 个测试文件)
- ✅ TypeScript 类型检查无错误
- ✅ ESLint 代码检查通过
- ✅ Prettier 格式化检查通过
Downloads
- MetonaEditor 版本锁定:
-
released this
2026-07-24 15:06:57 +08:00 | 24 commits to master since this releasev0.4.2 更新内容
依赖变更
- @metona-team/metona-editor: 0.1.3 -> 0.1.10
- 实例级主题 API (editor.setTheme())
- 新增配置项: lineNumbers / autoBrackets / autofocus / readOnly
- 新增插件: exportTool (导出 MD/HTML)
- 新增回调: onSave (原生 Ctrl+S 拦截)
- @metona-team/metona-toast: 2.0.1 -> 0.1.2
三主题系统
- 亮色 / 暗色 / 暖色 三主题循环切换,工具栏按钮显示当前主题名称
- 应用颜色通过 MeEditor.themes.exportCSSVars() 自动同步编辑器主题
- 侧边栏选中项使用 accent 12% 透明度背景,文字清晰可读
- 二级/三级背景色由文字色按透明度派生,适配任意编辑器主题
- Toast 通知主题同步切换
- 样式驱动: 移除 variables.css 中硬编码 .dark 色值,完全由 JS 动态同步
编辑器功能启用
- 行号装订线 (lineNumbers: true)
- 括号自动闭合 (autoBrackets: true)
- 自动聚焦 (autofocus: true)
- 预览模式只读 (readOnly 动态同步)
- 导出 MD/HTML 文件 (exportTool 插件)
快捷键优化
- Ctrl+S 双通道: 编辑器 onSave 回调 + 全局 keydown 兜底
- 300ms 防重入锁,避免双击或双事件触发重复保存
- 工具栏/侧边栏聚焦时 Ctrl+S 仍可正常工作
架构重构
- 主题模型: darkMode boolean -> themeMode 枚举 (light | dark | warm)
- Store: toggleDarkMode() -> cycleTheme() 三态循环
- 插件注册: PluginObject 引用 -> 字符串数组 (与 demo 一致)
- 主题同步: 30行手动CSS覆写 -> editor.setTheme() 实例级API (v0.1.5+)
测试
- 更新 editorStore 测试用例,覆盖 themeMode / cycleTheme
- 全部 98 个测试通过
修复
- 侧边栏选中项文字完全看不清的问题 (accent纯色背景+accent纯色文字 -> 12%透明度背景+纯色文字)
Downloads
- @metona-team/metona-editor: 0.1.3 -> 0.1.10
-
released this
2026-07-24 14:00:16 +08:00 | 25 commits to master since this releasev0.4.1 更新内容
核心依赖升级
- @metona-team/metona-editor: 0.1.3 -> 0.1.10
- 实例级主题 API (editor.setTheme())
- 新增配置项: lineNumbers / autoBrackets / autofocus / readOnly
- 新增插件: exportTool (导出 MD/HTML)
- 新增回调: onSave (原生 Ctrl+S 拦截)
三主题系统
- 亮色 / 暗色 / 暖色 三主题循环切换
- 应用颜色通过 exportCSSVars() 自动同步编辑器主题
- Toast 通知主题同步切换
编辑器功能启用
- 行号装订线 (lineNumbers)
- 括号自动闭合 (autoBrackets)
- 自动聚焦 (autofocus)
- 预览模式只读 (readOnly 动态同步)
- 导出 MD/HTML (exportTool 插件)
快捷键优化
- Ctrl+S 双通道: 编辑器 onSave + 全局 keydown 兜底
- 300ms 防重入锁,避免重复保存
架构重构
- 主题模型: darkMode boolean -> themeMode 枚举 (light|dark|warm)
- Store: toggleDarkMode() -> cycleTheme() 三态循环
- 插件注册: PluginObject 引用 -> 字符串数组
- 主题同步: 30行手动CSS覆写 -> editor.setTheme() 实例API
- 样式驱动: 移除硬编码 .dark 色值,JS 动态同步编辑器颜色
测试
- 全部 98 个测试通过
Downloads
- @metona-team/metona-editor: 0.1.3 -> 0.1.10
-
v0.4.0 Stable
released this
2026-07-23 22:58:57 +08:00 | 26 commits to master since this releasev0.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
-
v0.3.13 — MeToast 集成与全面质量修复 Stable
released this
2026-07-22 15:56:37 +08:00 | 28 commits to master since this releaseMarkLite v0.3.13 发布
本次版本聚焦于通知系统升级与全面质量修复,共变更 24 个文件(+170 / -387 行)。
✨ 新功能
- 集成 MetonaToast v2.0.0 — 用 MetonaToast 替换自研 Toast 组件,通知体验全面升级:
- 通知位置改为右上角(top-right)
- 显示倒计时进度条,用户可直观感知自动关闭
- 支持拖拽关闭、悬停暂停计时、点击关闭
- 主题与编辑器暗色模式自动联动(light/dark)
- 11 种动画效果、80+ 图标类型
- 新增
.npmrc.example模板 — 新开发者克隆后可参考配置 npm 镜像源
🐛 Bug 修复
- 侧边栏拖拽宽度未持久化 — 拖拽调整侧边栏宽度后刷新会丢失,现已修复:拖拽结束时同步写入 IndexedDB
- Ctrl+Tab 标签切换不符合 MRU 语义 — 正向 Ctrl+Tab 现在优先切换到最近使用的标签,与文档描述一致
- WYSIWYG 模式选区未恢复 — 切换标签后光标选区丢失,现已通过 EditorView 恢复 TextSelection(含越界夹紧保护)
🧹 代码清理
- 移除
useActiveHeading中未使用的 IntersectionObserver 死代码 - 删除旧版
#toast-notification及.toast-container等遗留 CSS 样式(约 130 行) - 合并
#tab-list重复定义的滚动条样式 - 移除
SearchReplace中重复的空检查语句
📝 文档同步
DESIGN.md同步实际架构:stores 3→5、editorStore 字段补全、sidebarStore 类型修正、依赖清单 CodeMirror→Milkdowndocs/optimization-*.json更新 techStack 与 PF-04 实现描述(CodeMirror→Milkdown)- 关于对话框与文档中的远程仓库地址更新为 Gitea(git.metona.cn/MetonaTeam/MarkLite)
🔧 技术细节
showToast(msg, type, duration?)签名与原实现完全兼容,调用方零改动- MeToast 自管理 DOM 与样式,无需在 React 树中挂载容器组件
- 全部通过 TypeScript 类型检查(0 错误)、ESLint(0 错误 0 警告)、96 个单元测试
完整变更: https://git.metona.cn/MetonaTeam/MarkLite/compare/v0.3.12...v0.3.13
Downloads
- 集成 MetonaToast v2.0.0 — 用 MetonaToast 替换自研 Toast 组件,通知体验全面升级: