thzxx
|
7a4e2b0a67
|
v0.2.0: 全面代码质量优化
- ESLint flat config + Prettier + EditorConfig
- Markdown处理器LRU缓存
- Zustand选择器优化减少重渲染
- CodeMirror Compartment主题热切换
- Preview防抖(150ms) + IndexedDB去抖(500ms)
- 组件拆分: App.tsx 310→104行, Sidebar.tsx 244→90行
- 统一错误处理 errorHandler.ts
- ConfirmDialog替代原生confirm
- LoadingSpinner加载状态
- Toast多条堆叠+类型区分
- 可访问性增强(ARIA属性、键盘导航)
- Vitest测试框架(78个测试用例)
- Git hooks(husky + lint-staged)
- 项目文档(README.md, CONTRIBUTING.md)
|
2026-06-03 22:13:32 +08:00 |
|
thzxx
|
3cecb0f9eb
|
v0.1.1: 多Agent代码质量审查+优化
- fix: useCodeMirror onChange闭包过期导致编辑器内容丢失同步(P0)
- feat: 全部组件添加displayName(React DevTools调试支持)
- feat: 全部组件添加ARIA属性(WCAG无障碍支持)
- fix: App异步操作添加try-catch错误边界
- fix: tabStore空catch块添加错误日志
- fix: sidebarStore Set→string[](Zustand可序列化)
- fix: useDragDrop readFile错误处理+空文件修复
- fix: useSettings/useTheme load()添加错误处理
- fix: useTheme toggleDarkMode引用优化
- chore: 版本号升级至0.1.1
|
2026-06-03 21:02:56 +08:00 |
|
thzxx
|
03a71bdf94
|
feat: 添加 Gitee 按钮、关于弹框,版本号改为 v0.1.0
- 工具栏右侧新增 Gitee 图标按钮,点击跳转项目主页
- 工具栏右侧新增关于按钮,点击打开关于弹框
- 关于弹框展示:应用图标、版本号、功能特性、技术栈、版权信息
- 点击弹框外部或关闭按钮可关闭弹框
- 版本号从 v2.0.0 改为 v0.1.0
|
2026-05-28 15:38:29 +08:00 |
|
thzxx
|
ddbe814238
|
feat: 重写滚动同步为 VS Code 方案(data-line + 二分查找)
核心变更:
- 新增 rehypeSourceLine 插件:利用 unified AST position 信息,
给渲染后的块级元素注入 data-line 属性,标记源文件行号
- 重写 scrollSync.ts:用二分查找替代正则匹配 identifyBlockStarts,
精确映射行号→预览 DOM 位置,线性插值填充行间偏移
- useCodeMirror.ts:onScroll 从 ratio 改为行号派发,
使用 CodeMirror 的 lineBlockAtHeight 精确计算当前行
- Preview.tsx:双向同步(编辑器→预览 + 预览→编辑器)
- Editor.tsx:监听 preview-scroll 事件实现反向同步
原理:与 VS Code Markdown 预览滚动同步方案一致
- 渲染时:AST position → data-line 属性
- 滚动时:二分查找 [data-line] 元素 → 线性插值滚动位置
|
2026-05-28 11:09:58 +08:00 |
|
thzxx
|
1cc4206b32
|
feat: 替换 textarea 为 CodeMirror 6 编辑器
新增功能:
- CodeMirror 6 专业编辑器替代原生 textarea
- 语法高亮(Markdown 专用)
- 行号(内置,精确同步)
- 代码折叠(foldGutter)
- 括号匹配
- 多光标选区(rectangularSelection)
- 内置搜索高亮(highlightSelectionMatches)
- undo/redo 原生支持(history)
- Tab 缩进(indentWithTab)
- 暗色主题(oneDark)
新增文件:
- useCodeMirror.ts: CodeMirror 初始化 Hook
- EditorToolbar.tsx: 格式化工具栏(B/I/S/标题/列表/引用/代码/链接/图片)
- Editor.tsx: 重写为 CodeMirror 组件
格式化工具栏按钮:
- 粗体/斜体/删除线/行内代码
- H1/H2/H3 标题
- 无序列表/有序列表/引用/代码块
- 链接/图片
快捷键:
- Ctrl+B 粗体
- Ctrl+I 斜体
|
2026-05-27 23:04:05 +08:00 |
|
thzxx
|
5e1c89d280
|
refactor: v2.0 全量重构 — TypeScript + React + Zustand + IndexedDB
技术栈升级:
- JavaScript → TypeScript 5.6(全量类型安全)
- 原生 DOM → React 18(函数组件 + Hooks)
- 全局变量 → Zustand 5(轻量状态管理)
- localStorage → IndexedDB / Dexie.js 4(大容量、异步、索引)
- marked.js → unified / remark / rehype(插件化渲染管线)
- 无打包 → electron-vite 3(HMR 热更新)
- 纯 CSS → CSS Variables + CSS Modules
新增功能:
- 标签页状态 IndexedDB 持久化(关闭后可恢复)
- 最近打开文件列表
- 大文件虚拟化行号(>2000 行)
- 搜索高亮二分查找优化 O(log N)
- rehype-sanitize HTML 安全过滤
文件结构:
- 7 个源文件 → 51 个模块化文件
- src/main/ 主进程(6 文件)
- src/preload/ 预加载(1 文件)
- src/renderer/ 渲染进程(42 文件:组件/hooks/stores/lib/db/types/styles)
- src/shared/ 共享类型(2 文件)
构建验证:
- TypeScript 检查零错误
- electron-vite build 成功
- 产物:main 15kB + preload 2kB + renderer 1.5MB
|
2026-05-27 20:29:23 +08:00 |
|
thzxx
|
eb05e9d1b1
|
fix: 搜索高亮跟随滚动同步 + 行号动态行高测量修复 v1.2.1
|
2026-05-27 17:34:30 +08:00 |
|
 thzxxandGitee
|
f6b247d364
|
Revert "release: v1.3.0 版本发布,更新文档与更新日志"
This reverts commit 2716a7d320.
|
2026-05-21 06:17:16 +00:00 |
|
thzxx
|
2716a7d320
|
release: v1.3.0 版本发布,更新文档与更新日志
|
2026-05-21 13:44:32 +08:00 |
|
thzxx
|
543af93802
|
feat: v1.2.0 搜索替换 + 文件树侧边栏
|
2026-05-21 11:37:02 +08:00 |
|
thzxx
|
b18a2b7e12
|
版本号升至 1.1.0
|
2026-05-18 13:37:10 +08:00 |
|
thzxx
|
fda3e5987d
|
Initial commit: MarkLite Markdown Reader
|
2026-05-18 10:40:11 +08:00 |
|