• thzxx released this 2026-07-22 15:56:37 +08:00 | 28 commits to master since this release

    MarkLite 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→Milkdown
    • docs/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