帶有章節錨點的 HTML 線上手冊頁?
如果有一個線上版本的 Ubuntu 手冊頁並帶有直接連結到各個小節,那就太好了。在許多情況下,這將允許向某人指出相關文件 - 例如在各個 StackExchange 網站的答案中。
我將描述完整的解決方案可能會是什麼樣子,以及它在哪些方面有用。我認為某個地方沒有完整的解決方案,所以問題是
目前有哪些部分解決方案?
例如,以某種系統化的方式搜尋手冊頁而不是連結將是部分解決方案。
手冊頁位於manpages.ubuntu.com解決了大部分問題,但它們在標題或部分上沒有錨點。
這意味著,如果我想指向“參數擴展”部分
man bash
在線,我必須使用
請參閱“參數擴充”
man bash
[...並使用瀏覽器搜尋“參數擴充”]
這將在頂部打開 bash 手冊頁,作為一個長網頁。
在 shell 中,我可以說
看
man bash | less "+/Parameter Expansion"
它在啟動時跳到正確的位置。
將連結錨點命名為它們指向的標題,這將非常有幫助。由某種索引號命名的錨點仍然會有幫助,但需要在實際網頁上手動找到才能使用它。
由於在 HTML 層級上向標題添加錨點並不困難,因此我確信存在這樣的手冊頁;
但有沒有合集帶錨點的 Ubuntu 手冊頁在線上某個地方,或至少是一個很好的子集?
範例程式碼
“參數擴展”部分的標題來自
http://manpages.ubuntu.com/bash
哪種類型的重定向到
http://manpages.ubuntu.com/manpages/trusty/en/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 標籤允許外部連結到手冊頁的子部分
答案1
是的,有,它是http://man.cx/。它的目標是在一個網站上提供所有手冊頁,並以多種語言顯示。不幸的是,錨點並沒有命名,而是編號:例如http://man.cx/printf#heading1將帶您到手冊頁的第一個標題printf
。不過我認為這總比沒有錨點好;)
附言。將網站添加到您的搜尋引擎中,然後您只需man printf
在網址列中輸入,它就會帶您到正確的頁面,超級棒!
答案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
來代替正常的男人命令:
編輯
~/.bashrc
- 添加
alias man='w3mman'
- 添加
source ~/.bashrc
現在man <some command>
將使用 w3mman 而不是普通的 man :) 我喜歡這樣。謝謝你的詢問! :)
答案3
8 年後,
今天將手冊頁與章節錨連結起來仍然不容易。
archlinux 手冊頁面似乎是我所知道的唯一一個
archlinux 人
有一些錨點,但還不夠
演示連結: https://man.archlinux.org/man/bash.1.en#extglob
牛人
有一些錨點
演示連結:
https://www.gnu.org/software/bash/manual/bash.html#Indexes
https://www.gnu.org/software/bash/manual/bash.html#Pattern-Matching