obsidian-note-synchronizer
obsidian-note-synchronizer copied to clipboard
列表中的本地图片同步至Anki后无法显示
首先,非常开心现在可以在Anki中直接看到Obsidian里的本地图片了,谢谢!
我的大多数带本地图片的卡片同步到Anki后都能正常显示,但插在有序列表中的图片没办法正常显示。比如下图是在Obsidian中一个笔记的源码视图
在Obsidian中对应的预览视图是下面这样,可以看到图片是可以正常显示的
但是同步到Anki之后却变成了下面这样,图片变成了一个破碎图片的图标。
在Anki里检查该卡片的HTML代码发现原因在于:图片名称前面莫名其妙加了三个空格符(下图下划蓝线那里),Anki找不到以此命名的图片肯定是不能显示咯。
是否可以把这里修正一下,让列表中的本地图片也能正常显示?
再举个例子,下面是Obsidian里的源码,里面的图片在Obsidian里都能正常显示,模板用的是从Anki同步过来的basic.md
---
mid: 1669867759025
nid: 1680971990720
tags: []
date: 2023-04-08 10:55
---
![[德法意.png]]
1. 德国法国意大利是西欧大陆最大的三个国家。
2. 法国在西部,西临北大西洋;德国在中部,北临北海和波罗的海;意大利在南部,像个高跟靴伸出在地中海中。
3. 法国。法国和英国之间是英吉利海峡,和多佛尔海峡。首都巴黎在法国北部中间,位于塞纳河上,塞纳河通到英吉利海峡。
4. 德国。首都柏林位于东北部。
5. 德国和法国之间
1. 荷兰,挨着德国。首都阿姆斯特丹位于一个小海湾上。
2. 比利时,挨着法国。首都布鲁塞尔位于比利时中部。
3. 卢森堡。德国比利时法国中间一个微小国家。
![[德法之间的小国.png]]
6. 意大利。首都罗马位于高跟靴筒的西侧膝盖处,离海岸线较近,旁边是梵蒂冈。威尼斯在亚得里亚海的西北角,高跟靴筒大腿根处。西西里岛在地中海里,好似高跟靴鞋尖踢着的一块石头。还有一个撒丁岛,位于西地中海的中央,其北侧是法国的科西嘉岛。
![[法意之间.png]]
7. 德意法三国之间夹着瑞士,国土面积和荷兰比利时相若,纯内陆国家。首都伯尔尼。
下面是同步到Anki后的源码,你看,这几个png图片的文件名前面都被加上多余的字符,导致这张卡片的3张图片都无法在Anki里显示。注意,其中第二个图片“德法之间的小国.png”前面除了空格还加了%09,这个不知道是啥子字符
<img src="%20%20%20德法意.png">
1. 德国法国意大利是西欧大陆最大的三个国家。
2. 法国在西部,西临北大西洋;德国在中部,北临北海和波罗的海;意大利在南部,像个高跟靴伸出在地中海中。
3. 法国。法国和英国之间是英吉利海峡,和多佛尔海峡。首都巴黎在法国北部中间,位于塞纳河上,塞纳河通到英吉利海峡。
4. 德国。首都柏林位于东北部。
5. 德国和法国之间
1. 荷兰,挨着德国。首都阿姆斯特丹位于一个小海湾上。
2. 比利时,挨着法国。首都布鲁塞尔位于比利时中部。
3. 卢森堡。德国比利时法国中间一个微小国家。
<img src="%09%20%20%20德法之间的小国.png">
6. 意大利。首都罗马位于高跟靴筒的西侧膝盖处,离海岸线较近,旁边是梵蒂冈。威尼斯在亚得里亚海的西北角,高跟靴筒大腿根处。西西里岛在地中海里,好似高跟靴鞋尖踢着的一块石头。还有一个撒丁岛,位于西地中海的中央,其北侧是法国的科西嘉岛。
<img src="%20%20%20法意之间.png">
7. 德意法三国之间夹着瑞士,国土面积和荷兰比利时相若,纯内陆国家。首都伯尔尼。
话说上面这个例子里第一个图片“德法意.png”不能正常显示是有点诡异的,因为它并不在列表中,按道理是应该正常显示的。我之后新建了一个笔记,直接打头插入这个图片(而不是从原笔记里复制markdown过去),然后把后面的文字内容复制过去,是能正常显示第一张图片的(后面两张列表中的图片还是不能在Anki显示)。
感觉是Obsidian里有什么隐藏的我看不到的标志标记了我这个笔记里的第一行属于列表,而属于列表的图片同步到Anki后都会被篡改文件名,然后,,就啥都看不着了,,
还有一个诡异的例子。注意这个和二楼不是同一个笔记,虽然内容一样,看笔记时间可以区分。下面是Obsidian里的Markdown
---
mid: 1669867759025
nid: 1682271535028
tags: []
date: 2023-04-23 13:38
---
![[德法意.png]]
1. 德国法国意大利是西欧大陆最大的三个国家。
2. 法国在西部,西临北大西洋;德国在中部,北临北海和波罗的海;意大利在南部,像个高跟靴伸出在地中海中。
3. 法国。法国和英国之间是英吉利海峡,和多佛尔海峡。首都巴黎在法国北部中间,位于塞纳河上,塞纳河通到英吉利海峡。
4. 德国。首都柏林位于东北部。
5. 德国和法国之间
1. 荷兰,挨着德国。首都阿姆斯特丹位于一个小海湾上。
2. 比利时,挨着法国。首都布鲁塞尔位于比利时中部。
3. 卢森堡。德国比利时法国中间一个微小国家。![[德法之间的小国.png]]
6. 意大利。首都罗马位于高跟靴筒的西侧膝盖处,离海岸线较近,旁边是梵蒂冈。威尼斯在亚得里亚海的西北角,高跟靴筒大腿根处。西西里岛在地中海里,好似高跟靴鞋尖踢着的一块石头。还有一个撒丁岛,位于西地中海的中央,其北侧是法国的科西嘉岛。![[法意之间.png]]
7. 德意法三国之间夹着瑞士,国土面积和荷兰比利时相若,纯内陆国家。首都伯尔尼。
同步到Anki之后,HTML变成下面这样:
<img src="德法意.png">
<ol>
<li>德国法国意大利是西欧大陆最大的三个国家。</li>
<li>法国在西部,西临北大西洋;德国在中部,北临北海和波罗的海;意大利在南部,像个高跟靴伸出在地中海中。</li>
<li>法国。法国和英国之间是英吉利海峡,和多佛尔海峡。首都巴黎在法国北部中间,位于塞纳河上,塞纳河通到英吉利海峡。</li>
<li>德国。首都柏林位于东北部。</li>
<li>德国和法国之间
<ol>
<li>荷兰,挨着德国。首都阿姆斯特丹位于一个小海湾上。</li>
<li>比利时,挨着法国。首都布鲁塞尔位于比利时中部。
<img src="%093.%20卢森堡。德国比利时法国中间一个微小国家。德法之间的小国.png"></li>
</ol>
</li>
<li>意大利。首都罗马位于高跟靴筒的西侧膝盖处,离海岸线较近,旁边是梵蒂冈。威尼斯在亚得里亚海的西北角,高跟靴筒大腿根处。西西里岛在地中海里,好似高跟靴鞋尖踢着的一块石头。还有一个撒丁岛,位于西地中海的中央,其北侧是法国的科西嘉岛。</li>
</ol>
这个卡片里,第一个图片能正常显示,第二三张图片不能正常显示。这些符合之前分析的规律。离奇的是,注意看,Obsidian笔记里最后一段(第7点)生生被省略掉了,Anki里同步过去的文本少了最后一段!
综上,感觉包含图片的列表在同步到Anki时会出现各种各样的问题。