html linux unix markdown man

Convertir todas las páginas de manual de Linux a texto/html o markdown



unix (4)

¿Hay alguna forma de convertir todas las páginas de manual de Linux a texto plano, html o markdown?

Necesito hacer esto para cada archivo man que haya instalado en mi sistema.



Sí ... Para convertir a uno de ellos, digamos, hombre de hombre:

zcat /usr/share/man/man1/man.1.gz | groff -mandoc -Thtml

Si desea que ''todos estén instalados en su PC'', simplemente realice una iteración a través de ellos. Para una salida diferente (texto, por ejemplo), use un ''dispositivo'' diferente (el argumento -T).

Por si acaso ... si la "iteración" era el verdadero problema, puedes usar:

OUT_DIR=... for i in `find -name ''*.gz''`; do dname=`dirname $i` mkdir -p $OUT_DIR/$dname zcat $i | groff -mandoc -Thtml > $OUT_DIR/$i.html done


Utilice el comando man -k '''' podría listar todos los nombres de página de manual disponibles, lo que podría ser mejor que find y zcat los archivos de datos de la página de zcat originales; Mientras tanto, el comando de man tiene una opción -T, --troff-device[=DEVICE] que puede generar HTML de la sección y el nombre de la página de manual dada. Así que el siguiente script bash viene a convertir todas las páginas de manual disponibles en su Linux en archivos HTML :

man -k '''' | while read sLine; do declare sName=$(echo $sLine | cut -d'' '' -f1) declare sSection=$(echo $sLine | cut -d'')'' -f1|cut -d''('' -f2) echo "converting ${sName}(${sSection}) to ${sName}.${sSection}.html ..." man -Thtml ${sSection} ${sName} > ${sName}.${sSection}.html done

En una intranet sin acceso a Internet que el servicio en línea de páginas de manual no está disponible, colocar estos archivos en su servidor HTTP estático, como Nginx con autoindex, es una buena opción, donde puede ser conveniente browse y presionar Ctrl + F


man -Hfirefox ls

abre la página de manual de "ls" directamente en Firefox