使用Python Markdown 生成 html

愈來愈喜歡使用markdown編寫文檔,相對doc更簡單方便,並且能夠渲染輸出本身喜歡的樣式。
開發過程當中編寫的文檔markdown方便svn、git等版本控制工具管理。css

安裝 Python-Markdown ,作markdown to html的語法轉換html

pip install markdown

安裝 Pygments 作語法高亮python

pip install Pygments

執行下面的命令,生成一個默認的語法高亮css文件,更多能夠參考Pygments項目網站git

pygmentize -S default -f html > default.css

當前使用的github風格的樣式表,代碼在這裏 ,下載保存爲github.css。github

完整代碼:markdown

# -*- 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,而後執行svn

python md2html.py test.md test.html
相關文章
相關標籤/搜索