简介

最近准备在博客上使用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)


参考