功能价格文档博客
获取 mote
← 博客
设计·2026年8月9日·阅读需 3 分钟

粘贴图片时要经过确认卡片的理由

有没有过这样的经历:粘贴了截图,却不知道文件以什么名称创建在了哪里,文件夹也越积越大。mote 会在将图片写入磁盘前先询问一次,并在卡片上写明要将什么保存到哪里。

m
mote
在实时模式下选中图片的状态。边框和控制点会出现,而图片正上方会显示插入符所在行的原始链接。
在实时模式下选中图片的状态。边框和控制点会出现,而图片正上方会显示插入符所在行的原始链接。

Markdown 文档中没有图片。里面只写着图片所在的路径。实际文件位于文档外部的文件夹中。

因此,在粘贴图片的瞬间,编辑器就要做出重要决定。也就是是否创建文件、将其放在哪里,以及为它取什么名称。mote 不会背着用户做出这些决定。

按下保存后才会创建文件

粘贴剪贴板中的图片时,会出现确认卡片。卡片上首先会显示即将创建的文件的相对路径。

assets/plain-20260907-181756.png

文件名中包含文档名称和粘贴时间。这样很容易看出图片来自哪个文档,即使粘贴多张图片,也不会相互覆盖。默认文件夹是 assets,可以在设置中更改。

按下保存后,会在该位置以原子方式写入 PNG,并在插入符位置插入链接。如果取消,则不会创建文件。

粘贴确认卡片。显示了即将创建的文件的相对路径 assets/plain-20260907-181756.png,只有按下保存后才会创建文件。
粘贴确认卡片。显示了即将创建的文件的相对路径 assets/plain-20260907-181756.png,只有按下保存后才会创建文件。

如果文档尚未保存,则会先提示保存文档。因为只有确定了文档的位置,才能确定图片的相对路径。

将图片文件拖放到窗口中时,不会复制该文件。如果文件位于文档文件夹内,则插入相对路径;如果位于文件夹外,则插入绝对路径。编辑器不会擅自更改用户已经放置好的文件位置。

更改大小时会记录在文档中

在实时模式下选中图片后,会出现边框和八个控制点。拖动角上的控制点时会保持比例,拖动边上的控制点时只会沿一个方向改变大小。拖动期间会以像素为单位显示预计大小。

松开控制点后,大小会记录在 alt 文本的末尾。

  • 如果只更改了宽度,则为 |300
  • 如果分别更改了宽度和高度,则为 |300x200

由于采用了与 Obsidian 相同的方式,因此在那里也会以相同大小显示。大小变更会保留在编辑记录中,只需撤销一次即可取消。

这种语法不属于 CommonMark 标准。在不支持它的查看器中,|300 可能会显示为 alt 文本的一部分。即便如此,我们还是决定不把大小信息隐藏在单独的文件中。因为我们认为文档的状态应该保留在一个 .md 文件里。

不会立即删除未使用的图片

如果删除或撤销已粘贴图片的链接,可能只剩下 PNG 文件。这时,mote 会询问一次是否要将文件移至回收站。它不会未经许可就删除文件,也不会针对同一个文件再次询问。

处理对象仅限于当前编辑会话中由 mote 创建的文件。它不会触碰原本就在文件夹中的图片,也不会触碰用户亲自添加的文件。它也不会遍历文件夹寻找未使用的图片。

我们只整理自己创建的文件,并且会征得用户同意。

不会修改原图

mote 不会将图片上传到外部。它也不提供裁剪、旋转或校正功能。

仅在绘制到屏幕上时,才会缩小后解码,使任意一边都不超过 2048 px。解码后的像素最多只保留 64 MB,超出后会从最旧的开始丢弃。这样做是为了避免在包含大量照片的文档中内存持续增长。

即使在这个过程中,原始文件也不会发生变化。

mote 只有在一种情况下会在文档文件夹中创建新文件。那就是粘贴图片并由用户按下保存时。写入文档的内容也只有直接输入的文字、图片链接和图片大小。每次发布新版本时,都会在变更记录中公开这份清单。

图片是位于文档外部的文件。是否创建、是否保留、是否清理,都应该由用户而不是编辑器来决定。

← 较早为了在任何安装方式下都保持相同外观,我们决定内置 GTK较新 →不使用 Web 引擎绘制出真正玻璃效果的搜索卡片
通过RSS持续关注。
只留下文字
简体中文
© 2026 mote