Linkowanie do sekcji strony man?

13

Strony man online w HTML z zakotwiczeniami sekcji?

Dobrze byłoby mieć wersję online stron podręcznika systemu Ubuntu z bezpośrednimi linkami do podsekcji. Pozwoliłoby to wskazać komuś odpowiednią dokumentację w wielu przypadkach - na przykład w odpowiedziach z różnych stron StackExchange.

Opiszę, jak mogłoby wyglądać pełne rozwiązanie i jakie byłyby przydatne. Nie sądzę, aby gdzieś dostępne było kompletne rozwiązanie, więc pytanie brzmi

Jakie częściowe rozwiązania istnieją dzisiaj?

Na przykład systematyczne przeszukiwanie stron podręcznika zamiast linkowania byłoby częściowym rozwiązaniem.


Strony podręcznika manpages.ubuntu.com rozwiązują większość problemu, ale nie mają zakotwiczeń w nagłówkach lub sekcjach.

Oznacza to, że jeśli chcę wskazać sekcję „Rozszerzanie parametrów” w man bashtrybie online, muszę użyć

Zobacz „Rozszerzenie parametrów” w [... i użyj przeglądarki, aby wyszukać „Rozszerzenie parametrów”]man bash

Spowoduje to otwarcie strony podręcznika bash u góry jako jednej długiej strony internetowej.

W skorupce mogę powiedzieć

Widzieć man bash | less "+/Parameter Expansion"

który przeskakuje we właściwe miejsce podczas uruchamiania.


Byłoby naprawdę pomocne, aby kotwice łączy miały nazwy takie jak nagłówki, na które wskazują. Kotwice nazwane jakimś numerem indeksu nadal by pomogły, ale wymagają ręcznego wyszukiwania na rzeczywistej stronie internetowej, aby z nich skorzystać.

Ponieważ na poziomie HTML dodawanie kotwic do nagłówków nie jest trudne, jestem pewien, że takie strony podręcznika istnieją;
Ale czy jest gdzieś zbiór stron podręcznika systemu Ubuntu z kotwicami online, czy przynajmniej dobry podzbiór?

Przykładowy kod

Nagłówek sekcji „Rozszerzenie parametru” z
http://manpages.ubuntu.com/bash,
który rodzaj przekierowuje na
http://manpages.ubuntu.com/manpages/trusty/en/man1/bash.1.html

       [ ... ]
       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
       [ ... ]

Aby móc przejść bezpośrednio do tej sekcji, potrzebujemy czegoś takiego:

       [ ... ]
       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
       [ ... ]


Dodaje to jeden tag do kodu HTML i jeden atrybut, nazwę sekcji bez spacji:

<b>Parameter</b> <b>Expansion</b>
<a href="#ParameterExpansion"><b>Parameter</b> <b>Expansion</b></a>

Teraz możemy link do sekcji jak

http://manpages.ubuntu.com/bash#ParameterExpansion
lub nawet
manpages.ubuntu.com/bash#ParameterExpansion

który używa nuty i jest napisany jak
[manpages.ubuntu.com/bash#ParameterExpansion][6]


Wykorzystanie innych dokumentów referencyjnych

W wielu przypadkach dostępne są alternatywne dokumenty referencyjne, dostępne na stronie man. Często mają one dobrą strukturę linków, która służy do linkowania ze spisu treści do sekcji, dokładnie tego, czego potrzebujemy.
Ale to nie rozwiązuje ogólnego problemu , ponieważ nie ma wspólnego sposobu na sprawdzenie, czy / gdzie taki dokument istnieje, i skorzystanie ze struktury linków.

W powyższym przykładzie bash można skorzystać z podręcznika Bash Reference Manual jako osobnego rozwiązania sprawdzanego ręcznie:

Bash Reference Manual sekcja Shell-Parameter-Expansion
napisana jako
[Bash Reference Manual sekcja Shell-Parameter-Expansion] (http://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion)

Proponowane wdrożenie

Aby zaproponować rzeczywiste wdrożenie tego pomysłu na stronie manpages.ubuntu.com , złożyłem
ściśle powiązane żądanie błędu / ulepszenia w powiązanym projekcie „repozytorium ubuntu-manpage-repozytorium”: launchpad # 1355271: Użyj tagów HTML, aby umożliwić zewnętrzne linki do podsekcji man strony

Volker Siegel
źródło
3
Brzmi jak dobry pomysł. Prosimy o zgłoszenie błędu w tym celu.
Florian Diesch,
@FlorianDiesch Jasne, to oczywista część;) Tak naprawdę liik manpages.ubuntu.com to bardzo czysta implementacja, ale pamiętam, że zrobił to jeden programista. Zobaczmy ...
Volker Siegel,
1
@AlaaAli Meta służy wyłącznie do zadawania pytań o Ask Ubuntu , a nie do projektu Ubuntu lub innych stron internetowych związanych z Ubuntu.
Eliah Kagan,
1
Nawiasem mówiąc, napisałem tutaj bardzo podobne pytanie: unix.meta.stackexchange.com/q/3960/135943
Wildcard

Odpowiedzi:

7

Tak, jest http://man.cx/ . Ma to na celu umieszczenie wszystkich stron podręcznika w jednej witrynie, także w wielu językach. Kotwice nie są niestety nazwane, ale ponumerowane: na przykład http://man.cx/printf#heading1 przeniesie Cię do pierwszego nagłówka strony podręcznika printfman. Nadal uważam, że jest lepiej niż bez kotwic;)

PS. Dodaj witrynę do wyszukiwarek, a następnie po prostu wpisz man printfpasek adresu, a przeniesie Cię na właściwą stronę, super niesamowite!

Gerhard Burger
źródło
1
Świetny pomysł na integrację przeglądarki jako wyszukiwarki!
Philipp Wendler,
Głosuj bez komentarza?
Gerhard Burger
2

W unix.stackexchange opisano sposoby używania stron offline jako hipertekstu . Najprostszym sposobem dla mnie wydaje się w3mman, który jest częścią pakietu w3m, więc:

sudo apt-get install w3m

Po otwarciu strony podręcznika w3mman manmożesz np. TABPrzejść do następnego linku. (Inne typowe dla człowieka skróty klawiaturowe działają tak samo: przewijanie, wyszukiwanie, wychodzenie :-)

Aby wyłączyć potwierdzenie wyjścia (podobnie jak manzachowanie):

  • edytować ~/.w3m/config

    • jeśli nie istnieje: cp /etc/w3m/config ~/.w3m/
  • zestaw confirm_qq 0

Aby zastąpić normalne polecenie man :

  • edytować ~/.bashrc

    • Dodaj alias man='w3mman'
  • source ~/.bashrc

Teraz man <some command>użyję w3mman zamiast normalnego człowieka :) Podoba mi się to w ten sposób. Dzięki, że pytasz! :)

PythoNic
źródło