Skip to content

V2.1.0

Choose a tag to compare

@A-BenLi06 A-BenLi06 released this 15 Dec 03:53
· 21 commits to master since this release
  1. 修复了markdown预览在新文件输入时无法换行的bug,

本次更新主要集中在 MarkdownRenderService.cs,旨在修复 WebView 的布局问题并优化视觉体验。

核心修复

修复长文本不换行问题: 在注入的 CSS 中添加了 word-wrap: break-word 和 overflow-wrap: break-word,解决了连续无空格字符(如长 URL 或测试文本)导致页面横向撑开的问题。

修复 WebView 闪烁: 在 JS 更新逻辑中引入了 minHeight 锁定机制。在替换 HTML 内容前锁定容器高度,防止因 DOM 瞬间清空导致的滚动条跳动。

样式优化

图片响应式: 新增 img { max-width: 100%; ... } 样式,确保大尺寸图片自动缩放以适应编辑器宽度,不再撑破布局。

深色/浅色主题适配: LoadSkeletonAsync 方法现根据 ElementTheme 动态注入背景色 (bgColor) 和文字颜色 (bodyColor),消除深色模式下加载时的“白屏”闪烁。

代码块与表格优化: 优化了 pre 和 table 的样式,增加了圆角和独立的横向滚动条,防止代码或表格内容影响整体页面布局。

GitHub 风格提示框 (Alerts): 在 JS 后处理中增加了对 [!NOTE] 和 [!WARNING] 语法的解析,将其渲染为带颜色的警告框。

技术细节

Base64 解码增强: 采用了 UTF-8 兼容的 Base64 解码方案 (decodeURIComponent(escape(window.atob(...)))),解决了中文乱码问题。

IE11 兼容性: 在 HTML 头中显式声明了 ,确保 Windows 8.1 WebView 使用最新的渲染模式。

  1. 使用MarkDig的 .UseSoftlineBreakAsHardlineBreak() 方法将单个enter视为换行.

  2. 双轨制渲染, 现在预览看到的是实时的预览了.

  3. 删去了appbar里的Remove键, 因为功能和标签页旁边的X重复了

5, Richeditbox下方新增安全区用于呼出appbar

  1. 新增了wp app

  2. 修复按下tab无法缩进的bug(windows phone下无效)

  3. 新增撤销(appbar与ctrl z)

  4. webview和richedit 不在一起的时候打字很卡 --- 使用split view同步滚动功能来修复(并没有彻底修复)(推测是双轨制渲染的实时部分导致整个页面实时刷新而非一行)

  5. 使用了ie11兼容的hightlight.js v9.18.5, 修改代码高亮样式为atom-one-light/dark(ie11不支持tokyo night的css写法)

  6. 加入自动保存机制, 可在charmbar的设置里选择是否开启以及自定义频率

  7. 添加了保存时的progress bar(没弄好,不显示)

  8. 修复了wp app的返回键功能

  9. wp app的autosave设置放到首页

  10. 调整rich editbox 字体大小设置逻辑, 更为健壮 升级 ApplyEditorFormatting 方法:加入了“强制覆盖全文格式”的逻辑。这是解决 SetText 后字体回退的根本方案。它不仅设置默认输入格式,还会抓取当前全文范围(Range),强行把字体刷成 Consolas,但保留高亮颜色。

完善调用链:在 OpenFileAsync 中补上了 ApplyEditorFormatting() 的调用(之前漏了,导致打开文件时字体可能不对)。

异常保护:给格式设置加上了 try-catch,防止 COM 组件底层偶发异常导致崩溃。

  1. 修改 wp app的导出格式为...菜单里的平铺

计划添加

  1. 主题功能, 支持用户自由上传首页主题图片,支持对接bing每日 自动缩放, 深色/浅色加上 半透明黑色/白色遮罩
  2. 重绘图标
  3. 改名为MarkBlocks