替代HTML帮助


12

当前,我们使用一个名为AsciiDoc的系统,该系统使我们可以使用简单的文本标记创建文档。由此,我们可以生成多种输出格式。我们仅使用pdf输出和chm输出格式。

我想知道是否有chm替代品?我正在寻找的是可以离线使用我们的软件的东西(这很重要,因为我们的很多用户都位于非常遥远的地方)。它应该有一个索引(它可以像带有超链接术语的html页面一样简单),应该是可搜索的,并且它应该具有一种允许从代码中调用特定条目的机制(类似于上下文相关的帮助)。

在这种情况下,针对PDF的两件事是:

  1. 上下文相关帮助不是一种选择
  2. 通常文件比较大
  3. PDF比上下文相关帮助更适合打印文档

我想要的是使用html。html的唯一问题是,我似乎无法弄清楚如何自动提供关键字搜索(除了浏览器的ctrl + f功能外,我希望更明显)。我似乎也找不到自动生成关键字的超链接索引的方法。由于有section标签,因此上下文相关的帮助将非常简单-我可以简单地将我感兴趣的页面和部分的url传递给默认浏览器,并且该页面应加载到正确的部分。

我的要求听起来像chm一样糟糕-确实如此。我根据chm建模了需求。我不喜欢chm的唯一原因是因为代码使用mapids等与之交互的方式。我宁愿使用存储纯文本列表(为我自动生成)的方式,我的代码可以使用该列表访问文档的上下文相关部分。

我正在构想一个脚本,该脚本将遍历html输出文件并生成一个索引页面,该页面仅包含找到的关键字列表。显然,应该有单词排他机制来忽略诸如“ the”,“ it”,“ is”等单词。这部分将相对容易编写。第二部分将需要某种脚本来将关键字数据库及其在html文本中的位置放在一起。我认为这将是棘手的部分,同时在浏览器中提供搜索机制。

关于替代方案的任何想法将不胜感激。我很想使用托管在某处Web服务器上的Wiki或一组静态html页面,但是我们有一个关键的离线使用要求。只是将html放在本地驱动器上并不能满足我们所需的搜索要求。

编辑:

我设计了采矿业使用的软件。许多地雷都很偏远,无法以任何有意义的方式访问互联网。pdf或html或chm没什么问题(除了它变老了)。如果我可以在正确的位置显示pdf文件(即上下文相关帮助),则可以使用它。我几乎想写自己的东西-基本上它将是便携式Wiki。说到这一点,如果您建议使用便携式Wiki,则必须考虑最终用户,他们可能没有使用此类工具的经验。它必须完全简单。那是chm的美丽,与之合作很痛苦,但最终用户喜欢它。


1
在构建搜索机制中使用标准工具(如浏览器)有什么问题。用户了解,与您的自定义搜索机制相比,这要经受更多的考验,而用户对用户界面的要求
要比

1
@Raynos基于浏览器的帮助通常很糟糕。VS2010中的默认帮助系统就是一个很好的例子。
MetalMikester,2011年

Answers:


4

如果您准备使用DocBook XML标记而不是HTML来编写帮助,则DocBook支持生成WebHelp:http ://wiki.docbook.org/WebHelp

WebHelp文档也是输出的演示:http : //docbook.sourceforge.net/release/xsl/current/webhelp/docs/content/ch01.html

它为您提供了基于Web的HTML帮助格式,其中包括:

  • 全文搜索:
    • 支持英语,法语和德语。通过实现词干分析器,可以为其他语言添加词干支持。
    • 使用Lucene搜索引擎中的代码支持中文,日文和韩文。
    • 搜索突出显示,显示搜索到的术语在结果中出现的位置。
    • 搜索结果可以包含目标的简短描述。
  • 目录窗格带有可折叠的目录树。
  • 内容窗格和目录的自动同步。
  • 无需使用框架集即可实现目录和搜索窗格。
  • 一个Ant build.xml文件以生成输出。

1
基本上这就是AsciiDoc所做的。
bluebill 2011年

4

RoboHelp的创建者继续从事其他工作,并回来寻找更好的选择。查看MadCap的Flare-它支持多种输出格式,生成索引,并提供本地操作(通过JavaScript)的搜索功能。


2

我们一直在使用Adobe RoboHelp生成各种样式的脱机帮助文档。它提供了许多内容输出和集成选项。此工具的妙处在于,您可以将其交给非开发人员,并且不费吹灰之力就可以将其内容集成到您的解决方案中。


1

CHM本身正在变老,并且Microsoft也已转移到更新的事物:http : //msdn.microsoft.com/zh-cn/library/bb164608(v=vs.80).aspx

但是,如果您真的想避免将帮助转换为现有系统,并且正在考虑如何在静态帮助文件中提供搜索和关键字查找,则有两个建议:

  • 在项目中添加一个小型的仅限localhost的HTTP服务器,以使用文档为网站提供服务。问题是何时或如何启动/停止此HTTP服务器和/或保持其运行。一种替代方法是实现自定义URL方案,但这会将您绑定到一个浏览器,并且需要做很多工作(我可以告诉

  • 编写一个JavaScript搜索引擎。如今,任何浏览器中的JavaScript都变得越来越快且性能越来越好。关键字索引可以很容易地存储在JSON上,并且我在本地文件上运行了正则表达式,效果很好。


我当时正在考虑使用javascript搜索引擎。我将不得不做更多的研究。
bluebill 2011年

0

我正在寻找的是可以离线使用我们的软件的东西(这很重要,因为我们的很多用户都位于非常遥远的地方)。

我们在公司使用RoboHelp,很幸运,可以使帮助文件脱机使用,因为我们经常让用户从具有网络访问权限的区域访问没有网络访问权限的区域。

它应该是可搜索的,并且应该具有允许调用特定条目的机制

我们在RoboHelp中使用了一些页面来解释屏幕上某些字段的用法。单击后,我们可以弹出这些字段的弹出窗口。RoboHelp还具有非常好的搜索功能和自动生成的索引。我一直很幸运用它来搜索。对于您来说,这可能不是什么大问题,但是我们可以让任何人更新文档,因为RoboHelp是一个非常易于使用的程序。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.