Посилання на розділи сторінки man?


13

Сторінки чоловіка в Інтернеті в HTML з якорями розділів?

Було б добре мати онлайн-версію сторінок Ubuntu man з прямими посиланнями на підрозділи. Це дозволило би в багатьох випадках вказати когось на відповідну документацію - наприклад, у відповідях різних сайтів StackExchange.

Я опишу, як може виглядати повноцінне рішення та якими способами було б корисно. Я не думаю, що повне рішення десь доступне, тому питання є

Які часткові рішення існують сьогодні?

Наприклад, частковим рішенням є систематичні способи пошуку в підручних сторінках, а не посилання на них.


Сторінки " man" на manpages.ubuntu.com вирішують більшість проблем, але вони не мають якорів у заголовках чи розділах.

Це означає, що якщо я хочу вказати на розділ "Розширення параметрів" в man bashІнтернеті, я повинен використовувати

Див. "Розширення параметрів" у [... та використовуйте веб-переглядач для пошуку "Розширення параметрів"]man bash

Це відкриває сторінку bash man вгорі, як одну довгу веб-сторінку.

В оболонці, можу сказати

Побачити man bash | less "+/Parameter Expansion"

яка під час запуску стрибає в потрібне місце.


Було б дуже корисно мати прив'язки, названі як заголовки, на які вони вказують. Якіри, названі якимсь індексом, все одно допоможуть, але для їх використання потрібен ручний пошук на фактичній веб-сторінці.

Оскільки на рівні HTML не важко додати якорі до заголовків, я впевнений, що такі чоловічі сторінки існують;
Але чи є десь колекція сторінок Ubuntu man з якорями в Інтернеті чи, принаймні, хороший підмножина?

Приклад коду

Заголовок розділу "Розширення параметрів" від
http://manpages.ubuntu.com/bash,
який на зразок перенаправляє на
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
       [ ... ]

Щоб мати можливість прямого посилання на цей розділ, нам потрібно щось на зразок:

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


Це додає один тег до HTML-коду та один атрибут, назва розділу без пробілів:

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

Тепер ми можемо посилатися на такий розділ

http://manpages.ubuntu.com/bash#ParameterExpansion
або навіть
manpages.ubuntu.com/bash#ParameterExpansion

яка використовує нотку ноги і записується як
[manpages.ubuntu.com/bash#ParameterExpansion:2cih6]


Використання інших довідкових документів

У багатьох випадках доступні альтернативні довідкові документи, які розміщені на головній сторінці. Вони часто мають гарну структуру посилань, яка використовується для посилання з вмісту на розділи, саме те, що нам потрібно.
Але це не вирішує загальної проблеми , оскільки немає загального способу виявити, чи існує такий документ, і використовувати структуру посилань.

Для прикладу bash, який використовується вище, Довідковий посібник Bash може використовуватися як індивідуальне рішення, шукане вручну:

Розділ Посібник по Bash Посібник з розширенням параметрів оболонки,
написаний як
[Розділ посібника Bash, розділ Shell-Parameter-Expansion] (http://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion)

Пропонована реалізація

Щоб запропонувати реально реалізувати цю ідею на manpages.ubuntu.com ,
я подав тісно пов'язаний запит на помилку / вдосконалення на пов'язаний проект "ubuntu-manpage-repository": launchpad # 1355271: Використовуйте HTML-теги, щоб дозволити зовнішні посилання на підрозділи man сторінок


3
Здається, гарна ідея. Будь ласка, подайте звіт про помилку для цього.
Флоріан Дієш

@FlorianDiesch Звичайно, це очевидна частина;) Насправді manpages.ubuntu.com любить дуже чисту реалізацію, але я пам’ятаю, що це робив один розробник. Подивимось ...
Volker Siegel


1
@AlaaAli Meta призначений лише для запитань щодо запитання Ubuntu , а не про проект Ubuntu або інші веб-сайти, пов’язані з Ubuntu.
Елія Каган

1
До речі, я написав тут дуже схоже запитання: unix.meta.stackexchange.com/q/3960/135943
Wildcard

Відповіді:


7

Так, є, це http://man.cx/ . Він спрямований на те, щоб усі сторінки man на одному сайті, також на декількох мовах. Якіри, на жаль, не названі, але пронумеровані: наприклад, http://man.cx/printf#heading1 відведе вас до першого заголовка printfсторінки man. Ще я думаю, що це краще, ніж без якорів;)

PS. Додайте сайт до своїх пошукових систем, тоді ви зможете просто ввести man printfадресний рядок, і він переведе вас на правильну сторінку, супер приголомшливо!


1
Чудова ідея інтеграції браузера як пошукової системи!
Філіп Вендлер

Downvote без коментарів?
Герхард Бургер

2

На unix.stackexchange є описані способи використання офлайн-маніпуляцій як гіпертексту . Найпростіше мені здається w3mman, який є частиною пакету w3m, так що:

sudo apt-get install w3m

Коли ви відкрили довідкову сторінку, fe w3mman man, ви можете використовувати TABдля переходу до наступного посилання. (Інші типові комбінації клавіш функціонують так само: прокрутка, пошук, вихід :-)

Щоб вимкнути підтвердження виходу (на зразок manведе себе):

  • редагувати ~/.w3m/config

    • якщо не існує: cp /etc/w3m/config ~/.w3m/
  • набір confirm_qq 0

Щоб замінити звичайну команду man :

  • редагувати ~/.bashrc

    • додати alias man='w3mman'
  • source ~/.bashrc

Тепер man <some command>буде використовувати w3mman замість звичайного чоловіка :) Мені це подобається саме так. Спасибі за питання! :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.