[Obsidian] html本地图片无法显示问题

问题

最近下载某谷的学习笔记,发现里面的md文件里的图片格式居然是html和md语法混用, 比如:

方式1(html):

html 复制代码
<img src="images/1681181342911.png" alt="1681181342911" style="zoom: 67%;" />

方式2(md):

scss 复制代码
![1681177316138](images/1681177316138.png)

用Typora打开这些文件,图片是能正常显示的。但对于我这种Obsidian重度患者来说,当看到图片在Obsidian里不是显示成一个默认显示不出来的图标(方式1)就是白屏卡顿(方式2在[]里直接写过大的数字会导致Obsidian渲染图片出错,直接白屏显示不出后面的内容),就觉得很神奇,于是上网搜以及问了某群群友,总结思路如下

思路

思路1:将相对路径改为绝对路径

images然后替换为其在本地的绝对路径即可

不过这种方式以后比较难迁移,不建议

思路2:将html标签改为md语法

  • 思路1:Obsidian插件
    我搜到的只有将html文件转为md文件的插件或软件,所以我没有实践该思路。希望有大佬以后能提供相应插件
  • 思路2:python脚本
    这里提供链接:zhuanlan.zhihu.com/p/608801561 有兴趣的可以尝试,想在Obsidian里运行python脚本应该还要下个Template插件。这个我也没实践
  • 思路3:正则替换
    我是用这个方法解决的,该思路来源于群友回答,非常感谢
  1. 群友是通过Quicker进行正则替换的(因为Obsidian的原生替换不支持正则),提供的正则表达式如下:
css 复制代码
查找匹配:
(?<!\\)\<img .*src\=\"(?<src>.+?[^\\])\".*[^\\]\/\>

替换为:
![]($1)

一开始我没用这个正则,而是去Chatgpt问,Chatgpt提供的查找匹配如下:

ini 复制代码
<img\s+src="([^"]+)"\s+alt="([^"]*)"\s*style="zoom:\s*([^"]+);"[^>]*>

结果有的图片居然匹配不到,我也不知该如何评论Chatgpt了

  1. 然后通过Obsidian的插件regex find/replace即可替换

但是我发现Typora居然支持正则替换,于是最后我是用Typora替换才导入Obsidian的,就不用装插件什么的了

总结如下:

  1. 替换html标签图片
css 复制代码
查找匹配:
(?<!\\)\<img .*src\=\"(?<src>.+?[^\\])\".*[^\\]\/\>

替换为:
![]($1)
  1. 替换[]里有数字的图片
css 复制代码
查找匹配:
!\[\d+\]

替换为:
![]

略有不足的就是替换html标签图片时没能将缩放比例也保存下来,问了Chatgpt,它给的正则如下:

ini 复制代码
替换为:
![${2}](${1}){width=$3px}

但是无法生效,而且要注意的是${2}是数字不能直接放[]里,不然直接白屏卡顿,Obsidian的像素宽其实应该放在[]里,用|隔开,官方示例如下:

less 复制代码
![Engelbart|100](https://history-computer.com/ModernComputer/Basis/images/Engelbart.jpg)

但用$3并不能取出像素放到[]里。不过Obsidian渲染图片并不会很大,感觉正常能看,如果想缩放,可以手调

本文只是记录一下自己遇到问题的解决过程,可能有点啰嗦。如果有更好的解决方案欢迎随时补充

相关推荐
Lan.W13 小时前
element UI + vue2 + html实现堆叠条形图 - 横向分段器
前端·ui·html
我命由我1234517 小时前
CSS 锚点定位 - 锚点定位引入(anchor-name、position-anchor)
开发语言·前端·javascript·css·学习·html·学习方法
高斯的手稿080118 小时前
Django里面,多个APP的url设置,每个APP单独对应HTML设置
数据库·django·html
一晌小贪欢20 小时前
【圣诞快乐 Merry Christmas】 3D 粒子变形圣诞体验
3d·html·h5·html5·圣诞网页·粒子虚幻·虚幻粒子页面
dy171720 小时前
vue左右栏布局可拖拽
前端·css·html
咬人喵喵21 小时前
告别无脑 <div>:HTML 语义化标签入门
前端·css·编辑器·html·svg
OranTech1 天前
练习02-HTML语法
html
世界唯一最大变量1 天前
一种全新的,自创的(2d无人开车)的算法
html
0思必得01 天前
[Web自动化] CSS布局与定位
前端·css·自动化·html·web自动化
天外天-亮1 天前
v-if、v-show、display: none、visibility: hidden区别
前端·javascript·html