Clojure世界:API文档生成
浏览:1649次 出处信息
首先是codox,使用相当简单,我们这里都假设你使用Leiningen作为构建工具,在project.clj里添加codox依赖:
:dev-dependencies [[codox "0.5.0"]]
解下执行lein doc命令即可生成文档,生成的文档放在doc目录,在浏览器里打开index.html即可观察生成的文档。我给clojure-control生成的codox文档可以看这个链接,效果还是不错的。
第二个要介绍的工具是marginalia,使用方法类似codox,首先还是添加依赖:
:dev-dependencies [lein-marginalia "0.7.0"]
执行lein deps处理依赖关系,然后执行lein marg命令即可在docs目录生成文档,与codox不同的是marginalia只生成一个html文件,没有带js和css,但是效果也不错,可以看我给clojure-control生成的marg文档链接。marginalia生成的文档说明和源码左右对照,很利于阅读源码。
最后要介绍的就是Clojure.org自己在使用的autodoc,如果你喜欢clojure.org上的API文档格式可以采用这个工具。并且autodoc可以跟github pages结合起来,生成完整的项目文档并展示在github上。例如以clojure-control为例来介绍整个过程。首先你需要配置你的github pages,参照这个链接http://pages.github.com/。
第一步,仍然是在project.clj添加依赖:
:dev-dependencies [[lein-autodoc "0.9.0"]]
第二步,在你的.gitignore里忽略autodoc目录:autodoc/**
将这些更改提交到github上,接下来在你的项目目录clone一份项目源码到<project>/autodoc目录: git clone git@github.com:<user name>/<project name>.git autodoc
进入autodoc目录,执行下列命令创建一个gh-pages分支: $ cd autodoc
$ git symbolic-ref HEAD refs/heads/gh-pages
$ rm .git/index
$ git clean -fdx
$ cd ..
回到项目根目录后,执行lein autodoc命令在autodoc目录生成文档:$ git symbolic-ref HEAD refs/heads/gh-pages
$ rm .git/index
$ git clean -fdx
$ cd ..
lein autodoc
接下来将生成的文档推送到github分支上: $cd autodoc
$ git add -A
$ git commit -m"Documentation update"
$ git push origin gh-pages
等上几分钟,让github渲染你的文档,最终的效果看这个链接 http://killme2008.github.com/clojure-control $ git add -A
$ git commit -m"Documentation update"
$ git push origin gh-pages
autodoc和marginalia都支持maven,具体使用请看他们的文档。
建议继续学习:
- Clojure世界:XML处理 (阅读:1981)
- Clojure世界:Http Client (阅读:1984)
- Clojure世界:文件IO (阅读:1861)
- Clojure世界:如何做性能测试 (阅读:1744)
- Clojure世界:使用rlwrap增强REPL (阅读:1567)
- Clojure世界:静态代码分析 (阅读:1633)
- Clojure世界:单元测试 (阅读:1464)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:写好PRD文档的八个要素
后一篇:技术债务(母鸡的遭遇) >>
文章信息
- 作者:dennis 来源: BlogJava-庄周梦蝶
- 标签: Clojure
- 发布时间:2012-03-25 21:41:25
建议继续学习
近3天十大热文
- [46] 界面设计速成
- [40] Oracle MTS模式下 进程地址与会话信
- [40] 视觉调整-设计师 vs. 逻辑
- [38] IOS安全–浅谈关于IOS加固的几种方法
- [37] android 开发入门
- [36] 程序员技术练级攻略
- [36] 如何拿下简短的域名
- [35] 图书馆的世界纪录
- [35] 【社会化设计】自我(self)部分――欢迎区
- [32] 读书笔记-壹百度:百度十年千倍的29条法则