-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[功能增强]移除无用图片 #2329
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
还有两个
|
|
可以理解。vnote是使用hash生成的方式为插入图片命名是吧?这样有什么用意吗?我注意到vnote2的时候还是使用的 |
仅仅是想避免冲突(比如复制的时候,同一个文件夹其他笔记的命名冲突),但其实没有必要,时间就很随机了。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
原因: 对于一个相同的图片,如果我们在每个笔记中都为其创建一个副本,用作引用,这会极大的耗费硬盘.......首先我们在进行写作时,80%以上的可能,同一张图片在同个目录下引用为多
vx_images/xxxx.png
,很少出现跨目录的引用../../vx_images/xxxx.png
. ├── a.md ├── b.md ├── subfolder │ ├── c.md │ ├── d.md │ └── vx_images │ └── halo.png └── vx_images └── halo.png
首先,我们为vnote定义一个规范
一个笔记所引用的图片,应该保存在同级目录的vx_images文件夹中
也就是说: vnote可以将
vx_images/xxxxx.png
视为一个规范的图片相对路径引用,其它的../vx_images/xxxxx.png
视为不规范的(不规范仅代表vnote不会去维护这样的链接,只会维护插入图片后生成的相对链接)现在我们有了规范,根据规范出发,上图
a.md
和b.md
只能引用./vx_images/halo.png
;c.md
和d.md
只能引用./subfolder/vx_images/halo.png
(尽管两个halo.png是相同的内容,但是因为处在不同的目录,所以将笔记对象划分成了两份)我理解vnote没有一个强大的数据库管理整个笔记本的文件内容变动,但是如果我们指定一个小的规范,那么我们需要关注的范围,就从整个笔记本,缩小到了一个文件夹(而且是忽略子文件夹)中....
我注意到vnote创建笔记本时,为每个子目录设立了vx.json,是否可以类比为每个文件夹创建一个images.json,以当前目录
vx_images
内的图片名做key,当前目录中引用该图片的笔记做value,做一个简单的映射关系.......vnote已经有了一个基础,那就是关闭文件时,对修改前后内容做一个diff
,那么将diff的结果扩展到维护images.json
的映射关系,是不是就可以实现移除无用图片
这个功能的增强了?当然这只是我的一个设想,没有考虑这样是否会影响到vnote的运行效率,也没有考虑实现的难度......
The text was updated successfully, but these errors were encountered: