2012-04-03 7 views
2

Der kürzere obere Abschnitt dieses Post ist was ich versuche zu tun. Der zweite Teil ist was bisher gemacht wurde. Es ist wirklich lang, aber du solltest in der Lage sein zu sehen, was ich hier vom obersten Stück mache. Überprüfen Sie die Notizen, wenn Sie sich für mehr Details interessieren.Verwenden Sie JavaHelp für Endbenutzer-Dokumentation auf NetBeans-basierten Anwendungen, Tools oder Plugins, um es einfacher zu machen?

Ich baue eine Anwendung mit der NetBeans-Plattform als einen Startpunkt. Die vorherige Version verwendete JavaHelp für die Endbenutzerdokumentation. Mir geht es gut, die Praxis fortzusetzen, während ich die gesamte neue Dokumentation aufschreibe, aber ich finde einen Mangel, wenn Informationen darüber verwendet werden.

Ich habe weit genug herausgefunden, wie Sie ein neues HelpSet & die XML zu HTML-Beziehungen erstellen. Ich kann Hand Code in neue Dokumente & Screenshots anwenden, aber es fühlt sich sehr manuell an, und ich frage mich, gibt es irgendwelche Plugins oder Tools, um die Erstellung zu erleichtern?

Doing einige Google-foo Ich finde mehrere Beiträge rund um das Thema, aber die meisten sind relevant zurück bis 2003 und sind jetzt Sackgassen. Ist JavaHelp veraltet? Im Folgenden skizziere ich, was ich für die Erbauung von Menschen getan habe, die nach der gleichen Sache suchen, und vielleicht kann jemand auf eine Ineffizienz bei der Art und Weise hinweisen, wie ich das tue.

Es ist kein schrecklicher Ansatz, aber für jede Datei, die ich hochlade, zwei Zeilen zu zwei XML-Dateien hinzuzufügen, dann hat eine lange Code-URL, um auf jedes Mal zu zeigen, lästig für das Schreiben dieses Zeug schnell.

Danke fürs Lesen.

Edit: Eine Sache, die ich habe ein Problem mit. Ich weiß nicht, wie ich die anfängliche Zielseite für die JavaHelp ändern soll. Im Moment sagt es "Dies listet alle mit der IDE geladene Dokumentation auf, klicken Sie nach links, um sie zu lesen". Das wird meinen Endnutzern nichts bedeuten.

Auch ich weiß nicht, wie man die Reihenfolge der Themen auf der linken Seite ändert. Im Moment scheinen sie in keiner sinnvollen Reihenfolge zu sein. Ich möchte alphabetisch sortieren oder sie in eine sinnvolle Reihenfolge bringen.


In Netbeans, klicken Sie rechts auf dem Modul Neu-> Andere die Modulentwicklung wählen Javahelp Hilfe Set klicken. Dies wird ein neues Paket unter dem Modul erstellen. Es folgt der Namenskonvention Ihres Moduls und fügt eine .docs an das Ende an. E.G org.netbeans.newmodule.docs.

Darunter wird es 6-Dateien erstellen:

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) 

Die erste HTML-Datei Seite der Erstinformation ist. Es ist die Hilfedatei, die der Endbenutzer lesen wird. Es ist nur normales HTML in einem bestimmten Format.

<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.) 
--> 

Alles kann in den <body> Abschnitt des Dokuments hinzugefügt werden. Ich habe mit einfachen Inline-CSS gearbeitet und die Verwendung von <FONT> Tags haben bisher funktioniert. Es verweist auch auf eine externe CSS-Datei, also nehme ich an, das würde auch funktionieren. Sie können eine Verknüpfung zu anderen Hilfedateien herstellen, indem Sie den Pfad angeben. Der Weg beginnt immer mit nbdocs:/<yorumodulepath>

z.B: Any event added here will show up on the <a href="nbdocs:/com/mymodule/mod1/start/docs/start-about.html">start page</a>

Bilder verknüpft werden können, relativ, wenn sie in der gleichen Quelle Paket wie die Java sind.

z.B: <img src="startPageLogo.png">

Die XML-Dateien wichtig sind, weil sie Setup die Struktur der Hilfe-Dokumentation.

<modulename>-map.xml 

Diese Datei verknüpft die HTML-Dateien mit den nbdocs-Dateien. Dadurch können Sie innerhalb der HTML-Dateien Verknüpfungen zu anderen Hilfedateipositionen erstellen und sie ordnungsgemäß öffnen & Schließen Sie die JavaHelp-Struktur. Die Struktur scheint zu sein: <mapID target="<com.yoruproject.modname" url="<htmlfilename/.html"/>

z.B

<?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 

Diese Datei steuert die Struktur auf der linken Seite des Javahelp, dass der Benutzer einen Drilldown in verschiedenen Bereichen der Hilfedokumentation verwenden können. Das Format geht wie:

<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> 

Hier ist ein Beispiel einer vollständigen Datei:

<?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 

ich noch nicht Chaos mit dieser Datei haben. Es scheint die Position des Inhaltsverzeichnisses, der IDX-Datei für den Index und der SearchView-Datei (die ein Standard-Java-Speicherort war) zu umreißen.

<?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> 

Antwort

2

Was ist das Problem Nummer eins? Ist der aktuelle Prozess zu mühsam? Ich denke, es wäre leichter zu helfen, wenn Sie eine einzige klare Frage auf einmal stellen würden. Wie auch immer, hier sind einige Tipps, die helfen könnten.

Soweit ich das beurteilen kann, hat die Entwicklung von Sun JavaHelp aufgehört. Vielleicht möchten Sie stattdessen Oracle Help ausprobieren. Es ist JavaHelp sehr ähnlich, wird jedoch aktiver gepflegt.

Es gibt kommerzielle Authoring-Tools, die helfen, die Plackerei von der Erstellung von JavaHelp (oder Oracle Help) zu befreien. Beispiele:

  • Helen: ein Javahelp-Tool, das nur seine neueste Version im April 2012 hatte (so Java kann nicht tot sein, nachdem alle ...)
  • WebWorks ePublisher: ein Tool, das viele weitere Hilfe Formate erzeugen kann neben Javahelp

Weitere Optionen sind die freie XML-basierte Dokumentation Frameworks DocBook und DITA, die beide Stylesheets bieten (siehe here und here), die Java erzeugt aus XML-Quellen (ich glaube, sehr wenig gebraucht wird, um dies zu machen arbeite auch für Oracle Help).

Es gibt auch andere (nicht JavaHelp) Alternativen. Zum Beispiel bietet DocBook auch ein webbasiertes Hilfeformat: WebHelp. Vielleicht finden Sie das interessant.

+0

Es ist zu mühsam, sowie ich kann es nicht richtig brandmarken. Meine Anwendung ist im Grunde eine Reihe von Modulen auf Netbeans. Ich habe alle Netbeans-Hilfe entfernt und ich habe für jedes Modul ein HelpSet erstellt. Aber das Ende des Inhaltsverzeichnisses sieht im Grunde wie Mist aus, und die Navigation saugt. Aber, wie Sie sagen, es könnte auf dem Weg nach draußen sein, deshalb werde ich die anderen Lösungen, die Sie vorschlagen, überprüfen. – kevingreen

+0

Die Frage ist viel zu lang geworden, da ich Fortschritte gemacht habe, habe ich sie ständig aktualisiert.Ich hatte gehofft, irgendjemandem zu helfen, der nach dem gleichen Ding suchen könnte, einen Vorsprung zu bekommen, ihr Problem zu lösen. – kevingreen