python 渲染markdown文件
main.py
from flask import Flask
from flask import render_template
from flask import Markup
import markdown
app=Flask(__name__)
@app.route('/main')
def index():
content = md2html('static/doc/medical-api.md')
return render_template('index.html',content=content)
//content=content 可以换成**local(),这个是把所有的参数都传过去
def md2html(filename):
exts = ['markdown.extensions.extra', 'markdown.extensions.codehilite','markdown.extensions.tables','markdown.extensions.toc']
mdcontent = ""
with open(filename,'r',encoding='utf-8') as f:
mdcontent = f.read()
pass
html = markdown.markdown(mdcontent,extensions=exts)
content = Markup(html)
//Markup就是把内容转换成字符串,str不可以
//也可以不用这个,但是前端的内容要加safe,像这样 {{ content | safe}}
return content
if __name__ == '__main__':
app.debug = True
app.run(host='127.0.0.1',port = 5000)
index.html
<html lang="zh-cn">
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<title>医学实体API服务(Medical Terminology APIs)</title>
<link href="../static/template-theme-white.css" rel="stylesheet" media="screen" type="text/css">
<link href="../static/default.css" rel="stylesheet">
<link href="../static/github.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.abc h1{color: #0077bb; margin:0 auto;width:720px; solid;text-align:left;}
.abc {margin:0 auto;width:720px; solid;text-align:left;}
</style>
</head>
<body>
<div class="abc"> {{ content}} </div>
</body>
</html>
不是flask就用Django好了,Django没有Markup模块,就不用了,直接传到前端就可以,加个safe就可以了,有几个css文件,我一会儿发出来,js文件时不需要的。