¿Enlace a secciones de la página de manual?

13

¿Páginas de manual en línea en HTML con anclajes de sección?

Sería bueno tener una versión en línea de las páginas de manual de Ubuntu con enlaces directos a subsecciones. Eso permitiría señalar a alguien la documentación relevante en muchos casos, por ejemplo, en las respuestas de varios sitios de StackExchange.

Describiré cómo se vería una solución completa y de qué manera sería útil. No creo que haya una solución completa disponible en alguna parte, así que la pregunta es

¿Qué soluciones parciales existen hoy?

Por ejemplo, las formas sistemáticas de buscar en las páginas man, en lugar de vincular, serían una solución parcial.


Las páginas man en manpages.ubuntu.com resuelven la mayor parte del problema, pero no tienen anclajes en los encabezados o secciones.

Eso significa que si quiero señalar la sección "Expansión de parámetros" en man bashlínea, tengo que usar

Consulte "Expansión de parámetros" en [... y utilice su navegador para buscar "Expansión de parámetros"]man bash

Esto abre la página de manual de bash en la parte superior, como una página web larga.

En la cáscara, puedo decir

Ver man bash | less "+/Parameter Expansion"

que salta al lugar correcto al inicio.


Sería realmente útil tener anclas de enlace nombradas como los encabezados que señalan. Las anclas nombradas por algún tipo de número de índice aún ayudarían, pero requieren una búsqueda manual en la página web real para usarlo.

Como no es difícil en el nivel HTML agregar anclas a los encabezados, estoy seguro de que existen tales páginas de manual;
¿Pero hay una colección de páginas de manual de Ubuntu con anclas en línea en algún lugar, o al menos un buen subconjunto?

Código de ejemplo

El encabezado de la sección "Expansión de parámetros" de
http://manpages.ubuntu.com/bash
que tipo de redireccionamientos a
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
       [ ... ]

Para poder vincular directamente a esta sección, necesitamos 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
       [ ... ]


Esto agrega una etiqueta al código HTML y un atributo, el nombre de la sección sin espacios:

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

Ahora, podemos vincular a la sección como

http://manpages.ubuntu.com/bash#ParameterExpansion
o incluso
manpages.ubuntu.com/bash#ParameterExpansion

que usa una nota al pie y está escrita como
[manpages.ubuntu.com/bash#ParameterExpansionfont>[6]


Uso de otros documentos de referencia.

En muchos casos, hay documentos de referencia alternativos disponibles, aparte de la página del manual. Estos a menudo tienen una buena estructura de enlaces que se utiliza para vincular desde una tabla de contenido a las secciones, justo lo que necesitamos.
Pero esto no resuelve el problema general , ya que no hay una forma común de determinar si existe un documento de ese tipo y dónde utilizarlo, y de utilizar la estructura de enlaces.

Para el ejemplo de bash utilizado anteriormente, el Manual de referencia de Bash podría usarse como una solución individual que se busca manualmente:

Sección del Manual de referencia de Bash Shell-Parameter-Expansion
escrita como
[Sección del Manual de referencia de Bash Shell-Parameter-Expansion] (http://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion)

Implementación propuesta

Para proponer la implementación de esta idea en manpages.ubuntu.com ,
presenté una solicitud de mejora / error estrechamente relacionada en el proyecto asociado "ubuntu-manpage-repository": launchpad # 1355271: Use etiquetas HTML a para permitir enlaces externos a subsecciones de man paginas

Volker Siegel
fuente
3
Suena como una buena idea. Por favor presente un informe de error para esto.
Florian Diesch
@FlorianDiesch Claro, esa es la parte obvia;) En realidad, manpages.ubuntu.com parece una implementación muy limpia, pero recuerdo que fue realizada por un solo desarrollador. A ver ...
Volker Siegel
1
@AlaaAli Meta es solo para preguntas sobre Ask Ubuntu , no sobre el proyecto Ubuntu u otros sitios web relacionados con Ubuntu.
Eliah Kagan
1
Por cierto, escribí una pregunta muy similar aquí: unix.meta.stackexchange.com/q/3960/135943
Wildcard el

Respuestas:

7

Sí, lo hay, es http://man.cx/ . Su objetivo es tener todas las páginas man en un sitio, también en varios idiomas. Desafortunadamente, los anclajes no tienen nombre, sino números: por ejemplo, http://man.cx/printf#heading1 lo llevará al primer encabezado de la printfpágina del manual. Aún así, creo que es mejor que sin anclas;)

PD. Agregue el sitio a sus motores de búsqueda, luego simplemente escriba man printfsu barra de direcciones y lo llevará a la página correcta, ¡súper increíble!

Gerhard Burger
fuente
1
¡Gran idea para la integración del navegador como motor de búsqueda!
Philipp Wendler el
¿Voto sin comentario?
Gerhard Burger
2

En unix.stackexchange , también se describen formas de utilizar las páginas de manual sin conexión como hipertexto . La forma más fácil para mí parece w3mman, que es parte del paquete w3m, así que:

sudo apt-get install w3m

Cuando abrió una página de manual, fe w3mman man, puede usar TABpara navegar al siguiente enlace. (Otros métodos abreviados de teclado típicos del hombre funcionan igual: desplazarse, buscar, salir :-)

Para desactivar la confirmación de salida (como mancomportamientos):

  • editar ~/.w3m/config

    • si no existe: cp /etc/w3m/config ~/.w3m/
  • conjunto confirm_qq 0

Para reemplazar el comando man normal :

  • editar ~/.bashrc

    • añadir alias man='w3mman'
  • source ~/.bashrc

Ahora man <some command>usaré w3mman en lugar del hombre normal :) Me gusta de esta manera. ¡Gracias por preguntar! :)

PythoNic
fuente