使用appledoc 生成技术API文档具体解释
一、 首先安装 appledoc
- 第一步:使用终端命令进行下载安装
git clone git://github.com/tomaz/appledoc.git
cd ./appledoc
sudo sh install-appledoc.sh上面步骤运行之后。上面三个步骤都是正常运行的。文件有点大,下载会慢一点,我们看下效果图:

假设出现 INSTALL SUCCEEDED 则说明我们成功安装了。
- 以下进行第二步:安装之后我们进行一个简单的验证
appledoc --version
//用法能够输入命令
appledoc --help二、用法
- 第一步:使用终端进入代码文件夹:
- 直接拖拽我们的project到终端,然后回车一下
- 或者使用
cd+"项目名字文件夹"
同1 - 以上两种方法都能够进入到我们的project根文件夹
- 第二部:
project-name: 项目名字
project-company: 公司名称
使用命令:
//以下这个会运行错误
1. appledoc --project-name 你的工程名字 --project-company 公司名 ./(导出路径,这里是指根文件夹) path所要导出的文档的类文件夹
错误提示是:AppledocException: At least one directory or file name path is required
2. 正确的运行命令:
appledoc --no-create-docset --output ~/doc --project-name "Your Project Name" --company-id "com.yourcommpany" --project-company "Your Company" ./
3. appledoc --project-name DiskSizeDemo
--project-company "ray"
--company-id aaaa
--output ./apple
~/DeskTop/RYDemoTest/DiskSizeDemo/DiskSizeDemo/doc/
最后一个命令须要5个參数:
1. 工程名字
2. 公司名字
3. 公司ID
4. 生成结果出书路径
5. 扫描那个路径下的类
运行成功都能够在我们对应的地址下找到
4. appledoc -o ./doc --project-name DiskSizeDemo --project-company feel .
appledoc会扫描当前路径下的全部文件,然后生成好文档放到doc文件夹下。你也能够用appledoc –help查看全部可用的參数。
使用的时候一定要注意最后一个路径。别忘了。不然会提示错误。最后一个是导出扫描到的文件
上面执行成功会出现以下截图
imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" class="imagebubble-image" alt="">
我们能够在 电脑的 Users 下找到raybon 这个目录
- project中使用
- 我们先新建一个project,Demo 就是我们实验的測试DiskSizeDemo
- 选择菜单File->New File -> Target :

加入之后我们在去设置界面
imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" class="imagebubble-image" alt="">
通过我们新添加的Run Script
加入一下脚本
#appledoc Xcode script
# Start constants
company="abc";
companyID="com.abc";
companyURL="http://abc.com";
target="iphoneos";
#target="macosx";
outputPath="~/help";//输出地址
# End constants
/usr/local/bin/appledoc \
--project-name "${PROJECT_NAME}" \
--project-company "${company}" \
--company-id "${companyID}" \
--docset-atom-filename "${company}.atom" \
--docset-feed-url "${companyURL}/${company}/%DOCSETATOMFILENAME" \
--docset-package-url "${companyURL}/${company}/%DOCSETPACKAGEFILENAME" \
--docset-fallback-url "${companyURL}/${company}" \
--output "${outputPath}" \
--publish-docset \
--docset-platform-family "${target}" \
--logformat xcode \
--keep-intermediate-files \
--no-repeat-first-par \
--no-warn-invalid-crossref \
--exit-threshold 2 \
"${PROJECT_DIR}"
然后选择以下

选择好之后我们run 一下
project中我们新建的有个Doc.h 和Doc.m 的类
代码例如以下
#import <Foundation/Foundation.h>
@interface Doc : NSObject
/*! @brief this is comment. */
- (void)run;
/*! @brief查询数据方法 */
- (void)seekMethod;
@end
我们假设run 之后能够在本地找到一个 dorset-install.txt 文件
imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" class="imagebubble-image" alt="">
我们打开HTML 下的index.html

