越来越喜欢使用markdown编写文档,相对doc更简单方便,而且可以渲染输出自己喜欢的样式。
开发过程中编写的文档markdown方便svn、git等版本控制工具管理。
安装 Python-Markdown ,做markdown to html的语法转换
pip install markdown
安装 Pygments 做语法高亮
pip install Pygments
执行下面的命令,生成一个默认的语法高亮css文件,更多可以参考Pygments项目网站
pygmentize -S default -f html > default.css
当前使用的github风格的样式表,代码在这里 ,下载保存为github.css。
完整代码:
# -*- coding: utf-8
import markdown
import os
import sys
reload(sys)
sys.setdefaultencoding('utf8')
def md2html(mdstr):
exts = ['markdown.extensions.extra', 'markdown.extensions.codehilite','markdown.extensions.tables','markdown.extensions.toc']
html = '''
<html lang="zh-cn">
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<link href="default.css" rel="stylesheet">
<link href="github.css" rel="stylesheet">
</head>
<body>
%s
</body>
</html>
'''
ret = markdown.markdown(mdstr,extensions=exts)
return html % ret
if __name__ == '__main__':
if len(sys.argv) < 3:
print('usage: md2html source_filename target_file')
sys.exit()
infile = open(sys.argv[1],'r')
md = infile.read()
infile.close()
if os.path.exists(sys.argv[2]):
os.remove(sys.argv[2])
outfile = open(sys.argv[2],'a')
outfile.write(md2html(md))
outfile.close()
print('convert %s to %s success!'%(sys.argv[1],sys.argv[2]))
将上的代码保存为 md2html.py,然后执行
python md2html.py test.md test.html