简介
最近准备在博客上使用markdown编辑文章,阅读了相关资料,花了一上午搞定了。这里介绍如何在flask框架下集成markdown。
开发环境
python + flask + markdown
依赖
需要安装Flask-pagedown(貌似自带?),用来编辑markdown文件。
然后安装markdown,用来转成html。
设计网页
网页设计很简单,主要是设置左边编辑,右边显示的功能,弄几个css文件搞定。
html
支持语法高亮,有没有感觉很酷炫!
<form method="post" name="upload" action="{{action_url}}">
{{ pageDownForm.hidden_tag() }}
<div class="flask-pagedown-upload">
{{ pageDownForm.docClass(placeholder="请输入本篇博客的一级类别", required=True) }}
{{ pageDownForm.childClass(placeholder="请输入本篇博客的二级类别", required=True) }}
{{ pageDownForm.title(placeholder="请输入标题", required=True) }}
{{ pageDownForm.author(placeholder="请输入作者名字", required=True) }}
</div>
{{ pageDownForm.pagedown(placeholder="请输入正文内容!", required=True) }}
<div class="tougao_item">
<input id="tougao_submit_button" type="submit" value="提交"/>
</div>
</form>
python
python代码主要涉及到markdown的解析,和form的处理,这里只贴markdown文件解析的代码。
import markdown
import codecs
exts = ['markdown.extensions.extra', 'markdown.extensions.codehilite', 'markdown.extensions.tables',
'markdown.extensions.toc']
reader = codecs.open(filename, mode="r", encoding="utf-8")
text = reader.read()
reader.close()
html = markdown.markdown(text, extensions=exts)