makrdown 在 mac 有个不错的图形编辑器Mou
Mou左边编辑,右边自动预览,相当巴适,可导出为html和pdf。
初学tornado,于是想到写个简单的web服务器,让浏览器来预览编写的md文件。
python有markdown,markdown2两个库,有如下区别:markdown2号称比markdown快,而且更接近最初perl版本的实现。
两个支持的extras不同,markdown2支持wiki-table,markdown支持的是PHP Markdown Extra的table格式。
由于Mou支持的是PHP Markdown Extra的table格式,所以选择markdown库来实现。
markdown模式,安装库$sudo pip install tornado
$sudo pip install markdown
服务器根下文件组织如下:
./server.py
./css/md.css
./md/test.md
./md/test.png
markdown服务器、需求:访问http://127.0.0.1:8080/,自动罗列服务器跟下的所有md文件。
以.md结尾的文件自动转换为html
需要能够访问到md引用的图片
实现要点:
1、要启动markdown的extras支持table。
2、tornado的handle正则表达式正确处理不同类型文件。
3、注意URI解码,还原为中文。
markdown、完整代码如下:#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import tornado.ioloop
import tornado.web
import markdown
import codecs
import os
开源markdown、import urllib
webRoot = os.path.split(os.path.realpath(__file__))[0]
class mdHandler(tornado.web.RequestHandler):
def mdToHtml(self, path):
output = """
"""
input_file = codecs.open(path, "r", "utf8")
vim markdown,text = input_file.read()
html = markdown.markdown(text, ['tables'])
output += html
output += "
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态