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

 2023-09-07 阅读 15 评论 0

摘要:makrdown 在 mac 有个不错的图形编辑器MouMou左边编辑,右边自动预览,相当巴适,可导出为html和pdf。初学tornado,于是想到写个简单的web服务器,让浏览器来预览编写的md文件。python有markdown,markdown2两个库,有如下区别&#x

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 += "

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/17250.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息