<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 閱讀(4247) 評論(0)  編輯  收藏 所屬分類: Clojure

        繼續(xù)Clojure世界之旅,介紹下我今天的探索成果,使用clojure生成clojure項目的API文檔。在java里,我們是利用javadoc生成API文檔,各種build工具都提供了集成,例如maven和ant都提供了javadoc插件或者task。在Clojure世界里,同樣有一系列工具幫助你從源碼中自動化生成API文檔。今天主要介紹三個工具。不過我不會介紹怎么在clojure里寫doc,具體怎么做請看一些開源項目,或者直接看clojure.core的源碼。

        首先是codox,使用相當(dāng)簡單,我們這里都假設(shè)你使用Leiningen作為構(gòu)建工具,在project.clj里添加codox依賴:
      :dev-dependencies    [[codox "0.5.0"]]

        解下執(zhí)行lein doc命令即可生成文檔,生成的文檔放在doc目錄,在瀏覽器里打開index.html即可觀察生成的文檔。我給clojure-control生成的codox文檔可以看這個鏈接,效果還是不錯的。

        第二個要介紹的工具是marginalia,使用方法類似codox,首先還是添加依賴:
    :dev-dependencies [lein-marginalia "0.7.0"]
       
        執(zhí)行l(wèi)ein deps處理依賴關(guān)系,然后執(zhí)行lein marg命令即可在docs目錄生成文檔,與codox不同的是marginalia只生成一個html文件,沒有帶js和css,但是效果也不錯,可以看我給clojure-control生成的marg文檔鏈接marginalia生成的文檔說明和源碼左右對照,很利于閱讀源碼。

       最后要介紹的就是Clojure.org自己在使用的autodoc,如果你喜歡clojure.org上的API文檔格式可以采用這個工具。并且autodoc可以跟github pages結(jié)合起來,生成完整的項目文檔并展示在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目錄,執(zhí)行下列命令創(chuàng)建一個gh-pages分支:
     $ cd autodoc
     $ git symbolic-ref HEAD refs/heads/gh-pages
     $ rm .git/index
     $ git clean -fdx
     $ cd ..
         回到項目根目錄后,執(zhí)行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,具體使用請看他們的文檔。
    主站蜘蛛池模板: 国产成人精品久久亚洲高清不卡 | 久久精品国产亚洲5555| 国产精品亚洲а∨无码播放不卡| 免费a在线观看播放| 精品国产一区二区三区免费| 亚洲依依成人精品| 亚洲日本在线观看| 免费无遮挡无码视频网站| 好猛好深好爽好硬免费视频| 亚洲国产情侣一区二区三区| 亚洲AV无码一区二区三区国产| 95老司机免费福利| 新最免费影视大全在线播放| 91亚洲精品第一综合不卡播放| 拔擦拔擦8x华人免费久久| 今天免费中文字幕视频| 亚洲精品GV天堂无码男同| 亚洲va久久久噜噜噜久久| 黑人粗长大战亚洲女2021国产精品成人免费视频| 一道本在线免费视频| 亚洲自国产拍揄拍| 亚洲精品乱码久久久久久自慰| 大陆一级毛片免费视频观看| 国内少妇偷人精品视频免费| 亚洲日韩在线中文字幕综合 | 免费在线观看视频a| 最近中文字幕大全免费视频| 无人视频在线观看免费播放影院| 亚洲国产美女精品久久| 亚洲人成人无码网www电影首页| 狠狠久久永久免费观看| 日本视频一区在线观看免费| 青柠影视在线观看免费高清 | 亚洲欧洲精品视频在线观看| 精品国产亚洲男女在线线电影| 天天干在线免费视频| 3344永久在线观看视频免费首页| 巨胸狂喷奶水视频www网站免费| 激情婷婷成人亚洲综合| 亚洲午夜无码久久久久软件| 亚洲卡一卡2卡三卡4麻豆|