今天心血来潮,写了一个 Markdown 转换器。
程序开头先处理一些行内的语法,比如 code、strong、i 等,用正则直接替换:
接着是复杂一点的图片和链接:
接着就处理其他的语法,先把文本按每一行分开:
处理列表和待办事项的问题:
因为有序列表和无序列表的区别是头尾的ol和ul,所以要用 list_flag 变量来判断
处理完后处理其他的语法:
这里我稍微修改了一点,让 > 和 》 都可以转换成引用,主要是切换中英文标点太难了。
然后就是添加 CSS,自己改了一点马克飞象的进去,因为他的引用做得很漂亮:
用 Chrome 打开网页:
webbrowser.get('C:/Program Files (x86)/CentBrowser/Application/chrome.exe %s').open(
'file:///'+os.getcwd()+'/markdown.html')
话说这里也是个坑,系统自带的 Edge 一直打开失败,用那个注册器注册 Chrome 也没办法用 ,最后还是在外网找到了解决方案。
最后的效果:
领取专属 10元无门槛券
私享最新 技术干货