随笔-57  评论-129  文章-0  trackbacks-0

微软的帮助文件,其提供了一个叫做“HTML Help Workshop”的工具制作和编译。

但是其目录编辑的操作不是很方便,而且绝对是件非常枯燥的事情。

看看他的目录描述文件:

 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->
</HEAD>
<BODY>
<OBJECT type="text/site properties">
 <param name="ImageType" value="Folder">
</OBJECT>
<UL>
   <LI> <OBJECT type="text/sitemap">
      <param name="Name" value="index">
      <param name="Local" value="html\index.html">
      </OBJECT>
  <LI> <OBJECT type="text/sitemap">
     <param name="Name" value="前言">
     <param name="Local" value="html/preface.html">
     </OBJECT>
..........................
</UL>
</BODY></HTML>

好了,是一种用html 文本描述的结构,我们只要在其中插入几个表示目录的OBJECT标记就是。

对于hibernate 参考来说,其目录写在一个index.html文件中,我们可以简单的通过网页脚本吧它的目录读出,代码如下:

<textarea id=text rows="30" cols="100" wrap="off"
 ondblclick="writeTree(this)"
></textarea>

 <script>
 function writeTree(disp,root){
   if(root == null){
     root=document.body.getElementsByTagName("DL")[0];
   }
   var value = ""
   value += '<HTML><!-- Sitemap 1.0 --><BODY><OBJECT type="text/site properties"><param name="Window Styles" value="0x800025"><param name="ImageNumber" value="11"></OBJECT><UL>\n';
   value += buildTree(0,root);
   value += '</UL></BODY></HTML>';
   disp.value= value;
 }
 function buildTree(deep,root){
   var perfix="";
   for(var j=0;j<deep;j++){
     perfix+='\t';
   }
   var value="";
   var eles = root.childNodes;
   for(var i=0;i<eles.length;i++){
      var entry = eles[i];
      if(entry.tagName == "DT"){
        var link = entry.getElementsByTagName("A")[0];
        if(link.firstChild){
          value+=perfix;
          value+='<LI> <OBJECT type="text/sitemap">';
        value+='<param name="Name" value="'+link.firstChild.nodeValue+'">';
        value+='<param name="Local" value="guide/'+link.getAttribute("href")+'">';
        value+='</OBJECT>\n';
      }
    }else if(entry.tagName == "DD"){
      var dir = entry.getElementsByTagName("DL")[0]; 
      value+=perfix+"<UL>\n";
      value+=buildTree(deep+1,dir);
      value+=perfix+"</UL>\n";
    }
     

   }
   return value;
 }
 </script>


将这段代码插入htm文件的body 元素后,打开,双击多行文本框。将声称chm 目录描述,将其保存为contents.hhc,重新打开chm工程后,将contents.hhc文件加入到工程,编译,chm 文件制作完成。






评论也很精彩,请点击查看精彩评论。欢迎您也添加评论。查看详细 >>





JavaEye推荐
杭州:外企高薪聘请系统维护工程师(10-15K)
杭州:国内大型网络公司高薪招聘系统架构师,资深JAVA开发工程师
北京:优秀公司NHNChina招聘:WEB开发,系统管理,JAVA开发, DBA
广州:急招 JAVA开发经理/系统架构师(10-15K/月)也招聘java程序员



文章来源: http://jindw.javaeye.com/blog/33990
posted on 2005-06-11 15:26 金大为 阅读(70) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: