Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1029373
  • 博文数量: 171
  • 博客积分: 55
  • 博客等级: 民兵
  • 技术积分: 2077
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 10:11
个人简介

pugna

文章分类

全部博文(171)

文章存档

2021年(4)

2020年(1)

2019年(4)

2018年(5)

2017年(7)

2016年(9)

2015年(36)

2014年(8)

2013年(96)

2012年(1)

分类: Windows平台

2016-12-19 14:47:37

最近看了下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的。

阅读(5373) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~