Obsidian中HTML本地图片无法显示问题

这篇具有很好参考价值的文章主要介绍了Obsidian中HTML本地图片无法显示问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题分析:我之前在记笔记的markdown中插入图片时,都是用<img style="float: middle;" src="imgs/lw68.png" width="15%" heigth="3%"> 这样的形式,好处是方便大小和位置的调节。但用Obsidian直接打开原先的markdown文件时,这些图片是无法显示的,原因是Obsidian无法识别该形式的图片插入,而是需要用这样的形式:![[lw68.png]]
在网上找了一圈如何使Obsidian显示这样的形式后发现,暂时还没有很好的解决方案。所以就打算直接写脚<img style="float: middle;" src="imgs/lw68.png" width="15%" heigth="3%"> 本把原先的形式改为![[lw68.png]]这样的形式,具体步骤为:
设置本地图床目录,即指定本地图片保存目录(我之前笔记时把所有markdown用到的图片都保存到了imgs这个文件夹下,图片名字以前缀进行区别它们属于哪个笔记的。),具体操作见:Obsidian:设置本地图床功能
写代码改成Obsidian需要的图片表示形式(最好先对笔记进行备份后操作,以防止发生意外就损失大了):
以下,只需更改notebook_path为你笔记所在目录路径, 更改ori_imgs_dir为你保存图片的文件夹名称即可。文章来源地址https://www.toymoban.com/news/detail-570275.html

import glob


def convert_typero2obsidian(markdown_path: str, ori_imgs_dir: str) -> None:
    with open(markdown_path, "r") as w:
        content_l = w.readlines()

    for idx, elem in enumerate(content_l):
        if "<img style=" in elem:
            print(elem)
            name = elem.split(f'{ori_imgs_dir}/')[-1].split('\"')[0]
            content_l[idx] = f'![[{name}]]\n'
            print(content_l[idx])
    
    with open(markdown_path, "w") as w:
        w.write(''.join(content_l))
            
        
notebook_path = '/Users/jc/Documents/CodeFlying/notebook'
ori_imgs_dir = 'imgs'
md_path_l = glob.glob(notebook_path+'/*.md')
print(md_path_l)
for md_path in md_path_l:
    convert_typero2obsidian(md_path, ori_imgs_dir)

到了这里,关于Obsidian中HTML本地图片无法显示问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包