思源笔记能不能集成一个图片压缩插件?

本贴最后更新于 1450 天前,其中的信息可能已经物是人非

在使用思源笔记时,是不是有这样的问题:

  1. 笔记中图片太多,造成笔记数据太占空间。
    如: 软件占用空间多 - 链滴 (ld246.com)
  2. 思源笔记的云空间大小有限,要想在有限的空间内多放笔记。

比较有效的方法之一是压缩插图的体积:

  1. 集成类似这个网站的功能 TinyPNG – Compress WebP, PNG and JPEG images intelligently,我试了一下,许多图片可以减少 75% 左右的存储空间。这意味着我们可以多装 4 倍笔记。
  2. 在缩小图片后再次压缩。上面的 75% 是在不缩小图片尺寸的情况下的压缩比,而事实上压缩的参数还可以考虑图片在笔记中的缩小倍数。因为大多数时假插图在笔记中是以小于 100% 的比例显示的,那么将这个因子算进去,对有些图片又可压缩数倍;
  3. 计算图片的存储容量/尺寸比值,当这个值当这个值大于某个设定的值时,显示压缩提示。将压缩按钮放在图片右上角,可以单个操作。

这个工具有没有人做呢?没人做的话,就只能手动操作了。先谢谢了!


利用 TinyPNG 的手工操作方法:

  1. 打开 TinyPNG 网站;
  2. 打开思源笔记本地 data\asset\ 目录,
  3. 按图片大小或日期排序,将想要压缩的图片全部选中拖拽到 TinyPNG 中接收图片的框,等待处理;
  4. 依次点击处理后的图片下载链接,保存到本地(自动保存在默认位置,不需要修改任何设置和名字);
  5. 将所有下载的处理后的图片拖拽到 data\asset\ 目录,覆盖原文件
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    28446 引用 • 119789 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    11155 引用 • 50666 回帖 • 52 关注
3 操作
buzzingbee 在 2022-01-02 10:27:20 更新了该帖
buzzingbee 在 2022-01-02 09:00:57 更新了该帖
buzzingbee 在 2022-01-02 08:58:09 更新了该帖

相关帖子

被采纳的回答

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • utools 有压缩整个文件夹图片的功能,每个月压缩一次就好了

    1 回复
  • 其他回帖
  • buzzingbee
    作者

    排除旧文件有几个好处:

    1. 加快处理进度,例如当文件数量达到 10000 个时,新文件只有 100 个,那么排除旧文件可以节省 100 倍的时间;
    2. 有利于增量备份。虽然已压缩的文件从压缩比上不能进一步压缩,但反复压缩会不会造成质量损失还不好说,但多半会重新生成一个文件。这就又要增量备份一次。
    3. 有利于不重复同步到云空间。理由同上。
  • 88250 1

    目前暂时不会考虑集成,先在外部处理吧。

  • vy2FqItPusOA

    没看到有关 assets 里图片压缩的进一步讨论,不过今天测试了下,发现有个简单的处理方式,只要用图片处理工具转换为 webp 格式,但保持原来的 png 文件名不变就行。测试下来,对于截图类型的 png,在不影响获取图片信息的前提下,压缩比可以达到 90% 以上。思源客户端和通过 chrome 访问暂时没有发现什么异常。

    1. 先把 data\assets 中需要压缩的 png 图片复制出两份,比如分别复制到 temp1 和 backup 目录下
    2. 对 temp 中的 png 图片用 irfanview 的 batch Conversion/Rename 功能,转换为 webp 格式,重命名为 png 文件,覆盖 assets 下的 png 文件。
    3. 因为我保存到思源笔记中的大部分是屏幕截图,所以选择 web 的 picture 预设,其他默认,quality 75。

    irfanview 的操作如下:

    1. 打开 batch Conversion/Rename 界面
    2. 先选择 Batch conversion
    3. 在文件选择框中进入 temp 目录,文件名中输入*.png,回车,然后全选,点击下方的 add,加入 input files
    4. Output format 设为 webp,预设可以参考上面,也可以自己根据平时保存的图片类型进行调试
    5. 点击 Use current ('Look in') folder
    6. 点击 Start Batch,弹出对话框,开始转换,会在 temp 目录下生成所有文件名相同,后缀为 webp 的文件
    7. 完成后,确认无 error,点击 return to batch
    8. 选择 Batch rename
    9. 点击 remove all,和上面相同方式添加 webp 文件到下方 input files
    10. Name pattern 中填入 $N.png,点击旁边 Options,选择 Rename original/input ...,选择 Overwrite existing ...,点击 ok
    11. 进入 temp 目录,找到并手工删除所有 png 文件
    12. 点击 Start Batch,将所有 webp 后缀名改为 png 后缀名
    13. 使用 temp 目录中的 png 文件覆盖 data\assets 中的 png 文件

    测试结果,本地客户端和远程浏览器访问,打开正常显示。转换前 88 个 png 文件,大小 20.5MB,转换后 2.07MB

    后续新增的 png 文件,就自己筛选出来,比如根据日期,进行转换。

  • 查看全部回帖

推荐标签 标签

  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 686 关注
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 152 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    502 引用 • 1397 回帖 • 241 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 74 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    11 引用 • 15 回帖
  • 996
    13 引用 • 200 回帖 • 6 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    4 引用 • 16 回帖 • 200 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    78 引用 • 37 回帖
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    85 引用 • 324 回帖
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    337 引用 • 324 回帖 • 4 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 799 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1062 引用 • 3456 回帖 • 124 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 1 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 350 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    60 引用 • 22 回帖 • 2 关注
  • OnlyOffice
    4 引用 • 41 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    151 引用 • 257 回帖 • 1 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 623 关注
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 1 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 72 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 234 回帖 • 1 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 694 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4602 回帖 • 731 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    9 引用 • 75 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 51 关注