Linux man page to html

Linux man page to html

Category: Linux Terminal

Added: 9th of July 2022

Viewed: 758 times

Click here for related Tips & Tutorials

Export man pages in .html or .pdf format by installing mandoc on Ubuntu and Ubuntu based distributions

To access the man page for a specific linux command or application, you would enter the following command in the terminal. In the example below I am requesting the manual page for the ls command

The manual page is then displayed in the terminal window.

On Ubuntu and Ubuntu based distributions, man pages (Manual pages) are located in the following directory.

You might like a permanent copy of a man page for reference at later stage. You can copy and paste the information directly to a text file from the terminal, but it will be unformatted.

Another alternative is to install the mandoc package, which has a function to export the man page in .html or .pdf format.

To install mandoc enter the following command in the terminal

Once installed issue the following command to export the ls man page in .html format

Or issue the following command to export the ls man page .pdf format

Buy — Linux Books Shell Scripting

Please read our Amazon affiliate / associate disclosure

Instead of entering the command each time, I put together a small bash script that searches the man doc directory and then exports the man page in .html and .pdf formats.

Читайте также:  Cat command use in linux

Create a folder and file on your desktop using the following commands.
Replace username with your own username

Copy and paste the code below, and save in the manhtmlpdf.sh file you created above.

#!/usr/bin/bash
echo «*** Create HTML/PDF copy of man document ***»

echo «What man page are you looking for?»
read manpage

if [ -f «/usr/share/man/man1/$manpage.1.gz» ]
then
echo «Creating $manpage.html and $manpage.pdf files»
mandoc -Thtml /usr/share/man/man1/$manpage.1.gz > $manpage.html
mandoc -Tpdf /usr/share/man/man1/$manpage.1.gz > $manpage.pdf
else
echo «The man page for $manpage was not found»
fi

Make the file executable by entering the following command in the terminal

Run the script by entering the following command

Источник

man2html(1) — Linux man page

man2html converts a manual page as found in file (or stdin, in case no file argument, or the argument «-«, is given) from man-style nroff into html, and prints the result on stdout. It does support tbl but does not know about eqn. The exit status is 0. If something goes wrong, an error page is printed on stdout.

This can be used as a stand-alone utility, but is mainly intended as an auxiliary, to enable users to browse their man pages using a html browser like lynx(1), xmosaic(1) or netscape(1).

The main part of man2html is the troff-to-html engine written by Richard Verhoeven (rcb5@win.tue.nl). It adds hyperlinks for the following constructs: (The first of these can be tuned by options — see below.) No lookup is done — the links generated need not exist. Also an index with internal hyperlinks to the various sections is generated, so that it is easier to find one’s way in large man pages like bash(1).

Читайте также:  Parent process and child process in linux

Options

When reading from stdin, it is not always clear how to do .so expansion. The -D option allows a script to define the working directory. -D pathname Strip the last two parts from the pathname, and do a chdir(dir) before starting the conversion. The -E option allows the easy generation of error messages from a cgi script. -E string Output an error page containing the given error message. The general form of a hyperlink generated for a man page reference is with a default as shown above. The parts of this hyperlink are set using the various options. -h

Set method:cgipath to http://localhost. This is the default. -H host[.domain][:port] Set method:cgipath to http://host.domain:port. -l

Set method:cgipath to lynxcgi:/home/httpd.

Set method:cgipath to lynxcgi:dir. -M man2htmlpath Set the man2htmlpath to use. The default is /cgi-bin/man/man2html. -p

Set separator to ‘?’. This is the default.

Use relative html paths, instead of cgi-bin paths. On a machine without running httpd, one can use lynx to browse the man pages, using the lynxcgi method. When some http daemon is running, lynx, or any other browser, can be used to browse the man pages, using the http method. The option -l (for ‘lynxcgi’) selects the former behaviour. With it, the default cgipath is /home/httpd.

In general, a cgi script can be called by /? and the environment variables PATH_INFO and QUERY_STRING will be set to and , respectively. Since lynxcgi does not handle the PATH_INFO part, we generate hyperlinks with ‘?’ as a separator by default. The option -p (for ‘path’) selects ‘/’ as a separator, while the option -q (for ‘query’) selects ‘?’ as a separator.

Читайте также:  Linux bash reading file

The option -H host will specify the host to use (instead of localhost). A cgi script could use man2html -H $SERVER_NAME if the variable SERVER_NAME is set. This would allow your machine to act as a server and export man pages.

Bugs

There are many heuristics. The output will not always be perfect. The lynxcgi method will not work if lynx was compiled without selecting support for it. There may be problems with security.

Author

Richard Verhoeven was the original author of man2html. Michael Hamilton and Andries Brouwer subsequently improved on it. Federico Lucifredi is the current maintainer.

Источник

Оцените статью
Adblock
detector