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

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

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 "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)