Vinculando a seções da página de manual?

13

Man pages on-line em HTML com âncoras de seção?

Seria bom ter uma versão online das man pages do Ubuntu com links diretos para subseções. Isso permitiria apontar alguém para a documentação relevante em muitos casos - por exemplo, em respostas de vários sites do StackExchange.

Vou descrever como uma solução completa pode parecer e de que maneira isso seria útil. Eu não acho que uma solução completa esteja disponível em algum lugar, então a questão é

Quais soluções parciais existem hoje?

Por exemplo, de alguma forma, maneiras sistemáticas de pesquisar nas man pages, em vez de vinculá-las, seriam uma solução parcial.


As páginas man em manpages.ubuntu.com resolvem a maior parte do problema, mas não possuem âncoras nos cabeçalhos ou seções.

Isso significa que, se eu quiser apontar para a seção "Expansão de Parâmetro" em man bash on-line, eu tenho que usar

  

Veja "Expansão de Parâmetros" em man bash
  [... e use seu navegador para procurar por "Expansão de Parâmetros"]

Isso abre a página man bash no topo, como uma longa página da web.

No shell, posso dizer

  

Veja man bash | less "+/Parameter Expansion"

que pula para o lugar certo na inicialização.


Seria realmente útil ter as âncoras de link nomeadas como os títulos para os quais elas apontam. As âncoras nomeadas por algum tipo de número de índice ainda ajudariam, mas exigiriam uma consulta manual na página da web para usá-lo.

Como não é difícil, no nível HTML, adicionar âncoras aos cabeçalhos, tenho certeza de que essas páginas de manual existem; Mas existe uma coleção das páginas de manual do Ubuntu com âncoras on-line em algum lugar, ou pelo menos um bom subconjunto?

Exemplo de código

O cabeçalho da seção "Expansão de Parâmetros" do
link
qual tipo de redireciona para o link

       [ ... ]
       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
       [ ... ]

Para poder vincular diretamente a esta seção, precisamos de algo como:

       [ ... ]
       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
       [ ... ]


Isso adiciona uma tag ao código HTML e um atributo, o nome da seção sem espaços:

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

Agora, podemos vincular a seção como

link
ou até mesmo manpages.ubuntu.com/bash#ParameterExpansion

que usa uma nota de rodapé e está escrito como: [manpages.ubuntu.com/bash#ParameterExpansion][6]

Uso de outros documentos de referência

Em muitos casos, há documentos de referência alternativos disponíveis, separados da página do manual. Eles geralmente têm uma boa estrutura de links usada para vincular de uma tabela de conteúdo às seções, exatamente o que precisamos.
Mas isso não resolve o problema geral , já que não há maneira comum de descobrir se / onde tal documento existe, e fazer uso da estrutura de links.

Para o exemplo bash usado acima, o Manual de referência do Bash pode ser usado como um indivíduo solução pesquisada manualmente:

Manual de referência do Bash seção Shell-Parâmetro-Expansão
escrito como
[Seção Bash Reference Manual - Shell-Parameter-Expansion] (http://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion)

Implementação proposta

Para propor a implementação efetiva dessa ideia em manpages.ubuntu.com ,
Eu arquivei uma solicitação de bug / melhoria relacionada no projeto associado "ubuntu-manpage-repository": launchpad # 1355271: Use HTML como tags para permitir links externos para subseções de páginas man

    
por Volker Siegel 11.08.2014 / 16:07

2 respostas

7

Sim, existe o link . Destina-se a ter todas as páginas man em um site, também em vários idiomas. Infelizmente, as âncoras não são nomeadas, mas numeradas: por exemplo, o link levará você ao primeiro título da página printf man. Ainda acho que é melhor que sem âncoras;)

PS. Adicione o site aos seus mecanismos de busca, então você pode simplesmente digitar man printf na sua barra de endereço, e ele irá levá-lo para a página correta, super incrível!

    
por Gerhard Burger 13.08.2014 / 21:57
2

Em unix.stackexchange , existem as formas descritas para também usam as páginas de manual offline como hipertexto . A maneira mais fácil para mim parece w3mman, que faz parte do pacote w3m , então:

sudo apt-get install w3m

Quando você abriu uma página man, por exemplo w3mman man , você pode usar a TAB para navegar até o próximo link. (Outros atalhos de teclado típicos do homem funcionam da mesma forma: rolagem, pesquisa, abandono: -)

Para desativar a confirmação de quit (como man se comporta):

  • edite ~/.w3m/config

    • se não existir: cp /etc/w3m/config ~/.w3m/
  • defina confirm_qq 0

Para substituir o comando normal man :

  • edite ~/.bashrc

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

Agora man <some command> usará o w3mman em vez do homem normal :) Eu gosto desse jeito. Obrigado por perguntar! :)

    
por PythoNic 26.08.2014 / 17:01