Welcome to the Slackware Documentation Project

man2html Mini HOWTO

Introduction

man2html can generate on the fly HTML pages from man documentation. This makes it a useful addition to asciidoc based notes. 1) One of the advantages it offers is that when man pages are converted to HTML they become navigable through hyperlinks. A similar script exists for info, info2www.

man2html can be used from the command line, for example, to read in lynx the html-formatted man page of grep:

$ zcat $(man --path 1 grep) | man2html -l | lynx -stdin

It is more useful, however, to setup a cgi-bin infrastructure which will allow the on the fly operation, see man2html(1).

http

This is the most versatile mode, as it works from any browser.

# mkdir /var/www/cgi-bin/man

# $EDITOR /etc/lynx.cfg

# NB: <TAB> must be a real tab.
TRUSTED_LYNXCGI:<TAB>/var/www/cgi-bin/man/

# $EDITOR /var/www/cgi-bin/man/man2html

#!/bin/bash
# $1 is the man section
# $2 is the command name
zcat "$(man --path $1 $2)" | /usr/bin/man2html

# chmod 0755 /var/www/cgi-bin/man/man2html

# /etc/rc.d/rc.httpd start

See asciidoc Mini HOWTO for how to use in an asciidoc file.

The steps are intended for localhost, or at most a LAN. cgi-bin may need some hardening for a public web server.

lynxcgi

This works only from lynx. Make sure lynx is compiled with enabled cgi-bin, the default for Slackware.

$ mkdir -p /home/httpd/cgi-bin/man

$ $EDITOR /etc/lynx.cfg

# NB: <TAB> must be a real tab.
TRUSTED_LYNXCGI:<TAB>/home/httpd/cgi-bin/man/

$ $EDITOR /home/httpd/cgi-bin/man/man2html

#!/bin/bash
# $1 is the man section
# $2 is the command name
zcat "$(man --path $1 $2)" | /usr/bin/man2html -l

$ chmod 0755 /home/httpd/cgi-bin/man/man2html

A link in an asciidoc file for grep will be:

lynxcgi:/home/httpd/cgi-bin/man/man2html?1+grep[grep(1)]

Sources

* Originally written by pdi

1)
The HTML from man2html is formatted differently from that of asciidoc, and a possible, but heavy-handed, solution might be the use of pandoc, available from Slackbuilds.org.

In Other Languages
Translations of this page?:
QR Code
QR Code howtos:software:man2html_mini_howto (generated for current page)