Clojure世界:API文档生成

简介:
    继续Clojure世界之旅,介绍下我今天的探索成果,使用clojure生成clojure项目的API文档。在java里,我们是利用javadoc生成API文档,各种build工具都提供了集成,例如maven和ant都提供了javadoc插件或者task。在Clojure世界里,同样有一系列工具帮助你从源码中自动化生成API文档。今天主要介绍三个工具。不过我不会介绍怎么在clojure里写doc,具体怎么做请看一些开源项目,或者直接看clojure.core的源码。

    首先是 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目录生成文档:
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     
    autodoc和marginalia都支持maven,具体使用请看他们的文档。

文章转自庄周梦蝶  ,原文发布时间 2012-03-21

目录
相关文章
|
1月前
|
数据可视化 Linux API
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
|
2月前
|
分布式计算 API Linux
通义千问API:找出两篇文章的不同
本章我们将介绍如何利用大模型开发一个文档比对小工具,我们将用这个工具来给互联网上两篇内容相近但版本不同的文档找找茬,并且我们提供了一种批处理文档比对的方案
|
2月前
|
数据可视化 API 开发者
通俗易懂:一步步教你 Flask 项目自动生成 API 文档
Flasgger,作为一款强大的 Flask 扩展,自动从 Flask 应用中提取并生成 OpenAPI 规范文档,配备 SwaggerUI,为开发者提供了一条快捷通道,让 API 的文档编制和交互式测试变得简单易行。Flasgger 的设计原则是简化开发流程,通过与 Flask 框架的无缝整合,让开发者可以更专注于应用逻辑的构建。
|
2月前
|
API
Poi 中文API文档 「40种操作 Excel文件的姿势」
Poi 中文API文档 「40种操作 Excel文件的姿势」
116 0
|
3月前
|
JSON API 数据格式
您可以在钉钉开放平台的API文档中找到对应的API接口来创建审批实例
您可以在钉钉开放平台的API文档中找到对应的API接口来创建审批实例【1月更文挑战第20天】【1月更文挑战第96篇】
44 2
|
3月前
|
JSON API 数据格式
您可以在钉钉开放平台的API文档中找到对应的API接口来创建审批实例
您可以在钉钉开放平台的API文档中找到对应的API接口来创建审批实例【1月更文挑战第9天】【1月更文挑战第41篇】
130 2
|
3月前
|
数据可视化 Linux API
使用Docker安装部署Swagger Editor并远程访问编辑API文档
使用Docker安装部署Swagger Editor并远程访问编辑API文档
51 0
|
5月前
|
API 对象存储
postman导出api文档
postman导出api文档
59 0
|
4月前
|
Dubbo Java 测试技术
提升API文档品质:Swagger annotations (注解)使用教程
Swagger 提供的注解集是其框架中定义 API 规范和文档的重要工具。这些注解在代码里标注重要部分,为 Swagger 的解析工作铺路,进而生成详尽的 API 文档。开发者编写的注释能够被转换成直观的文档,并展现API端点、参数和响应等信息。这不仅提升了开发人员对 API 运作的理解与沟通,也使得测试和集成过程更加顺畅。
|
1月前
|
API 开发者
1688阿里巴巴中国站平台 API接口获取商品详情 接入文档说明
1688(阿里巴巴批发网)的API接入文档是专为开发者提供的,用于指导如何集成和使用1688平台提供的API接口。这些API接口可以帮助开发者实现各种功能,如商品搜索、订单管理、用户认证等。