支持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 += "
支持markdown的服务器,基于tornado实现的一个markdown解析服务器相关推荐
- 高性能dhcp服务器,基于线程池机制的高性能DHCP服务器研究与实现
摘要: 随着互联网的蓬勃发展,IP地址资源越来越紧张.DHCP服务是在现有IPv4协议基础上解决IP地址资源短缺问题的有效途径. 目前,多数DHCP服务器是单线程运行,串行处理客户请求的.其应用于大型 ...
- 显示器连接vdc服务器,基于数字化校园的图像分析型VDC服务器的设计与实现
摘要: 随着国家对高校仪器设备投入的增加,各高校也越来越重视大型仪器设备的开放和共享,要合理有效地利用仪器,管理并统计仪器的使用状况,为决策者提供可靠而准确的数据依据,就必须采集大量的真实的数据.在这 ...
- cmd显示服务器对区域没有权威,查询dns解析服务器地址cmd命令
查询dns解析服务器地址cmd命令 内容精选 换一换 一次完整的HTTP请求包括域名解析.建立TCP连接.发起请求.服务器接收到请求进行处理并返回处理结果.浏览器对HTML代码进行解析并请求其他资源, ...
- 轻松创建nodejs服务器(1):一个简单nodejs服务器例子
这篇文章主要介绍了一个简单nodejs服务器例子,本文实现了一个简单的hello world例子,并展示如何运行这个服务器,需要的朋友可以参考下 我们先来实现一个简单的例子,hello world. ...
- 83998 连接服务器出错_来申请一个阿里云服务器玩玩?
对开发有兴趣的小伙伴们可以去阿里云官网申请一个免费入门级的服务器小试身手. 那么如何申请免费服务器呢? (这里吐槽不能超链接外部网页) 进入官网这里我选择了左边的(体验时间长一点)选择Ubuntu 1 ...
- 浏览器显示无法解析服务器的DNS地址,搜狗浏览器无法解析服务器的DNS地址怎么解决...
5.点击[使用下面的DNS 服务器地址],然后在下面填入:114.114.114.114 点击[确定]-[确定]保存设置即可解决问题! 3.重置winsock 目录设置后等待提示已成功刷新DNS 解析 ...
- 怎么看网站用的什么服务器,教你如何查看一个网站的服务器,系统和语言,地理位置,IP地址,所属国家,服务器类型及使用程序...
通过下面这个网址可以查看出大多数服务器的相关信息.比较齐全. 要看一个网站的服务器,系统和语言一般有几种办法 1.在网站的域名下随便打一个网址,对于一般的网站,服务器就会在404的错误页面里告诉你这些 ...
- 制作服务器需要哪些,怎么搭建一个小型企业服务器机房,做这些都需要什么
怎么搭建一个小型企业服务器机房,做这些都需要什么? 通过内部部署IT解决方案来减少在线数据存储的安全问题,甚至完全避免这些问题. 但问题又来了,大多数小型企业只能通过投资专用的内部IT设备来成功实现这 ...
- 文件post到服务器,http请求,POST一个文件到服务器,
http 请求服务器,其它的都正常,现在需要POST一个文件到服务器,本地文件,这个文件怎么处理,才可以装入POST,麻烦指教啊!网上找了很多代码,都不对啊,请大神赐教,谢谢. 错误代码如下: Sub ...
最新文章
- java调用PageOffice生成word
- Ruby之父:写Ruby时工作特别闲,总加班的人很难做出创造
- 【CVPR2020 Oral】只需一行代码就可提升迁移性能
- 基于python的界面自动化测试-基于Selenium+Python的web自动化测试框架
- python常见错误-python常见的错误提示有什么
- englishpod主持人对话文本_英语播客ESLPod学习方法+资源大全|Englishpod和eslpod的区别是什么...
- 带着问题了解Openstack Neutron安全组
- springboot整合canal
- 2014/11/4~2014/12/20阶段性目标
- Mysql学习笔记(二):子查询与连接
- *第十六周*数据结构实践项目二【大数据集上排序算法性能的体验】
- android地图搜索功能,[Android]百度地图POI检索
- aforge java_C#使用Aforge调用摄像头拍照的方法
- 原理 + 代码:手把手教你使用 Python 实战反欺诈模型
- HIS(Hospital Information System,医院信息系统)简介
- 科幻小说《霜与火》 by 雷·布雷德伯里
- java类private_Java访问类中private属性和方法
- 权证基础知识学习(一)
- ReentrantReadWriteLock、StampedLock
- 3DMAX绘室内装修三维效果图