做项目一般都会要求写技术文档,特别是提供SDK或者基础组件的。如果手写这类技术文档的话,工作量比编写代码也少不了多少。比如 Java 语言本身就自带 javadoc 命令,可以从源码中抽取文档。本篇我们看一下OC中的一个类似工具:appledoc。

1.简介

基于命令行的操作、使用方便,默认生成的文档风格和苹果的官方文档是一致的,即docset,集成到xcode中就跟苹果的官方文档一模一样,在源码中按住option再单击就可以调出相应方法的帮助,当然也可以生成html文档。

总结一下,它具有下面这些特点:

  • 它默认生成的文档风格和苹果的官方文档是一致的;
  • appledoc 是用 objective-c 生成的,必要的时候调试和改动也比较方便;
  • 可以生成 docset,并且集成到 Xcode 中,相当于在源码中按住 option 再单击就可以调出相应方法的帮助;
  • appledoc 源码在 github 上;
  • 没有特殊的注释要求,可以用 /\*\* \*/ 的格式,也可以兼容 /\*! \*/ 的格式的注释,并且生成的注释有汇总页面。

2.安装

安装很简单,按照下面的指令执行即可:

git clone git://github.com/tomaz/appledoc.git
cd appledoc
sudo sh install-appledoc.sh

3.使用

使用 appledoc 时,只需要用如下命令即可:

/*
--project-name 工程名字
--project-company 公司名字
--company-id 公司ID
--output 生成结果路径
*/
appledoc --no-create-docset --output ../doc --project-name GofKit --project-company "Gof" --company-id "com.gof" .

appledoc 会扫描当前路径下的所有文件,然后生成好文档放到 doc 目录下。

简写如下所示:

appledoc -o ./doc --project-name GofKit --project-company Gof .

编译出的Docset默认会放在~/Library/Developer/Shared/Documentation/DocSets路径下。 Docset格式,实际上是一个bundle,里面包含了一些xmlhtml。显示包内容后就可以查看和修改了。如果需要放到网站上,那单独将html部分取出来就行。

4.参考资料

如何将自己项目的代码文档导出为苹果样式

技术文档生成工具:appledoc的更多相关文章

  1. 使用Objective-C的文档生成工具:appledoc

    使用Objective-C的文档生成工具:appledoc 前言 做项目的人多了,就需要文档了.今天开始尝试写一些项目文档.但是就源代码来说,文档最好和源码在一起,这样更新起来更加方便和顺手.象 Ja ...

  2. 文档生成工具 appledoc

    参考文章 1.安装: $ git clone git://github.com/tomaz/appledoc.git $ cd appledoc $ sudo sh install-appledoc. ...

  3. 【iOS】objective-c 文档生成工具 appledoc

    最近做ios framework的一些测试,提供给其他开发者使用的framework,API文档变得更加重要,以前没有接触过,这次尝试使用了一把appledoc来生成一下文档,感觉还不错. 首先,是从 ...

  4. 使用Objective-C的文档生成工具

    前言 做项目的人多了,就需要文档了.今天开始尝试写一些项目文档.但是就源代码来说,文档最好和源码在一起,这样更新起来更加方便和顺手.象Java语言本身就自带javadoc命令,可以从源码中抽取文档.今 ...

  5. 【C#附源码】数据库文档生成工具支持(Excel+Html)

    [2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...

  6. 微软开源全新的文档生成工具DocFX

    微软放弃Sandcastle有些年头了,微软最近开源了全新的文档生成工具DocFX,目前支持C#和VB,类似JSDoc或Sphinx,可以从源代码中提取注释生成文档之外,而且还有语法支持你加入其他的文 ...

  7. DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)

    前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语 ...

  8. .NET平台开源项目速览(4).NET文档生成工具ADB及使用

    很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧 ...

  9. (转)Doxygen文档生成工具

    http://blog.csdn.net/lostaway/article/details/6446786 Doxygen 是一个支持 C/C++,以及其它多种语言的跨平台文档生成工具.如同 Java ...

随机推荐

  1. 编写Servlet 实例 -Shopping网站时,遇到的几个问题

    问题一.在Web 上运行时,用JDBC链接MySQL总是出错,一直出现驱动加载失败 ------提示java.lang.ClassNotFoundException.解决方案:将数据库驱动jar文件导 ...

  2. leetcode1

    public class Solution { public int[] TwoSum(int[] nums, int target) { ]; ; i < nums.Length; i++) ...

  3. leetcode39

    public class Solution { List<IList<int>> list = new List<IList<int>>();//全部记 ...

  4. leetcode85

    class Solution { public int maximalRectangle(char[][] matrix) { if(matrix == null || matrix.length = ...

  5. 活用RPM获取包的信息

    rpm -q 功效大 如果你想要在系统上安装.卸载或是升级软件,需要对系统软件进行查询:或是有如下的场景: 安装了一个软件,需要知道这个软件的版本. 遇到一个文件,不认识它,需要知道它是什么软件,有什 ...

  6. TTS

    CLASS_SpVoice: TGUID = '{96749377-3391-11D2-9EE3-00C04F797396}'; http://blog.sina.com.cn/s/blog_4fce ...

  7. Connection reset by peer原理解析

    “Connection reset by peer”代表什么?“Connection reset by peer”表示当前服务器接受到了通信对端发送的TCP RST信号,即通信对端已经关闭了连接,通过 ...

  8. @RestController 与 @Controller @RequestMapping("/") 区别很大

    后者可以通过返回字符串,返回到指定路径的html http://localhost:8080/  这样显示 ,但是仍以get方式请求的. https://www.cnblogs.com/zgqys19 ...

  9. [maven] "Dynamic Web Module 3.0 requires Java 1.6 or newer." OR "JAX-RS (REST Web Services) 2.0 requires Java 1.6 or newer."

    在网上下载的开源工程,用maven构建的时候报错: Dynamic Web Module 3.0 requires Java 1.6 or newer. JAX-RS (REST Web Servic ...

  10. CDialogEx::OnPaint()的问题,或者为什么在对话框程序的OnPaint中绘图无效的问题

    这是一个基于对话框的程序,对话框上有按钮,还有几个CStatic用来绘图,之前都是好好的,今天改成Unicode版本后,编译正常,运行时CStatic中的图像怎么也不显示,有时候会闪现一次就消失,问题 ...