项目简介
本项目是基于 Flask 框架的 Markdown 编辑器扩展包,结合了 editor.md 版本 1.5.0,为 Flask 和 Flask - WTF 实现了 Markdown 编辑与预览功能,便于开发者在 Flask 应用里集成 Markdown 编辑和预览功能。
项目的主要特性和功能
- 编辑功能:提供 Markdown 编辑器,支持文本样式设置、列表创建、插入链接和图片等丰富编辑操作。
- 预览功能:可对 Markdown 内容预览,能正确渲染科学公式、上标和下标等特殊格式。
- CDN 资源配置:可配置是否启用 CDN 资源,涵盖 CODEMIRROR_CSS_CDN、CODEMIRROR_JS_CDN、MARKED_JS_CDN、PRETTIFY_JS_CDN。
- 灵活的配置接口:针对编辑器和预览器提供灵活配置接口,可按需传递参数。
安装使用步骤
前提条件
假设用户已下载本项目的源码文件,且 Python 环境和 Flask 框架已正确安装。
具体步骤
- 初始化 Editormd 对象
在 Python 代码中引入并初始化 Editormd 对象:
python from flask_editormd import Editormd editormd = Editormd() editormd.init_app(app)
- 创建表单类
使用
EditormdField
创建表单字段: ```python from flask_wtf import FlaskForm from flask_editormd.fields import EditormdField from wtforms.fields import SubmitField
class EditormdForm(FlaskForm):
body = EditormdField()
submit = SubmitField('Submit')
3. **创建视图函数**
处理表单提交和渲染模板:
python
from flask import Flask, render_template
app = Flask(name) app.config['SECRET_KEY'] = 'secret!' editormd = Editormd(app)
@app.route('/', methods=['GET', 'POST'])
def index():
form = EditormdForm()
if form.validate_on_submit():
text = form.body.data
print(text)
return render_template('index.html', form=form)
4. **编写 HTML 模板(编辑页面)**
在 HTML 模板中使用表单和 Editormd 资源:
jinja2
{% extends "bootstrap/base.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% block content -%}
{%- endblock content %}
{% block scripts %}
{{ super() }}
{{ editormd.add_editormd_resource(autoLoadModules=False) }}
{{ editormd.add_editormd(autoHeight=True, autoLoadModules=False)}}
{%- endblock scripts %}
5. **编写 HTML 模板(预览页面)**
在 HTML 模板中添加预览器:
jinja2
{% extends "bootstrap/base.html" %}
{% block content -%} {{ editormd.add_editormd_previewer(content) }} {%- endblock content %}
{% block scripts %}
{{ super() }}
{{ editormd.add_editormd_previewer_resource() }}
{%- endblock scripts %}
6. **运行 Flask 应用**
在终端中运行 Flask 应用:
sh
flask run
```
访问相应的 URL 即可使用 Markdown 编辑器和预览功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】