`
rensanning
  • 浏览: 3548640 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38145
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607311
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682331
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89355
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401851
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69694
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91723
社区版块
存档分类
最新评论

Titanium Mobile API的chm文件制作思路

阅读更多
在前一篇Titanium Mobile API 1.8.2.chm第1版发布中,发布了作成的CHM版本API帮助文件,很多朋友对如何做成这个文档很感兴趣。这回给大家提供具体的制作过程。
(最近可能没时间来继续更新这个chm版本的帮助文档了,也希望能有人看了这篇文章后,继续为大家提供最新的chm版帮助文档。)

做成chm文件最基本的就是要做好html版的页面,有了html版的页面后,就好办了,用Visual CHM或者PowerCHM等工具compile一下就能做成CHM文件了!

重点是如何做html版的API页面!这里我们一步一步的来看看如何生成出来庞大的html页面。思路有两个:

思路一:通过Titanium源码中的yml来生成

1、下载appcelerator-titanium-mobile源码
Appcelerator将源码公布在Github,从https://github.com/appcelerator/titanium_mobile下载真个源码后放置到本地磁盘。

2、安装Python环境
下载完Titanium Mobile源码后解压,你就会发现apidoc这个文件夹,其下有一个docgen.py文件,就是用来生成API的html文件的Python脚本,所以这里我们想要生成html的话,必须要有Python的环境。

从Titanium的兼容矩阵中可以看到,Titanium使用的Python版本是2.7。所以我们需要安装2.7版本,不要低也不要高哦,不然会编译不过去的。
https://wiki.appcelerator.org/display/guides/Titanium+Compatibility+Matrix#TitaniumCompatibilityMatrix-Python

http://www.python.org/download/下载python-2.7.2.msi后安装,具体怎么安装这里就不罗嗦了。

3、安装easy_install
由于要解析yml所以需要到Python的pyyaml模块,我们要下载安装,这里介绍使用easy_installl来方便安装。

http://peak.telecommunity.com/dist/ez_setup.py下载ez_setup.py后运行,把Python的Scripts文件夹(例如C:\Python27\Scripts)添加到PATH环境变量里。

然后安装pyyaml和Pygments
# easy_install pyyaml
# easy_install Pygments

4、生成API的html版本
执行docgen.py之后,就可以看到开始生成html文件了。


生成的html文件会放在dist\apidoc下


其中首页是index.html


这里我们看到的html文件是没有做过任何美工的,如果你想美化页面(可以随便修改)的话,可以做一个style.css放到apidoc\templates\html\header.html中



然后重新执行docgen.py,等生成完html之后,将你的style.css放入dist\apidoc中,这样再看看页面


思路二:通过官方提供的api.json来生成

官方每次在发布最新版本API的时候,都会提供API Reference as JSON。比如1.8.2版本的话,你就可以通过http://developer.appcelerator.com/apidoc/mobile/1.8.2/api.json来获取到api.json。这个JSON串中包含了所有的API信息(包括各个API之间的链接)。

我们有了api.json之后,就可以通过JSON解析工具反序列化成对象,这里我们使用Jackson,因为它的效率足够高。

其中JSON中的对象结构,这里为大家整理出Class图如下:


查看Class图就可以看到,Module、Method、Event、Property都有一个filename的属性,这也就是说他们是基本的模板,所有的API不外乎其中的一种。我们采用freemaker(FreeMarker是一个高速的模板引擎,估计Java程序员都应该知道)来做模板文件,具体模板文件如何写,这里也不说了,不是太难。。模板文件的编写可以从官方网页中随便抓取对应的一个页面即可。

首先我们用Jackson反向解析JSON串,我们会得到HashMap<String, Module>的一个Map对象。然后遍历这个Map文件,根据Class图中的继承关系生成各个html文件。

***需要特别提及的是index页的生成,其实就是Map的那些Key。

特别要提及的还是。目前官方提供的API的JSON串中,有一些错误,并不合法。
  • Method's return type(returns)
  • Parameter's type(type)
  • Property's type(type)

Java版的源码也上传给大家:TiJson.rar

生成完html之后就可以做CHM了,不管是使用Visual CHM或者PowerCHM都很方便。具体如何编译成CHM这里就不说了。
  • 大小: 17.5 KB
  • 大小: 26.8 KB
  • 大小: 30 KB
  • 大小: 30.8 KB
  • 大小: 27.8 KB
  • 大小: 42 KB
  • 大小: 54.3 KB
  • 大小: 41.3 KB
分享到:
评论
1 楼 annqilee 2012-04-11  
如果左边有类似官网网页上的目录,就更理想了!

相关推荐

    Titanium Mobile API

    ### Titanium Mobile API 知识点详解 #### 一、Titanium Mobile API 概述 Titanium Mobile API 是一款由 Appcelerator 公司提供的用于跨平台移动应用开发的强大工具包。该工具允许开发者使用 JavaScript 编写应用...

    Titanium Mobile API 1.8.2.chm

    Titanium Mobile API 1.8.2.chm 内容很好但是英文版的,E不好的童鞋慎下

    titanium api chm 格式 (首发)

    titanium api chm 格式 titanium api chm 格式

    Titanium 2.1API

    这是截至到目前最新的版本(Titanium 2.1 API) 方便没网的情况下,童鞋们翻阅文档。

    Titanium Mobile SDK 3.1.0 Apidoc 离线版

    Titanium Mobile SDK 3.1.0 是一个用于构建原生移动应用的开发工具,尤其针对iOS和Android平台。这个版本的Apidoc是开发者的重要参考资料,它包含了完整的API文档,帮助开发者理解并使用Titanium框架的各种功能。...

    TiInspector, 通过 Chrome DevTools调试 Titanium Mobile 应用程序.zip

    TiInspector, 通过 Chrome DevTools调试 Titanium Mobile 应用程序 #Ti 检查器Ti检查器允许在 Chrome DevTools web界面中调试 Appcelerator Titanium 应用程序。工具通过将命令和消息转换为 Chrome 调试协议和 ...

    TiJSPDF, Titanium Mobile 应用程序的JSPDF插件.zip

    TiJSPDF, Titanium Mobile 应用程序的JSPDF插件 TiJSPDFTiJSPDF是用于使用JSPDF库生成pdf并在 Titanium Mobile 应用程序中操作它们的Titanium Mobile 应用程序的一种 JSPDF插件插件。这个插件独立于 Titanium 维护,...

    TitanTricks, Titanium Mobile的代码示例和组件.zip

    TitanTricks, Titanium Mobile的代码示例和组件 TitanTricks自述文件TitanTricks是 Titanium Mobile 项目,充满了可以重用的代码示例和技巧,面向begginers和中级级别用户。android和iOS兼容,但有些示例仅适用于 ...

    tern-titanium:用于 TernJS 的 Appcelerator Titanium API 定义文件生成器

    这个小脚本从 Appcelerator Titanium API 文档 YAML 文件生成定义文件。 Tern 是 JavaScript 的代码分析引擎,它为文本编辑器添加了智能感知功能,它使用定义文件来自动完成对象模型成员名称并推断它们的类型。 如何...

    Ti-filerotate:Titanium Mobile 上的文件轮换示例

    Ti-filerotate是一个针对Titanium Mobile平台的模块,主要用于实现文件轮换功能。在移动应用开发中,尤其是在处理日志记录、数据缓存或者性能监控等场景时,文件轮换是一个重要的技术。它允许应用程序在文件达到特定...

    titanium_mobile_tizen

    适用于 Tizen 的 Titanium Mobile 欢迎来到 Appcelerator Titanium Mobile 开源项目。 Titanium 为 Web 开发人员提供了一个使用 JavaScript 构建跨平台原生移动应用程序的平台。 有关 Titanium 的更多信息,请访问 ...

    titanium-typescript:TypeScript 的 Titanium Mobile 类型

    Titanium Appcelerator API v3.1.3.GA 的环境声明。 var ROWS: number = 10; var children: Array&lt;Titanium&gt; = button.getChildren(); var window: Titanium.UI.Window = Titanium.UI.createWindow({ title: '...

    Android-titanium_mobile.zip

    Android-titanium_mobile.zip,带有javascript的本地ios、android和windows应用程序,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。

    ti.mely, Titanium Mobile的Ti.mely 本机定时器.zip

    ti.mely, Titanium Mobile的Ti.mely 本机定时器 Ti.melyTi.mely 项目提供对Android和iOS计时器的访问。在开始之前* 是在使用这个模块之前,设计用于 Titanium SDK 3.1.1. GA *的iOS和Android本机模块。 如果你需要...

    sublimetext-tita, Tita Titanium Mobile/Alloy sublime text 2插件.zip

    sublimetext-tita, Tita Titanium Mobile/Alloy sublime text 2插件 这个插件不再主动地维护 ***因为我不再使用 st2/st3 。 有人对 fork 感兴趣并维护它?替代插件:...

    使用Titanium将Canvas图像保存为文件

    总结来说,这篇博客文章“使用Titanium将Canvas图像保存为文件”涵盖了如何在Titanium开发环境中结合HTML5 Canvas的图形绘制能力与Titanium的本地文件系统API,实现图像的保存。对于那些希望在跨平台应用中整合...

    Building Mobile Applications with Titanium

    Building Mobile Applications with Titanium, 这是mobi版,适合knidle等电子书阅读。 详细介绍了titanium框架的使用

Global site tag (gtag.js) - Google Analytics