支持markdown的服务器,基于tornado实现的一个markdown解析服务器

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库来实现。

安装库$sudo pip install tornado

$sudo pip install markdown

服务器根下文件组织如下:

./server.py

./css/md.css

./md/test.md

./md/test.png

需求:访问http://127.0.0.1:8080/,自动罗列服务器跟下的所有md文件。

以.md结尾的文件自动转换为html

需要能够访问到md引用的图片

实现要点:

1、要启动markdown的extras支持table。

2、tornado的handle正则表达式正确处理不同类型文件。

3、注意URI解码,还原为中文。

完整代码如下:#!/usr/bin/env python

# -*- coding: UTF-8 -*-

import tornado.ioloop

import tornado.web

import markdown

import codecs

import os

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")

text = input_file.read()

html = markdown.markdown(text, ['tables'])

output += html

output += "

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值