man2html - formatta una pagina di manuale in html
man2html [options] [file]
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 (
[email protected]). Esso aggiunge dei collegamenti
ipertestuali per i seguenti costrutti:
(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).
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.
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.
lynx(1),
man(1)