python在线编辑文档-文档编辑工具Markdown
时间: 2024-01-18 11:02:11 浏览: 128
Markdown是一种轻量级的标记语言,可以方便地将文本转换为HTML等格式。在Python中,有很多支持Markdown的库和工具,可以用来在线编辑文档。
其中比较常用的是Flask框架,结合Markdown库和模板引擎,可以很方便地实现一个简单的在线编辑器。
以下是一个基于Flask和Markdown的在线编辑器示例:
```python
from flask import Flask, render_template, request
import markdown
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/preview', methods=['POST'])
def preview():
md_text = request.form['md_text']
html_text = markdown.markdown(md_text)
return html_text
if __name__ == '__main__':
app.run(debug=True)
```
上述代码中,`index`函数返回一个包含Markdown编辑器和预览区域的HTML模板,`preview`函数接收POST请求,将Markdown文本转换为HTML并返回。
在`templates`文件夹下创建`index.html`模板文件:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Markdown编辑器</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vditor@3.6.5/dist/index.css">
</head>
<body>
<div>
<textarea id="md_text" style="width: 50%; height: 500px;"></textarea>
<button onclick="preview()">预览</button>
</div>
<div>
<div id="preview"></div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vditor@3.6.5/dist/index.min.js"></script>
<script>
var vditor = new Vditor("md_text", {
cache: {
enable: false
},
height: 500,
mode: "sv",
toolbarConfig: {
pin: true
}
});
function preview() {
var md_text = vditor.getValue();
var xhr = new XMLHttpRequest();
xhr.open('POST', '/preview', true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
var html_text = xhr.responseText;
document.getElementById('preview').innerHTML = html_text;
}
};
xhr.send('md_text=' + encodeURIComponent(md_text));
}
</script>
</body>
</html>
```
在模板中引入了`vditor`库,实现了一个简单的Markdown编辑器和预览区域。
启动应用后,访问`http://localhost:5000`即可开始在线编辑Markdown文档。
阅读全文