链接到手册页部分?


13

HTML中带有部分锚点的在线手册页?

最好有一个在线版本的Ubuntu手册页,其中包含直接链接到各小节的信息。在许多情况下,这将使您可以找到相关的文档,例如,在各种StackExchange网站的答案中。

我将描述完整解决方案的外观以及以何种方式有用。我认为某处没有完整的解决方案,所以问题是

今天存在哪些部分解决方案?

例如,某种方式而不是链接地搜索手册页的系统方法将是部分解决方案。


manpages.ubuntu.com上 的手册页解决了大多数问题,但是它们的标题或部分没有锚点。

这意味着,如果我要在线指向“参数扩展”部分 man bash,则必须使用

请参阅 [...中的“参数扩展”,然后使用浏览器搜索“参数扩展”]man bash

这将在顶部打开bash手册页,作为一个长网页。

在外壳上,我可以说

看到 man bash | less "+/Parameter Expansion"

在启动时跳到正确的位置。


像他们指向的标题一样命名链接锚将非常有帮助。以某种索引号命名的锚仍然有用,但是需要在实际网页上进行手动查找才能使用它。

由于在HTML级别上将锚添加到标题并不困难,因此我确信存在此类手册页。
但是,是否有一些在网上放置了锚Ubuntu手册页集合,或者至少是一个不错的子集?

范例程式码

来自
http://manpages.ubuntu.com/bash的 “参数扩展”部分的标题,
其重定向至
http://manpages.ubuntu.com/manpages/trusty/zh/man/man1/bash.1.html

       [ ... ]
       tildes in assignments to <b>PATH</b>, <b>MAILPATH</b>,  and  <b>CDPATH</b>,  and  the  shell
       assigns the expanded value.

   <b>Parameter</b> <b>Expansion</b>
       The `<b>$</b>' character introduces parameter expansion, command substitution,
       or arithmetic expansion.  The parameter name or symbol to  be  expanded
       [ ... ]

为了能够直接链接到本节,我们需要类似以下内容:

       [ ... ]
       tildes in assignments to <b>PATH</b>, <b>MAILPATH</b>,  and  <b>CDPATH</b>,  and  the  shell
       assigns the expanded value.

   <a href="#ParameterExpansion"><b>Parameter</b> <b>Expansion</b></a>
       The `<b>$</b>' character introduces parameter expansion, command substitution,
       or arithmetic expansion.  The parameter name or symbol to  be  expanded
       [ ... ]


这会在HTML代码中添加一个标记,并在属性中添加一个属性,即节名称(不带空格):

<b>Parameter</b> <b>Expansion</b>
<a href="#ParameterExpansion"><b>Parameter</b> <b>Expansion</b></a>

现在,我们可以链接到

http://manpages.ubuntu.com/bash#ParameterExpansion
甚至
manpages.ubuntu.com/bash#ParameterExpansion

它使用脚注,其编写方式类似于
[manpages.ubuntu.com/bash#ParameterExpansion][6]


其他参考文件的使用

在许多情况下,可以从手册页中找到可用的替代参考文档。它们通常具有良好的链接结构,该链接结构用于将内容表链接到各节,正是我们所需要的。
但这并不能解决一般问题,因为没有通用的方法来查找此类文档是否存在/在何处以及使用链接结构。

对于上面使用的bash示例,可以将Bash参考手册用作手动查找的单个解决方案:

Bash参考手册部分的Shell-Parameter-Expansion
编写为
[Bash参考手册部分的Shell-Parameter-Expansion](http://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion)

拟议实施

为了在manpages.ubuntu.com上提出实际实施此想法的建议,
我对相关项目“ ubuntu-manpage-repository”提出了密切相关的错误/增强请求: launchpad#1355271:使用HTML a标签允许外部链接到man的各个部分页数


3
听起来是一个好主意。请为此提交错误报告
Florian Diesch 2014年

@FlorianDiesch当然,这是显而易见的部分;)实际上,manpages.ubuntu.com就像一个非常干净的实现,但是我记得它是由一个开发人员完成的。让我们看看……
Volker Siegel


1
@AlaaAli Meta仅用于询问Ask Ubuntu而不是有关Ubuntu项目或其他与Ubuntu相关的网站的问题。
伊利亚·卡根

1
顺便说一句,我在这里写了一个非常类似的问题:unix.meta.stackexchange.com/q/3960/135943
通配符

Answers:


7

是的,这里是http://man.cx/。它旨在将所有手册页都放在一个站点中,也可以使用多种语言。不幸的是,这些锚点没有命名,而是被编号:例如http://man.cx/printf#heading1将带您到printf手册页的第一个标题。我仍然认为这比没有锚更好;)

PS。将站点添加到搜索引擎中,然后您只需man printf在地址栏中输入即可,它将带您到正确的页面,超赞!


1
将浏览器集成为搜索引擎的好主意!
菲利普·温德勒

不用评论就可以投票吗?
Gerhard Burger 2014年

2

unix.stackexchange上,也描述了将脱机联机帮助页用作超文本的方法。对我来说,最简单的方法似乎是w3mman,它是package的一部分w3m,所以:

sudo apt-get install w3m

打开手册页fe时w3mman man,可以使用TAB导航到下一个链接。(其他常见的键盘快捷键的作用相同:滚动,搜索,退出:-)

要关闭退出确认(如man行为):

  • 编辑 ~/.w3m/config

    • 如果不存在: cp /etc/w3m/config ~/.w3m/
  • confirm_qq 0

替换普通的man命令:

  • 编辑 ~/.bashrc

    • alias man='w3mman'
  • source ~/.bashrc

现在man <some command>将使用w3mman代替普通的人:)我喜欢这种方式。感谢您的询问!:)

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.