• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

ObsidianHTML本地图片没办法显示问题

武飞扬头像
A_Z666666
帮助1

问题分析:我之前在记笔记的markdown中插入图片时,都是用<img style="float: middle;" src="https://blog.csdn.net/A_Z666666/article/details/imgs/lw68.png" width="15%" heigth="3%"> 这样的形式,好处是方便大小和位置的调节。但用Obsidian直接打开原先的markdown文件时,这些图片是无法显示的,原因是Obsidian无法识别该形式的图片插入,而是需要用这样的形式:![[lw68.png]]
在网上找了一圈如何使Obsidian显示这样的形式后发现,暂时还没有很好的解决方案。所以就打算直接写脚<img style="float: middle;" src="https://blog.csdn.net/A_Z666666/article/details/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)
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfafii
系列文章
更多 icon
同类精品
更多 icon
继续加载