看到了吧,是不是我们常常看到的技术文档
我们假设想要导出这样的格式,凝视须要依照规定的来,这个我不清楚为什么要这样子,有知道的还望留言一下。在此谢过大神。
我去查询的资料是支持一下三种凝视格式:
1. /*! this a test . */
2. /** this a comment. */
3. /// this is a long comment. */
常常使用的标签:
@brief : 使用它来写一段你正在文档化的method, PRoperty, class, file, struct, 或enum的短描写叙述信息。
@discusstion: 用它来写一段详尽的描写叙述。假设须要你能够加入换行。
@param:通过它你能够描写叙述一个 method 或 function的參数信息。你能够使用多个这样的标签。
@return: 用它来制定一个 method 或 function的返回值。
@see: 用它来指明其它相关的 method 或 function。你能够使用多个这样的标签。
@sa:同上
@code : 使用这个标签,你能够在文档其中嵌入代码段。
当在Help Inspector其中查看文档时,代码通过在一个特别的盒子中用一种不同的字体来展示。始终记住在写的代码结尾处使用@endcode标签。
@remark : 在写文档时,用它来强调不论什么关于代码的特殊之处。
举例:
/*! @brief This property knows my name. */
@property (nonatomic, strong) NSString *myName;
这样的凝视在调用的时候也会有提示,我们如今经常使用的VVDocument-Xcode 凝视插件,是一样的原理
记录文件经常使用标签:
让我介绍一些当你在记录一个文件时会用到的新标签:
@file: 使用这个标签来指出你正在记录一个文件(header 文件或不是)。
假设你将使用Doxygen来输出文档。那么你最好在这个标签后面紧接着写上文件名称字。
它是一个top level 标签。
@header: 跟上面的类似,可是是在 HeaderDoc中使用。当你不使用 Doxygen时。不要使用上面的标签。
@author:用它来写下这个文件的创建者信息
@copyright: 加入版权信息
@version: 用它来写下这个文件的当前版本号。假设在project生命周期中版本号信息有影响时这会非常重要。
再一次的,我仅仅给出最经常使用的标签。自己查看说明文档了解很多其他标签信息。
@class: 用它来指定一个class的凝视文档块的开头。
它是一个top level标签,在它后面应该给出class名字。
@interface: 同上
@protocol: 同上两个一样。仅仅是针对protocols
@superclass: 当前class的superclass
@classdesign: 用这个标签来指出你为当前class使用的不论什么特殊设计模式(比如,你能够提到这个class是不是单例模式或者类似其他的模式)。
@coclass: 与当前class合作的另外一个class的名字。
@helps: 当前class帮助的class的名字。
@helper: 帮助当前class的class名字。
使用HeaderDoc生成文档
到此我们就结束了,详细其它使用也能够參考以下这个
headerdoc2html
Xocde 高速生成文档
官方使用;
查询生成的HTML页面:
~/Library/Developer/Shared/Documentation/DocSets/
本文主要使用了appledoc
其次就是 headerdoc ,我測试了两种,仅仅是认为appledoc 的更好一些。看着界面更舒服一些。
原文链接:http://www.jianshu.com/p/65f1afdb9445
著作权归作者全部,转载请联系作者获得授权,并标注“简书作者”。
使用appledoc 生成技术API文档具体解释的更多相关文章
- GhostDoc:生成.NET API文档的工具 (帮忙文档)
在 Sandcastle:生成.NET API文档的工具 (帮忙文档) 后提供另一个生成API文档的工具. 1) 准备工作 安装GhostDoc Proc. 收费的哦.... 这个工具的优势是不像 ...
- 使用jsdoc-toolkit来自动生成js api文档
近来前端组小盆友开发的类库越来越多,很多情况下彼此不知道写了些什么方法,为了更好的合作提高工作效率,找了个比较好的api文档生成方法.使用jsdoc-toolkit来自动生成js api文档. 一. ...
- Spring Boot学习笔记 - 整合Swagger2自动生成RESTful API文档
1.添加Swagger2依赖 在pom.xml中加入Swagger2的依赖 <!--swagger2--> <dependency> <groupId>io.spr ...
- Grunt-jsdoc生成JS API文档
Grunt-jsdoc生成JS API文档 具体的请看官网 https://github.com/krampstudio/grunt-jsdoc 一:首先确保本机电脑上是否已经安装了nodejs和np ...
- JSDoc 3 生成javascript API文档
一.javascript注释规范 我们在编写javascript文件的时候,一般会添加一些注释.例如一些文件.类.方法和属性都应该用合适的标记和类型进行注释.这里不但方便我们的阅读,也能养成一个好的习 ...
- javadoc 工具生成开发API文档
=====================先来一点成就感===================== package com.springMybatis.dao; import com.springMy ...
- Spring Boot 集成 Swagger 生成 RESTful API 文档
原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...
- 使用Swagger2Markup归档swagger生成的API文档
文章出处: http://blog.didispace.com/swagger2markup-asciidoc/ 说明 项目中使用Swagger之后,我们能够很轻松的管理API文档,并非常简单的模拟接 ...
- Golang使用swaggo自动生成Restful API文档
#关于Swaggo 相信很多程序猿和我一样不喜欢写API文档.写代码多舒服,写文档不仅要花费大量的时间,有时候还不能做到面面具全.但API文档是必不可少的,相信其重要性就不用我说了,一份含糊的文档甚至 ...
随机推荐
- linux命令(38):split 分割文件
在Linux下用split进行文件分割: 模式一:指定分割后文件行数 对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割. 命令: split -l 300 large_file.txt ...
- SAP NetWeaver BW 7.3介绍
(摘自SAP 官方 EIM300 SAP NetWeaver BW 7.3 特色功能.前景展望与路线图)
- Animation.setFillAfter and Animation.setFillBefore的作用
转:http://blog.csdn.net/yangweigbh/article/details/9788531 setFillAfter(boolean fillAfter) 在Android ...
- VMWare ESX/ESXi 虚拟机硬盘的厚置备(Thick Provision)与精简置备(Thin Provision)的转换
VMWare ESX/ESXi 有两种硬盘置备方式,厚制备(thick)和精简置备(Thin) 有时可能会由于性能问题或磁盘空间需要将虚拟机磁盘在两种模式间进行互转,虽然在虚拟机配置页面是没有办法修改 ...
- 虚拟机三种网络模式详解(Bridge,Nat,Host-only)
虚拟机网络模式 无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3.Host-Only 初学者看到虚拟机有三种网络 ...
- Android Studio preview 不显示,程序运行正常
答案来自 stack flow 修改: res -> values -> style.xml style name="AppTheme" parent="Ba ...
- 解析Delphi 窗口置顶,及非主窗口置顶
方法一: procedure TForm1.Button2Click(Sender: TObject);begin Form2.Show; Application.NormalizeTopMosts; ...
- C#防止内存泄露的方法
一般程序员()都会这样认为:用C#这样的语言编程的一个好处就是无需再考虑内存的分配和释放.你只需创建对象,然后通过一种叫做垃圾收集的机制来处理这 些对象,也就是说:当它们不再被应用程序需要的时候来自动 ...
- 可嵌入图片视频jQuery全屏滑块
分享一款可嵌入图片视频jQuery全屏滑块.这是一款可定制的滑块幻灯片代码,支持键盘箭头切换.效果图如下: 在线预览 源码下载 实现的代码. html代码: <script type ...
- CTF之PHP黑魔法总结
继上一篇php各版本的姿势(不同版本的利用特性),文章总结了php版本差异,现在在来一篇本地日记总结的php黑魔法,是以前做CTF时遇到并记录的,很适合在做CTF代码审计的时候翻翻看看. 一.要求变量 ...