Online-Manpages in HTML mit Abschnittsankern?
Es wäre gut, eine Online-Version der Ubuntu-Manpages mit direkten Links zu Unterabschnitten zu haben. Dies würde es in vielen Fällen ermöglichen, jemanden auf die relevante Dokumentation zu verweisen - zum Beispiel in Antworten verschiedener StackExchange-Sites.
Ich werde beschreiben, wie eine vollständige Lösung aussehen könnte und auf welche Weise dies nützlich wäre. Ich glaube nicht, dass irgendwo eine vollständige Lösung verfügbar ist, also ist die Frage
Welche Teillösungen gibt es heute?
Zum Beispiel wäre eine systematische Suche in den Manpages eine Teillösung, anstatt zu verlinken.
Die Manpages unter manpages.ubuntu.com lösen den größten Teil des Problems, haben jedoch keine Anker in den Überschriften oder Abschnitten.
Das heißt, wenn ich man bash
online auf den Abschnitt "Parametererweiterung" verweisen möchte
, muss ich verwenden
Siehe "Parametererweiterung" in [... und verwenden Sie Ihren Browser, um nach "Parametererweiterung" zu suchen]
man bash
Dies öffnet die Bash-Manpage oben als eine lange Webseite.
In der Schale kann ich sagen
Sehen
man bash | less "+/Parameter Expansion"
die beim Start an die richtige Stelle springt.
Es wäre sehr hilfreich, Link-Anker so zu benennen, wie die Überschriften, auf die sie zeigen. Nach einer Art Indexnummer benannte Anker würden immer noch helfen, erfordern jedoch eine manuelle Suche auf der tatsächlichen Webseite, um sie zu verwenden.
Da es auf HTML-Ebene nicht schwierig ist, Anker zu Überschriften hinzuzufügen, bin ich sicher, dass es solche Manpages gibt.
Aber gibt es irgendwo eine Sammlung der Ubuntu-Manpages mit Ankern online oder zumindest eine gute Teilmenge?
Beispielcode
Die Kopfzeile des Abschnitts "Parametererweiterung" von
http://manpages.ubuntu.com/bash,
der zu http://manpages.ubuntu.com/manpages/trusty/en/man1/bash.1.html umleitet
[ ... ]
tildes in assignments to <b>PATH</b>, <b>MAILPATH</b>, and <b>CDPATH</b>, and the shell
assigns the expanded value.
<b>Parameter</b> <b>Expansion</b>
The `<b>$</b>' character introduces parameter expansion, command substitution,
or arithmetic expansion. The parameter name or symbol to be expanded
[ ... ]
Um direkt auf diesen Abschnitt verlinken zu können, benötigen wir Folgendes:
[ ... ]
tildes in assignments to <b>PATH</b>, <b>MAILPATH</b>, and <b>CDPATH</b>, and the shell
assigns the expanded value.
<a href="#ParameterExpansion"><b>Parameter</b> <b>Expansion</b></a>
The `<b>$</b>' character introduces parameter expansion, command substitution,
or arithmetic expansion. The parameter name or symbol to be expanded
[ ... ]
Dies fügt dem HTML-Code ein Tag und ein Attribut, den Abschnittsnamen ohne Leerzeichen, hinzu:
<b>Parameter</b> <b>Expansion</b>
<a href="#ParameterExpansion"><b>Parameter</b> <b>Expansion</b></a>
Jetzt können wir auf den Abschnitt wie verlinken
http://manpages.ubuntu.com/bash#ParameterExpansion
oder sogar
manpages.ubuntu.com/bash#ParameterExpansion
die eine Fußnote verwendet und geschrieben ist wie
[manpages.ubuntu.com/bash#ParameterExpansion[6]
Verwendung anderer Referenzdokumente
In vielen Fällen stehen alternative Referenzdokumente zur Verfügung, ähnlich wie auf der Manpage. Diese haben oft eine gute Linkstruktur, die verwendet wird, um von einem Inhaltsverzeichnis auf die Abschnitte zu verlinken, genau das, was wir brauchen.
Dies löst jedoch nicht das allgemeine Problem , da es keinen gemeinsamen Weg gibt, festzustellen, ob / wo ein solches Dokument existiert, und die Verknüpfungsstruktur zu nutzen.
Für das oben verwendete Bash-Beispiel kann das Bash-Referenzhandbuch als individuelle Lösung verwendet werden, die manuell nachgeschlagen wird:
Abschnitt des Bash-Referenzhandbuchs Shell-Parameter-Expansion
geschrieben als
[Abschnitt des Bash-Referenzhandbuchs Shell-Parameter-Expansion] (http://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion)
Vorgeschlagene Umsetzung
Um vorzuschlagen, diese Idee tatsächlich auf manpages.ubuntu.com umzusetzen ,
reichte ich einen eng verwandten Bug / Enhancement-Request für das zugehörige Projekt "ubuntu-manpage-repository" ein:
launchpad # 1355271: Verwenden Sie HTML a-Tags, um externe Links zu Unterabschnitten von man zuzulassen Seiten
quelle
Antworten:
Ja, es ist http://man.cx/ . Ziel ist es, alle Manpages auf einer Site zu haben, auch in mehreren Sprachen. Die Anker sind leider nicht benannt, sondern nummeriert: Zum Beispiel führt Sie http://man.cx/printf#heading1 zur ersten Überschrift der
printf
Manpage. Trotzdem finde ich es besser als ohne Anker;)PS. Fügen Sie die Site Ihren Suchmaschinen hinzu, und geben Sie einfach
man printf
Ihre Adressleiste ein. Sie werden dann zur richtigen Seite weitergeleitet.quelle
In unix.stackexchange gibt es Möglichkeiten, die Offline-Hilfeseiten auch als Hypertext zu verwenden. Der einfachste Weg für mich scheint w3mman zu sein, was Teil des Pakets ist
w3m
, also:sudo apt-get install w3m
Wenn Sie beispielsweise eine Manpage geöffnet haben
w3mman man
, können Sie TABmit zum nächsten Link navigieren. (Andere mannstypische Tastaturkürzel funktionieren genauso: scrollen, suchen, beenden :-)So deaktivieren Sie das Beenden der Bestätigung (ähnliches
man
Verhalten):bearbeiten
~/.w3m/config
cp /etc/w3m/config ~/.w3m/
einstellen
confirm_qq 0
So ersetzen Sie den normalen man- Befehl:
bearbeiten
~/.bashrc
alias man='w3mman'
source ~/.bashrc
Jetzt
man <some command>
wird w3mman anstelle des normalen Mannes verwendet :) Ich mag es so. Danke für die Frage! :)quelle