首页 前端知识 Obsidian中HTML本地图片无法显示问题

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

2024-04-29 12:04:08 前端知识 前端哥 146 204 我要收藏

问题分析:我之前在记笔记的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为你保存图片的文件夹名称即可。

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)
转载请注明出处或者链接地址:https://www.qianduange.cn//article/6419.html
标签
obsidian
评论
发布的文章

HTML5本地存储

2024-05-06 09:05:10

HTML5和CSS3新特性

2024-04-16 17:04:36

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!