<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    Clojure世界:API文檔生成

    Posted on 2012-03-21 22:24 dennis 閱讀(4241) 評論(0)  編輯  收藏 所屬分類: Clojure

        繼續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,具體使用請看他們的文檔。
    主站蜘蛛池模板: 久久久久国色AV免费观看性色| 免费精品一区二区三区第35| 国产香蕉免费精品视频| 亚洲美女aⅴ久久久91| 99精品视频免费在线观看| 亚洲精品乱码久久久久久自慰| 香蕉免费在线视频| 好看的亚洲黄色经典| 久久精品乱子伦免费| 亚洲最大成人网色| 可以免费看黄的网站| 亚洲av无码av在线播放| 亚洲A∨精品一区二区三区| 一级女性全黄生活片免费看| 亚洲欧洲自拍拍偷午夜色无码| 国产一区二区三区免费观在线| 国产亚洲真人做受在线观看| 免费A级毛片在线播放| 亚洲一区二区三区在线观看蜜桃 | 丰满少妇作爱视频免费观看| 成人伊人亚洲人综合网站222| 丁香六月婷婷精品免费观看| 亚洲精品乱码久久久久久中文字幕 | 自拍偷自拍亚洲精品第1页| 97在线视频免费公开视频| 亚洲人成网址在线观看 | 免费的黄色的网站| 亚洲AV无码久久精品成人| 亚洲一级毛片免费在线观看| 亚洲av纯肉无码精品动漫| 亚洲综合日韩久久成人AV| 18禁免费无码无遮挡不卡网站 | 美女一级毛片免费观看| 亚洲午夜久久久久久久久久| 亚洲一区在线免费观看| 国产精品亚洲小说专区| 亚洲s色大片在线观看| 成人免费午夜无码视频| 亚洲av永久中文无码精品| 在线日韩日本国产亚洲| av免费不卡国产观看|