Können Handbuchseiten in das HTML- und/oder PDF-Format konvertiert werden?

Der Befehl man basherzeugt viel Ausgabe. Was ich mir wünsche, wäre, entweder die Ergebnisse zu durchsuchen oder die Ergebnisse auf Papier auszudrucken. Gibt es also eine Möglichkeit, eine Manpage in ein HTML- und/oder PDF-Dokument zu konvertieren.

Ich würde es vorziehen, wenn die Antwort nicht nur für man bash, sondern für jede Manpage funktioniert.

Ich weiß, dass die Ausgabe von man bashim Internet veröffentlicht wurde, aber normalerweise sind diese Beiträge nicht aktuell.

Eine Mac-spezifische Lösung für PDF wird unter apple.stackexchange.com/questions/303737/… diskutiert.
@Ture: Wie gebe ich den ps2pdfBefehl ein? Versteckt sich der Befehl irgendwo?
Wenn Sie mit dem US-Letter-Format und einem interaktiven Workflow zufrieden sind, brauchen Sie ps2pdf nicht; einfach ausführen man -t ls | open -f -a Previewund dann als PDF aus der Vorschau speichern. Ansonsten ist ps2pdf Teil des Ghostscript-Pakets, das sich meiner Meinung nach am einfachsten über Homebrew installieren lässt.
Für eine bequeme Möglichkeit, PDFs von Manpages in Ihrem Browser zu durchsuchen, können Sie Bwana verwenden .

Antworten (3)

Ja, es gibt zahlreiche Tools zum Konvertieren von Handbuchseiten in HTML und PDF.

UNIX-Ansatz

Das Konvertieren einer Manpage in HTML, PDF und Text enthält detaillierte Anweisungen für macOS:

cat /usr/share/man/man1/osascript.1 | groff -mandoc -Thtml >man_osascript.html

Wenn die Datei auf endet .gz, ersetzen Sie Folgendes.

gunzip --to-stdout /usr/share/man/man8/cupsfilter.8.gz | groff -mandoc -Thtml >man_cupsfilter.html

Zum Konvertieren von HTML nach PDF:

cupsfilter man_osascript.html > man_osascript.pdf

Informationen zu anderen Toolketten finden Sie in den verwandten Fragen:

Pandoc

Ein anderer Ansatz ist die Verwendung des beliebten Pandoc-Tools . Dieses Tool kann Handbuchseiten in eine Vielzahl von Formaten konvertieren.

Verknüpfungx-man-page

Die Terminal.app von macOS bietet ein x-man-pageURL-Schema zum hübschen Drucken von Handbuchseiten. Versuchen Sie, den folgenden Link zu öffnen, um die lsManpage anzuzeigen:

x-man-page://ls
Nur zur Überprüfung: Wird die Option unter MacOS mannicht -Tdirekt unterstützt?
Wenn Sie modernes Debian/Ubuntu verwenden und das Paket installieren, groffkönnen Sie einfach man -Tpdf osascript > osascript.pdf.
Guter Beitrag. Aber kommt der Fehler nur bei mir?cupsfilter: No filter to convert from text/html to application/pdf.
@Lano Ich vermute, dass der Fehler, den Sie sehen, mit der Version von macOS zusammenhängt, die Sie haben. Bitte stellen Sie dies als neue Frage , damit andere Ihnen besser helfen können.
man -t yourcommand | open -fa "Preview"

Wo yourcommandist diejenige, von der Sie die Manpage haben möchten.


$ man -t tmutil | open -fa "Preview"

Hier ist eine Funktion , die ich meiner .bash_profileDatei hinzugefügt habe, um ein PDF von jedem BSD - Befehl zu erstellen, für den ich die Handbuchseite überprüfen würde :

manp () 
{ 
    docDir="$HOME/Documents/BSD Commands"
    [[ ! -d $docDir ]] && mkdir -p "$docDir"
    if [[ ! -f $docDir/$1.pdf ]]; then
        man -t "$1" | pstopdf -i -o "$docDir/$1.pdf"
        open "$docDir/$1.pdf"
    else
        open "$docDir/$1.pdf"
    fi
}

Also, in Terminal , Eingabe zB manp bashanstelle man basheines PDF wird erstellt, falls dies noch nicht geschehen ist, und dann von der App geöffnet, die für die Verarbeitung von PDF - Dokumenten registriert ist. Der Standardwert ist Preview , aber auf meinem System ist es auf Skim eingestellt , da seine Suchfunktion besser ist als Preview und tatsächlich die Suchzeichenfolge findet, wenn Preview es einfach nicht tut.

Beachten Sie, dass bei der ersten Verwendung der Funktion einige Schriftarten in der Ausgabe in Terminal aufgezählt werden , dies ist jedoch eine einmalige Aufzählung der Schriftarten.


Als Nebenbemerkung, wenn Sie nur den Befehlsnamen in Terminal eingeben und dann mit der rechten Maustaste darauf klicken und Open Man Page auswählen , wird es in einem vollständig scrollbaren und durchsuchbaren Terminal - Fenster angezeigt, was viel besser ist, als z . B. einzugeben man bash.