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

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

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

    Thinking in Java
    Java開發技巧與實踐
    posts - 9,comments - 6,trackbacks - 0

    最近看到一篇文章,其中講述了各種Javadoc生成chm的方法及工具。

    其實我一直以來都是使用自己寫的一個工具來生成的,不過這個工具只是生成了.hhp、.hhc和.hhk文件,最后還需要使用FAR進行簡單的編輯和壓縮。不過我的工具可以配置并識別目錄中包含多個API目錄的情況,并能夠將非API的部分生成TOC文件(之所以要使用FAR進行簡單的編輯,也是因為非API的TOC部分需要根據情況自己修改或增減)。




    上圖是我是用這個工具生成的Eclipse 3.5的chm文檔。

    其實這個過程很簡單,我們只需要構造自己的文檔解析器,并按照hhp、hhc和hhk格式規范生成相應的文件就行了。其中文檔解析器我使用了Java的正則表達式來解析,其解析式的核心如下:

    1 public static final String _INDEX_PATTERN = "<DT><A HREF=\"([\\p{Graph}|\\p{Blank}]*?)\"(\\p{Space}\\p{Alpha}+?=\".*?\")?+><B>(.*?)</B></A>(.*?)\\p{Space}-";
    2     public static final String _CONTEXT_PATTERN = "<TD><CODE><B><A HREF=\"((\\p{Graph}*?)#(\\p{Graph}*?))\">(.*?)</A></B>(.*?)</CODE>" ;
    3     public static final String _TITLE_PATTERN = "<title>(.*?)</title>";

    其中第一行是索引文件條目的表達式,這里我是使用了index-files來生成索引的,當然在沒有index-files的時候是使用TOC解析出來的條目構建。
    第二行是TOC條目的表達式,第三行是提取文件title時使用的表達式。
    當然這里表達式是有缺陷的,比如不能解析不嚴格的HTML標簽等等,不過對于我自己而言已經足夠應付絕大多數Javadoc了。




    無人分享的快樂不是真快樂,沒人分擔的痛苦是真痛苦。
    posted on 2010-01-12 14:22 Feenn 閱讀(1213) 評論(4)  編輯  收藏

    FeedBack:
    # re: Javadoc的chm制作
    2010-01-16 11:36 | 李順利
    哥們,能告訴我你文檔解析器具體實現嗎?
    謝謝
    我就是寫《Javadoc轉換chm幫助文檔的四種方法總結》的作者,謝謝  回復  更多評論
      
    # re: Javadoc的chm制作
    2010-01-17 10:46 | Feenn
    @李順利
    回復到你郵箱里了  回復  更多評論
      
    # re: Javadoc的chm制作
    2010-11-02 16:46 | hhk
    能給個.hhp、.hhc和.hhk的規范嗎?郵箱:hhk1973@163.com  回復  更多評論
      
    # re: Javadoc的chm制作
    2011-07-11 10:52 | kenhome
    這位前輩能把這個具體怎么實現發到我的郵箱里邊嗎?我的郵箱地址是:7409602122qq.com,謝謝!!我找了很久了···  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 免费视频成人国产精品网站| 亚洲国产精彩中文乱码AV| 成人无遮挡裸免费视频在线观看 | 亚洲精品午夜无码专区| 亚洲中文字幕视频国产| 亚洲中文字幕无码专区| 久久精品国产亚洲一区二区三区| 亚洲 国产 图片| 亚洲美女高清一区二区三区| 亚洲狠狠爱综合影院婷婷| 亚洲色婷婷综合开心网| 亚洲国产精品一区二区第四页| 亚洲欧洲精品成人久久曰影片| 亚洲一区无码精品色| 亚洲另类激情综合偷自拍图| 亚洲成AV人片在线观看| 久久精品九九亚洲精品| 亚洲youjizz| 春暖花开亚洲性无区一区二区 | 西西人体44rt高清亚洲| 亚洲AV本道一区二区三区四区| 亚洲最大的成网4438| 亚洲第一永久在线观看| 亚洲色大成网站www永久网站| 色窝窝亚洲av网| 久99久无码精品视频免费播放| 免费国产99久久久香蕉| 91在线老王精品免费播放| 无码日韩人妻av一区免费| 国产成人免费A在线视频| 中文字幕亚洲电影| 亚洲国产国产综合一区首页| 中中文字幕亚洲无线码| 美女被免费网站视频在线| 成人爽a毛片免费| 嘿嘿嘿视频免费网站在线观看| 国产福利免费在线观看| 亚洲人JIZZ日本人| 亚洲永久中文字幕在线| 亚洲国产成人AV网站| 十八禁在线观看视频播放免费|