Использовать JavaHelp для документации конечного пользователя по приложениям, инструментам или плагинам на основе NetBeans? - PullRequest
2 голосов
/ 03 апреля 2012

Короче, верхняя часть этого поста - это то, что я пытаюсь сделать. Вторая часть - то, что было сделано до сих пор. Это действительно долго, но вы должны быть в состоянии увидеть, что я делаю из верхней части здесь. Просто проверьте заметки, если вас интересует более подробная информация.

Я создаю приложение, используя платформу NetBeans в качестве отправной точки. Предыдущая версия использовала JavaHelp для документации конечного пользователя. Я в порядке с продолжением практики, когда я пишу всю новую документацию, но я нахожу недостаток, если информация о его использовании.

Я понял достаточно далеко, как создать новый HelpSet и отношения XML к HTML. Я могу передать код в новых документах и ​​применить скриншоты, но это кажется очень ручным, и мне интересно, есть ли какие-нибудь плагины или инструменты для облегчения создания?

Делая гугл-фу, я нахожу несколько сообщений по этой теме, но большинство из них относятся к 2003 году и теперь зашли в тупик. Использование JavaHelp устарело? Ниже я обрисовываю в общих чертах, что я сделал для любого назидания людей, ищущих ту же самую вещь, и, возможно, кто-то может указать на неэффективность того, как я это делаю.

Это не страшный подход, но нужно добавлять строки в два XML-файла для каждого загружаемого файла, а затем иметь длинный кодовый URL-адрес, на который нужно указывать каждый раз, когда неудобно быстро писать этот материал.

Спасибо за чтение.

Редактировать: Одна вещь, с которой у меня есть проблема. Я не знаю, как изменить начальную целевую страницу для JavaHelp. Прямо сейчас написано «В этом списке перечислены все документы, загруженные с помощью IDE, щелкните слева, чтобы прочитать их». Это ничего не будет значить для моих конечных пользователей.

Кроме того, я не знаю, как изменить порядок тем слева. Прямо сейчас они не находятся в каком-либо полезном порядке. Я хотел бы расположить их в алфавитном порядке или поместить в какой-нибудь полезный порядок.


В Netbeans щелкните правой кнопкой мыши на модуле New-> Other, выберите 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-файлов на другие местоположения файлов справки и правильно открывать и закрывать дерево JavaHelp. Структура выглядит так: <mapID target="<com.yoruproject.modname" url="<htmlfilename/.html"/>

* 1045 например *

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

1 Ответ

2 голосов
/ 04 апреля 2012

В чем проблема номер один?Является ли текущий процесс слишком трудоемким?Я думаю, что было бы легче помочь, если бы вы задавали один четкий вопрос за один раз.В любом случае, вот несколько советов, которые могут помочь.

Насколько я могу судить, разработка Sun JavaHelp прекращена.Возможно, вы захотите попробовать Oracle Help .Это очень похоже на JavaHelp, но более активно поддерживается.

Существуют коммерческие средства разработки, которые помогают избавиться от рутинной работы по созданию JavaHelp (или справки Oracle).Примеры:

  • Helen : инструмент только для JavaHelp, последний выпуск которого был выпущен в апреле 2012 года (поэтому JavaHelp не может быть мертвым в конце концов ...)
  • WebWorks ePublisher : инструмент, который может генерировать множество других форматов справки, помимо JavaHelp

Другими вариантами являются бесплатные платформы документации на основе XML DocBook и DITA, которые оба предоставляют таблицы стилей (см. здесь и здесь ), которые генерируют JavaHelp из источников XML (я думаю, что очень мало нужно для того, чтобы эта работа также работала для справки Oracle).

Есть такжедругие (не JavaHelp) альтернативы.Например, DocBook также предоставляет формат справки через Интернет: WebHelp .Возможно, вы найдете это интересным.

...