v3.6 —— 实时编辑模式的块级渲染,加 5 处打磨
v3.6 补齐 v2.3 起一直留着的实时编辑缺口:整行图片和 GFM 表格现在能在编辑器里直接渲染,光标进入即源代码恢复。 随这个特性一起带 5 处打磨 —— 都是 v3.5.5 之后用户反馈拢一拢的:AI 设置跳转、PNG 导出尺寸、 可选水印、文件夹记忆、Mac 工具栏溢出。
🔨 #44 —— 实时编辑下的图片 / 表格块
实时编辑模式(工具栏那个笔尖图标)会把 markdown 源码直接套上格式
显示在编辑器里。但有两类块级元素一直没渲染:仅含
 的整行图片显示成裸源码,GFM 表格也只是
竖线分隔的纯文本。
v3.6 加了一个新的 CodeMirror 6 块级 decoration 扩展,文件在
app/src/lib/cm-live-blocks.ts:
- 整行内容是图片(前后没有别的文字)的行,会折叠成
一个真的
<img>。图片 src 走预览面板同款的resolveImageSrc,相对路径相对工作区 + 当前笔记 所在目录解析。 -
表头行 + 分隔线(
|---|/|:---:|)+ 至少一行内容的 GFM 表格块,会折叠成真正的<table>,跟预览面板走同一条 markdown-it 管线。
两种 widget 在光标进入匹配区任意一行的瞬间就会卸载 —— 不需要切换 视图模式,编辑时看源、移走光标看渲染。decoration 在文档变更、 选区变化、视口滚动时都会重新生成,反应即时。
为什么图片只匹配整行而不是行内?因为替换行内图片会把一段话 在中间劈开,破坏源码的自然阅读流。实时编辑的整个意义就是源码 始终一个光标距离 —— 突然把行内图片折叠掉反而违背这个直觉。
✅ 5 处打磨
每一项都不大,但 v3.5.5 之后这些堆得太多了,一并解决:
- AI 按钮跳错设置位置。之前 AI 没启用时点工具栏
AI 按钮,会跳到设置面板的默认基础分类 —— 但 AI 开关
实际住在集成分类。
solomd:open-settings事件现在带可选的detail.section,AI 入口(工具栏 + AI 改写浮窗)都传'integrations',直接落到 AI 这一块。 - 图片导出按内容裁剪。短笔记导出时底部会有大块
空白 —— 之前 html2canvas 抓的范围超出了渲染区域。修法:从
getBoundingClientRect()显式拿width / height / windowWidth / windowHeight传给 html2canvas,画布尺寸严格匹配 DOM。 - "Created with SoloMD" 水印做成选项。之前是硬编
码在每张导出 PNG 上的。免费 MIT 应用做点温和宣传不过分,但
应该让用户可以关,而不是强制。新设置
imageExportBranding(默认开),在 设置 → 导出里可关;关掉后导出就不带 footer, 底部 padding 也收紧,短笔记不再带幻觉留白。 - 文件夹选择器记住上次工作区。
useFiles.openFolder()现在把defaultPath: workspace.currentFolder传给 Tauri 文件夹对话框。之前没传,每次开 picker 都从系统默认位置 开始,无视 SoloMD 已经加载的工作区。 - Mac 窄窗口工具栏溢出。当窗口窄到工具栏自然宽度
放不下时,右侧关键按钮(AI / Sponsor / 设置)会被默默裁掉。
.toolbar现在overflow-x: auto+ 隐藏滚动条 + 每个子项flex-shrink: 0; 任意窗口宽度下右侧按钮都能用双指滑触达。
📥 下载
v3.0.x 及以上的用户会在 24 小时内看到应用内升级提示。Mac 也可以
brew upgrade --cask solomd。CLI / MCP server 同步
bump 到 3.6.0。
下一步 —— v3.7
iPad / Mac App Store 重新提交是接下来的优先项。再往后 v4 主线 继续 agent endpoint 思路(CLI + MCP + BYOK)—— 关注 Discussions 看动向。