在linux中,可以利用系统提供的man2html命令,将linux命令的man手册转成html代码,将下面的源码保存为man2html.sh,这个脚本可以将man批量转化成html代码。
wadl简介
什么是WADL
WADL(Web Application Description Language)是为不同的web应用之间提供数据交互的一种协议描述格式,通过WADL协议说明,使得基于HTTP的web应用之间可以进行数据交互。
Web Applications
web应用被定义为一种基于HTTP的应用,它们的交互应该能够被计算机处理,然而大多数已经存在的web站点都需要人来识别它们的功能。典型的web应用有以下特点:
- 基于已经存在的web架构和基础结构
- 不依赖于特定的平台和编程语言
- 促进了应用的重用(不仅限于浏览器)
- 能够和其他的Web应用或桌面应用集成
- 使用它们的过程中交换的内容(表象)有明确的语义
最后一个必须遵守的要求是使用自描述的数据格式,比如XML或JSON。XML尤其适合,因为它允许在特定的应用领域定义特定的模式(complete custom schema)或者利用扩展点把特定的格式片段(custom micro-format)嵌入到一个已经存在的模式。
鉴于上面web应用的定义,我们能够看出一个应用的下面几个方面能够被机器可处理的格式有效地描述:
- 资源的集合:类似在网站站点上提供的资源
- 资源之间的关系:描述资源之间的联系,即引用和因果(链接)
- 适用于每个资源的方法(Unique Interface):适用于所有资源的HTTP方法,期望的输入输出以及支持的格式
- 资源表象的格式:所支持的MIME类型和数据模式(XMLSchema)的使用
何时使用WADL
WADL的目的是在web应用之间建立一个契约,此契约说明了应用之间如何来调用对方的数据,有点像是基于XML或JSON的RPC,也在某种程度上实现了类似linux命令行中管道符|的作用。
- 如果需要开发的web应用不需要与已有的基于HTTP的应用进行数据交互,那么就用不到
WADL。 - 如果应用可以很容易集成到已有系统中,并且和开发团队可以密切沟通合作的,也不需要
WADL。 - 如果需要和很多复杂的,不同部门,甚至不同公司的第三方web应用整合,或者数据交互时,那么此时就需要一份严谨的
WADL标准说明。 - 如果需要整合一些不再维护的遗留项目,需要找到能与其数据进行交互的合适方式,并提供一份
WADL说明供新应用调用。
WADL和WSDL的区别
WSDL 1.1(Web Services Description Language 1.1)是一个W3C的推荐标准,一般通过SOAP协议提供服务,也可通过SMTP和HTTP协议提供服务,但是除了GET和POST之外,不支持其他HTTP动词。而REST服务提供的请求中需要使用到其他HTTP动词,如PUT,DELETE,所以WSDL 1.1用于提供REST服务,并不是很好的选择。
WSDL 2.0之后,开始支持全部HTTP动词,可以用之于提供REST服务。
WADL是Sun Microsystems提议的一个标准,在提供REST服务时,相比WSDL而言,其更轻量级,更易于理解和编写。
WADL示例
以下为一个WADL文档示例,描述了Amazon的Item Search服务:
vim2html.rb生成vim中文手册html版本
- 首先从http://vimcdoc.sourceforge.net/下载中文帮助手册,下载链接为:
https://sourceforge.net/projects/vimcdoc/files/vimcdoc/vimcdoc-1.9.0.tar.gz/download - 解压后进入其
doc目录,然后在目录下面创建vim2html.rb和vim.css这2个文件,文件内容分别如下源码。 - 在
doc目录下直接运行ruby vim2html.rb即可生成每份cnx文件对应的html版本。
运行命令结束后生成的代码示例可参考这个页面。