Linux/GTK 上存在哪些应用程序帮助系统(如 chm 文件)? [关闭]

Posted

技术标签:

【中文标题】Linux/GTK 上存在哪些应用程序帮助系统(如 chm 文件)? [关闭]【英文标题】:What application help system (like chm files) exist on Linux/GTK? [closed] 【发布时间】:2012-12-14 00:04:25 【问题描述】:

在 windows 上 CHM 是一个很好的选择。

除了提供一组静态 html 页面并使用对 web 浏览器的原始调用(这在 linux 上本身甚至是一个问题)之外,还有什么其他方法吗?而且它不会提供任何类型的全文搜索、单独的书签,甚至不会为每个帮助调用打开一个新标签这一简单事实。

【问题讨论】:

手册页呢? en.wikipedia.org/wiki/Man_page GUI 程序的手册页。对不起。提供 troff 手册页甚至比 HTML 更糟糕。是的,我已经长大了,可以知道 troff。 【参考方案1】:

Gnome yelp 程序用于 GTK/Gnome 应用程序。它支持多种格式,但不直接支持 CHM。他们已经开始定义自己的标记,命名为 Mallard。但我不知道那是什么状态。

【讨论】:

是否有 API 来启动 yelp,或者是唯一的方法来做它一个 fork/exec 在我的盒子上,当我给它一个 HTML 文件时它只会启动 firefox...【参考方案2】:

我仍然推荐静态 HTML 作为最佳选择(当然还有手册页!)。例如,您可以使用Sphinx 编写具有全文搜索支持的精美文档!

【讨论】:

这样的文档工具是一毛钱。它们中的大多数比应用程序帮助更适合 SDK 文档。我更喜欢带有 tex4ht 的乳胶和一些基于 DOM 的后处理。但对我来说,PDF 是主要的目标格式。 确实如此。但我发现 Sphinx 也非常方便编写应用程序文档,这要归功于 reStructured Text 格式。此外,Sphinx 有 LaTeX、PDF、手册页、CHM、ePub 以及除 HTML 文档构建器之外的更多构建器。 我正在寻找应用手册的解决方案。虽然我喜欢 reStructed Text,但我有更多的要求。就像条件编译一样。我们从一个 80% 的共同来源库为不同的产品制作文档。我们有自制的 XML 处理器,所以问题只是关于交付。【参考方案3】:

Linux 上有可用的 CHM 查看器,但坦率地说,作为 Linux 用户,我更喜欢获取静态 HTML 页面。

一些例子是 chmsee 和 kchmviewer。

【讨论】:

静态网页是文档,没有帮助。帮助与应用程序集成。【参考方案4】:

Afaik 没有通用系统。根据您的桌面系统(gnome/kde),可能会有帮助系统,但它们通常基于松散的文件并使用成熟的浏览器。 (通常基于 webkit)

为Lazarus 创建了基于 CHM 的帮助系统和嵌入式浏览器,包括 CHM 写入支持。

避免松散的静态html的原因主要是:

    60000 引理静态文档在较轻的系统或具有专业文件系统的系统上安装所需的时间太长。 CHM 消除松弛并增加压缩。 我们还支持非 posix 和 OS X 系统,而与文件系统相关的小问题(字符集/编码、分隔符、路径深度等)和 *nix 上不区分大小写的文件系统引起了很多麻烦。基于 CHM 的帮助解决了这个问题,允许一组例程访问所有系统上的帮助数据。 indexing 和 toc 基于 Btree,并且可以从独立生成的帮助集中轻松合并运行时。一般来说,集成独立生成的帮助文件是帮助文件的一个未被充分认识的方面,但它是开放平台的关键。 原生全文搜索。

自己的查看器还可以利用基础系统之上的额外功能。

我没有提到 Lazarus 系统,希望你能适应它,因为它目前过于面向开发系统 (SDK) 的系统,查看器甚至不能作为单独的包提供。主要是为了说明html松散的问题。

不过,我已经有一段时间没有研究 KDE/Gnome/Eclipse 使用什么作为帮助系统了。如果我必须从头开始,那就是我首先要看的地方。

如果我必须自己快速创建一些东西,我会使用压缩的静态 html,以及一个带有元数据/索引的 gzip 文件和我能找到的最轻量级的浏览器(Konquerer?)。不理想,不像 Windows,但显然是 Linux 所能提供的最好的。

【讨论】:

以上是关于Linux/GTK 上存在哪些应用程序帮助系统(如 chm 文件)? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Linux/GTK 中的虚拟键盘

小程序新零售系统能给企业带来哪些效益

存在哪些第三方框架/库/实用程序来帮助使用 UITableView 创建表单? [复制]

哪些手写 API 可以帮助我解决这个问题?

有哪些好用的IT资产管理系统?

查看哪些表的哪些列含有指定字符串(如‘andy’存在哪些表的哪些列中)