最近看了下markdown,发现一个很不好用的地方,就是markdown中默认图片是保存在Web上的,这会带来2个问题。一是,现在互联网变化这么快,如果远程的图片服务关闭了,你哭都没地方哭。二是,有时需要离线访问markdown记录的笔记,结果图片显示不了,那就坑了。
在网上找了下介绍,在markdown中可以保存图片的base64编码,就可以将图片保存在本地了。
当然也有缺点了,就是markdown源文件的内容看起来比较乱。
示例如下:
我是使用python来生成图片的base64编码的,代码如下:
#!/usr/local/bin/python3
import sys,os,base64
pic_path = sys.argv[1]
pic_basename = os.path.basename(pic_path)
file_ext = pic_basename.split('.')[-1].lower()
#print(file_ext)
if file_ext == "jpg" :
tag = "jpg"
elif file_ext == "jpeg" :
tag = "jpg"
elif file_ext == "png" :
tag = "png"
elif file_ext == "bmp" :
tag = "bmp"
else:
print("Unsupported image format !")
exit(1)
with open(pic_path, "rb") as imageFile:
str_pic = base64.b64encode(imageFile.read()).decode('ascii')
#print(str_pic)
str_begin = '
'
result_str = str_begin + str_pic + str_end
print(result_str)
至于在markdown中到底是用网页链接还是base64,看各人自己了。反正我是觉得,markdown编辑器应该是可以直接将本地的图片转码成base64保存,并且在编辑器中显示图片名称,而不是一长串的base64的。
阅读(5455) | 评论(0) | 转发(0) |