这篇文章的较短的顶部是我正在尝试做的。第二部分是到目前为止所做的工作。这真的很长,但你应该能够看到我在这里做的最重要的事情。如果您对更多细节感兴趣,请查看备注。
我正在使用NetBeans平台构建一个应用程序作为跳转点。以前的版本使用JavaHelp来获取最终用户文档。在写完所有新文档的时候,我很好地继续练习,但如果有关它的信息,我发现它很缺乏。
我已经弄清楚如何创建一个新的HelpSet& XML到HTML的关系。我可以在新文件中处理代码&应用截图,但感觉非常手动,我想知道是否有任何插件或工具来促进创作?
做一些Google-foo我发现了几个关于这个话题的帖子,但大多数都与2003年有关,现在已经过时了。使用JavaHelp是否过时了? 下面我概述了我为寻找同样事物的人的任何启发所做的事情,也许有人可以指出我这样做的效率低下。
这不是一个糟糕的方法,但是我必须为我上传的每个文件添加两个XML文件的行,然后每次都必须指向一个长代码URL,这对于快速编写这些东西感觉很麻烦。
感谢阅读。
编辑:有一件事我有问题。我不知道如何更改JavaHelp的初始登录页面。现在它说“这列出了IDE加载的所有文档,点击左侧阅读它”。这对我的最终用户来说并不意味着什么。
另外,我不知道如何更改左侧主题的顺序。现在他们似乎没有任何有用的顺序。我想按字母顺序排列,或者将它们放入某种有用的顺序中。
在Netbeans中,右键单击模块New->其他单击Module Development选择JavaHelp Help Set。这将在模块下创建一个新包。它将遵循模块的命名约定,并将.docs追加到最后。 E.G org.netbeans.newmodule.docs。
在此下,它将创建6个文件:
package-info.java (package info file)
<modulename>-about.html (As seen HTML help file)
<modulename>-map.xml (creates a connection to the HTML pages (E.G about) to a target, used in making links & building the hierarchy for the table of contents)
<modulename>-toc.xml (Table of contents XML)
<modulename>-hs.xml (Specifies the Table of contents view & javax control, & index)
<modulename>-idx.xml (Controls the index)
第一个HTML文件是初始信息页面。这是最终用户将阅读的帮助文件。它只是普通的HTML,具体格式。
<modulename>-about.html
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>About Module</title>
<link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h2>About Module</h2>
<p>
<!-- TODO describe your module, add more pages... -->
</p>
</body>
</html>
<!--
Tip: to create a link which will open in an external web browser, try:
<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
<param name="content" value="http://www.netbeans.org/">
<param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
<param name="textFontSize" value="medium">
<param name="textColor" value="blue">
</object>
To create a link to a help set from another module, you need to know the code name base and path, e.g.:
<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
(This link will behave sanely if that module is disabled or missing.)
-->
任何内容都可以添加到文档的<body>
部分。我使用过简单的内联CSS,到目前为止使用<FONT>
标签已经工作了。它还链接到外部CSS文件,所以我认为这也会起作用。您可以通过指定路径链接到其他帮助文件。该路径始终以nbdocs:/<yorumodulepath>
E.G:Any event added here will show up on the <a href="nbdocs:/com/mymodule/mod1/start/docs/start-about.html">start page</a>
如果图像与javahelp在同一个源包中,则可以相对链接。
E.G:<img src="startPageLogo.png">
XML文件很重要,因为它们设置了帮助文档的结构。
<modulename>-map.xml
此文件将HTML文件链接到nbdocs文件。这将允许您在HTML文件中创建链接到其他帮助文件位置并使其正确打开&amp;关闭JavaHelp树。
结构似乎是:<mapID target="<com.yoruproject.modname" url="<htmlfilename/.html"/>
E.G
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 2.0//EN" "http://java.sun.com/products/javahelp/map_2_0.dtd">
<map version="2.0">
<mapID target="com.mymodule.mod1.start.about" url="start-about.html"/>
<mapID target="com.mymodule.mod1.start.calevents" url="start-calevents.html"/>
<mapID target="com.mymodule.mod1.start.backupreminder" url="start-backupreminder.html"/>
</map>
<modulename>-toc.xml
此文件控制JavaHelp左侧的结构,用户可以使用该结构深入查看帮助文档的不同区域。格式如下:
<toc version="2.0">
<tocitem text="Top Category">
<tocitem text="SubItem" target="com.mymod.mod1.start.about"/>
<tocitem text="SubCategory">
<tocitem text="SubCategoryItem1" target="com.mymod.mod1.start.backupreminder"/>
<tocitem text="SubCategory2" target="com.mymod.mod1.start.about">
<tocitem text="SubCategoryItem2" target="com.mymod.mod1.start.classifyreminder"/>
</tocitem>
</tocitem>
</tocitem>
</toc>
以下是完整档案的示例:
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 2.0//EN" "http://java.sun.com/products/javahelp/toc_2_0.dtd">
<toc version="2.0">
<tocitem text="Start Page">
<tocitem text="Getting Started" target="com.mymodule.mod1.start.about"/>
<tocitem text="Calendar Events" target="com.mymodule.mod1.start.calevents"/>
<tocitem text="Notification Pane">
<tocitem text="Backup Reminders" target="com.mymodule.mod1.start.backupreminder"/>
<tocitem text="New Classification Downloads" target="com.mymodule.mod1.start.backupreminder"/>
</tocitem>
</tocitem>
</toc>
<modulename>-hs.xml
我还没有弄乱这个文件。它似乎概述了目录的位置,索引的IDX文件以及SearchView文件(这是一个默认的Java位置)。
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 2.0//EN" "http://java.sun.com/products/javahelp/helpset_2_0.dtd">
<helpset version="2.0">
<title>HMSStart Help</title>
<maps>
<homeID>com.mymodule.mod1.start.about</homeID>
<mapref location="start-map.xml"/>
</maps>
<view mergetype="javax.help.AppendMerge">
<name>TOC</name>
<label>Table of Contents</label>
<type>javax.help.TOCView</type>
<data>start-toc.xml</data>
</view>
<view mergetype="javax.help.AppendMerge">
<name>Index</name>
<label>Index</label>
<type>javax.help.IndexView</type>
<data>start-idx.xml</data>
</view>
<view>
<name>Search</name>
<label>Search</label>
<type>javax.help.SearchView</type>
<data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
</view>
</helpset>
答案 0 :(得分:2)
头号问题是什么?是不是现在的过程太费力了?如果您一次只提出一个明确的问题,我认为提供帮助会更容易。无论如何,这里有一些可能有用的提示。
据我所知,Sun JavaHelp的发展已经停止。您可能想尝试使用Oracle Help。它与JavaHelp非常相似,但更积极地维护。
有一些商业创作工具可以帮助您解决生产JavaHelp(或Oracle Help)的问题。例子:
其他选项是免费的基于XML的文档框架DocBook和DITA,它们都提供了从XML源生成JavaHelp的样式表(请参阅here和here)(我认为在为了使这项工作也适用于Oracle帮助。)
还有其他(非JavaHelp)替代方案。例如,DocBook还提供基于Web的帮助格式:WebHelp。也许你会觉得有趣。