man2html(1)

ΟΝΟΜΑ
man2html - μορφοποιεί μιά σελίδα εγχειριδίου σε html

ΣΥΝΟΨΗ
man2html [επιλογή] [αρχείο]

ΠΕΡΙΓΡΑΦΗ
man2html μετατρέπει μιά σελίδα εγχειριδίου όπως βρέθηκε στο αρχείο (ή στην τυπική είσοδο, αν δώθηκε το όρισμα «-» ή κανένα όρισμα) από το συνηθισμένη μορφή nroff σε html, κι εμφανίζει το αποτέλεσμα στην τυπική έξοδο. Διαθέτει υποστήριξη του προεπεξεργαστή tbl αλλά όχι και του eqn. Η κανονική τιμή επιστροφής εξόδου είναι 0. Αν όμως κάτι πάει στραβά, εμφανίζεται στη τυπική έξοδο μιά σελίδα σφάλματος. Μπορεί να χρησιμοποιηθεί ως αυτοτελής υπηρεσία, αλλά προορίζεται κυρίως ως επιβοηθητική, που επιτρέπει στους χρήστες την πλοήγηση στις σελίδες εγχειριδίου με ένα φυλλομετρητή html όπως οι lynx(1), xmosaic(1) ή netscape(1).

Το βασικό κομμάτι της man2html είναι η μηχανή troff-to-html του Richard Verhoeven (rcb5@win.tue.nl) που προσθέτει υπερσυνδέσμους για τις παρακάτω δομές:

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"

(Η πρώτη μπορεί να ρυθμιστεί λεπτομερώς με επιλογές - βλέπε παρακάτω.) Δε γίνεται έλεγχος - οι δημιουργούμενοι σύνδεσμοι δεν είναι κατ' ανάγκη υπαρκτοί. Επίσης δημιουργείται ένα ευρετήριο με εσωτερικούς υπερσυνδέσμους προς τις διάφορες παραγράφους, ώστε να είναι ευκολότερο να βρει κανείς το δρόμο του μέσα σε εκτεταμένες σελίδες εγχειριδίου όπως η bash(1).

ΕΠΙΛΟΓΕΣ
Κατά την ανάγνωση από την τυπική είσοδο, δεν είναι πάντοτε ξεκάθαρο πώς να γίνει το ταίριασμα ονόματος αρχείου. Η επιλογή -D επιτρέπει σ' ένα σενάριο να ορίσει τον τρέχοντα κατάλογο.

-D όνομα_διαδρομής
    Απαλείφει τα δύο τελευταία τμήματα από το όνομα διαδρομής, και κάνει ένα chdir(dir) πριν αρχίσει τη μετατροπή.

Η επιλογή -E επιτρέπει την εύκολη δημιουργία μηνυμάτων λάθους από ένα σενάριο cgi.

-E συμβολοσειρά
    Βγάζει μιά σελίδα σφάλματος που περιέχει το δεδομένο μήνυμα σφάλματος.

Η γενική μορφή ενός υπερσυνδέσμου δημιουργημένου για μιά σελίδα εγχειριδίου είναι

<μέθοδος:διαδ/μή_cgi><διαδ/μή_man2html><διαχ/στής><σελίδα_man>

με προεπιλογή ως ανωτέρω. Τα τμήματα αυτού του υπερσυνδέσμου ρυθμίζονται με τις διάφορες επιλογές.

-h  Ορίζει τη μέθοδο:διαδρομή_cgi σε http://localhost που είναι η προεπιλογή.

-H υπολογιστής_υπηρεσίας[.δικτυακός_τόπος][:θύρα]
    Ορίζει τη μέθοδο:διαδρομή_cgi σε http://υπολογιστής_υπηρεσίας.δικτυακός_τόπος:θύρα.

-l  Ορίζει τη μέθοδο:διαδρομή_cgi σε lynxcgi:/home/httpd.

-L dir
    Ορίζει τη μέθοδο:διαδρομή_cgi σε lynxcgi:dir.

-M διαδρομή_man2html
    Ορίζει ποιά διαδρομή_man2html θα χρησιμοποιηθεί. Η προεπιλογή είναι /cgi-bin/man/man2html.

-p  Ορισμός διαχωριστή σε «/».

-q  Ορισμός διαχωριστή σε «?». Αυτό είναι η προεπιλογή.

-r  Χρήση σχετικών διαδρομών html, αντί των διαδρομών cgi-bin.

Σ' ένα μηχάνημα που δεν τρέχει ένας httpd, μπορεί να χρησιμοποιήσει κανείς το lynx για πλοήγηση στις σελίδες εγχειριδίου, χρησιμοποιώντας τη μέθοδο lynxcgi. Αν τρέχει κάποιος δαίμονας http, τότε ο lynx, ή όποιος άλλος φυλλομετρητής, μπορεί να χρησιμοποιηθεί για πλοήγηση στις σελίδες εγχειριδίου, χρησιμοποιώντας τη μέθοδο http. Η επιλογή -l (από το « lynxcgi ») διαλέγει τον πρώτο τρόπο. Με αυτό τον τρόπο, η προεπιλεγμένη διαδρομή_cgip είναι /home/httpd.

Γενικώς, ένα σενάριο cgi μπορεί να κληθεί από τη

<διαδρομή_προς_το_σενάριο>/<επί_πλέον_διαδρομή>?<ερώτηση>

και οι μεταβλητές περιβάλλοντος PATH_INFO και QUERY_STRING θα οριστούν σε <επί_πλέον_διαδρομή> και <ερώτηση>, αντιστοίχως. Αφού η lynxcgi δεν ανακατεύεται με το τμήμα PATH_INFO, δημιουργούμε υπερσυνδέσμους με το «?» ως προεπιλεγμένο διαχωριστή. Η επιλογή -p (από το « path ») διαλέγει τη «/» ως διαχωριστή, ενώ η επιλογή -q (από το « query ») διαλέγει το «?».

Η επιλογή -H υπολογιστής_υπηρεσίας, θα ορίσει το χρησιμοποιούμενο υπολογιστή υπηρεσίας (αντί του localhost). Ένα σενάριο cgi θα μπορούσε να χρησιμοποιήσει τη

    man2html -H $SERVER_NAME

αν είχε οριστεί η μεταβλητή SERVER_NAME. Αυτό θα επέτρεπε στο μηχάνημά σου να λειτουργεί ως εξυπηρετητής, και να εξάγει σελίδες εγχειριδίου.

ΣΦΑΛΜΑΤΑ
Υπάρχουν πολλές ιδιοκατασκευές. Η έξοδος δεν θα είναι πάντοτε τέλεια. Η μέθοδος lynxcgi δε θα δουλέψει αν το lynx είχε μεταγλωττιστεί χωρίς υποστήριξη γιαυτήν. Μπορεί να υπάρξουν προβλήματα ασφαλείας.

ΒΛΕΠΕ ΕΠΙΣΗΣ
lynx(1), man(1)