man2html(1)

NOME
man2html - formatta una pagina di manuale in html

SINTASSI
man2html [options] [file]

DESCRIZIONE
man2html converte una pagina di manuale che si trova in file (o standard input (stdin); nel caso non venga fornito alcun file come argomento, o sia indicato "-", come argomento) dallo stile man nroff in html, e stampa il risultato in standard output (stdout). Supporta tbl, ma non conosce eqn. Lo stato di uscita è 0. Se qualcosa va male viene stampata su stdout una pagina di errore.

Può essere usato come utilità stand-alone, ma è pensato principalmente come ausilio per permettere agli utenti di navigare le proprie man page usando un browser html come lynx(1), xmosaic(1) o netscape(1).

La parte principale di man2html è il motore da troff a html scritto da Richard Verhoeven (rcb5@win.tue.nl). Esso aggiunge dei collegamenti ipertestuali per i seguenti costrutti:

foo(3x) | "http://localhost/cgi-bin/man/man2html?3x+foo"
method://string | "method://string"
www.host.name | "http://www.host.name"
ftp.host.name | "ftp://ftp.host.name"
name@host | "mailto:name@host"
<string.h> | "file:/usr/include/string.h"

(Il primo di questi può essere controllato dalle opzioni - vedere sotto). Non viene fatto nessun controllo - i collegamenti generati non sono necessari o indispensabili. Inoltre viene generato un indice con collegamenti interni alle varie sezioni, in modo che sia più facile effettuare ricerche personalizzate in pagine di manuale grandi come bash(1).

OPZIONI
Quando si legge da stdin non è sempre chiaro come effettuare l'espansione .so . L'opzione -D permette a uno script di definire la directory di lavoro.

-D pathname
    Estrae le ultime due parti dal percorso, ed esegue chdir(dir) prima di iniziare la conversione.

L'opzione -E permette una facile generazione di messaggi di errore da uno script cgi.

-E string
    Genera una pagina di errore contenente il messaggio di errore che si è verificato.

La forma generale di un collegamento ipertestuale creato per una man page di riferimento è

    <method:cgipath><man2htmlpath><separator><manpage>

con un valore predefinito come mostrato sopra. Le parti di questo collegamento ipertestuale sono impostate usando le varie opzioni.

-h  Set method:cgipath to http://localhost. Questo è il valore predefinito.

-H host[.domain][:port]
    Set method:cgipath to http://host.domain:port.

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

-L dir
    Set method:cgipath to lynxcgi:dir.

-M man2htmlpath
    Imposta il man2htmlpath da usare. Il valore predefinito è /cgi-bin/man/man2html.

-p  Imposta '/' come separatore.

-q  Imposta '?' come separatore. Questo è il valore predefinito.

-r  Usa percorsi html relativi, invece dei percorsi cgi-bin.

Su una macchina, senza eseguire httpd, si può usare lynx per navigare le man page, usando il metodo lynxcgi. Quando è attivo qualche demone http, lynx, o qualunque altro browser, può essere usato per navigare le man page, usando il metodo http. L'opzione -l (per `lynxcgi') seleziona il comportamento precedente. Con esso, il valore predefinito di cgipath è /home/httpd.

In generale, uno script cgi può essere chiamato da

    <path_to_script>/<more_path>?<query>

e le variabili d'ambiente PATH_INFO e QUERY_STRING verranno impostate rispettivamente in <more_path> e <query>. Poiché lynxcgi non gestisce la parte PATH_INFO, vengono generati collegamenti ipertestualil con `?' come separatore predefinito. L'opzione -p (per `path') seleziona '/' come separatore, mentre l'opzione -q (per `query') seleziona '?' come separatore.

L'opzione -H host specificherà l'host da usare (invece di localhost). Uno script cgi può usare

    man2html -H $SERVER_NAME

se è impostata la variabile SERVER_NAME . Questo permetterà alla propria macchina di comportarsi come un server ed esportare man page.

BUG
Ci sono molti fattori difficilmente prevedibili. L'output potrebbe non essere sempre perfetto. Il metodo lynxcgi non funzionerà se lynx è stato compilato senza selezionare il supporto per quest'ultimo. Ci potrebbero essere problemi di sicurezza.

VEDERE ANCHE
lynx(1), man(1)