man2html(1) | General Commands Manual | 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 επιτρέπει σ' ένα σενάριο να ορίσει τον τρέχοντα κατάλογο.
Η επιλογή -E επιτρέπει την εύκολη δημιουργία μηνυμάτων λάθους από ένα σενάριο cgi.
Η γενική μορφή ενός υπερσυνδέσμου δημιουργημένου για μιά σελίδα εγχειριδίου είναι
<μέθοδος:διαδ/μή_cgi><διαδ/μή_man2html><διαχ/στής><σελίδα_man>
με προεπιλογή ως ανωτέρω. Τα τμήματα αυτού του υπερσυνδέσμου ρυθμίζονται με τις διάφορες επιλογές.
Σ' ένα μηχάνημα που δεν τρέχει ένας 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 θα μπορούσε να χρησιμοποιήσει τη
αν είχε οριστεί η μεταβλητή SERVER_NAME. Αυτό θα επέτρεπε στο μηχάνημά σου να λειτουργεί ως εξυπηρετητής, και να εξάγει σελίδες εγχειριδίου.
Υπάρχουν πολλές ιδιοκατασκευές. Η έξοδος δεν θα είναι πάντοτε τέλεια. Η μέθοδος lynxcgi δε θα δουλέψει αν το lynx είχε μεταγλωττιστεί χωρίς υποστήριξη γιαυτήν. Μπορεί να υπάρξουν προβλήματα ασφαλείας.
1 Ιανουαρίου 1998 |