Ссылка на разделы справочной страницы?

13

Справочные страницы в Интернете в формате HTML с якорями раздела?

Было бы хорошо иметь онлайн-версию справочных страниц Ubuntu с прямыми ссылками на подразделы. Это позволит во многих случаях указывать на соответствующую документацию, например, в ответах на различных сайтах StackExchange.

Я опишу, как может выглядеть полное решение и каким образом это будет полезно. Я не думаю, что полное решение где-то доступно, поэтому вопрос

Какие частичные решения существуют сегодня?

Например, каким-то систематическим способом поиска по страницам руководства, вместо ссылки, будет частичное решение.


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

Это означает, что если я хочу указать на раздел «Расширение параметров» в man bashИнтернете, я должен использовать

Смотрите «Расширение параметра» в [... и используйте ваш браузер для поиска «Расширения параметра»]man bash

Это открывает man-страницу bash вверху, как одну длинную веб-страницу.

В скорлупе могу сказать

Видеть man bash | less "+/Parameter Expansion"

который прыгает в нужном месте при запуске.


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

Поскольку на уровне HTML не сложно добавить привязки к заголовкам, я уверен, что такие справочные страницы существуют;
Но есть ли где-нибудь коллекция справочных страниц по Ubuntu с якорями в Интернете или хотя бы хорошее подмножество?

Пример кода

Заголовок раздела «Расширение параметров» с
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][6]


Использование других справочных документов

Во многих случаях доступны альтернативные справочные документы, которые можно найти на странице руководства. Они часто имеют хорошую структуру ссылок, которая используется для ссылки из таблицы содержимого на разделы, как раз то, что нам нужно.
Но это не решает общую проблему , поскольку нет единого способа определить, существует ли такой документ и где он существует, и использовать структуру ссылок.

Для примера bash, использованного выше, справочное руководство Bash можно использовать как отдельное решение, которое ищется вручную:

Раздел справочного руководства Bash, раздел Shell-Parameter-Expansion,
написанный как
[Раздел справочного руководства 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. страницы

Volker Siegel
источник
3
Звучит как хорошая идея. Пожалуйста, отправьте отчет об ошибке для этого.
Флориан Диш,
@FlorianDiesch Конечно, это очевидная часть;) На самом деле, manpages.ubuntu.com похожа на очень чистую реализацию, но я помню, что это сделал один разработчик. Посмотрим ...
Фолькер Сигел
1
@AlaaAli Meta предназначена только для вопросов о Ask Ubuntu , а не о проекте Ubuntu или других сайтах, связанных с Ubuntu.
Элия ​​Каган
1
Кстати, я написал очень похожий вопрос здесь: unix.meta.stackexchange.com/q/3960/135943
Wildcard

Ответы:

7

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

PS. Добавьте сайт в свою поисковую систему, тогда вы можете просто ввести man printfадресную строку, и он перенесет вас на нужную страницу, супер круто!

Герхард Бургер
источник
1
Отличная идея для интеграции браузера в качестве поисковой системы!
Филипп Вендлер
Downvote без комментариев?
Герхард Бургер
2

В unix.stackexchange описаны способы использования автономных man-страниц в качестве гипертекста . Самым простым способом для меня кажется w3mman, входящий в пакет w3m, поэтому:

sudo apt-get install w3m

Когда вы открыли справочную страницу, например 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 вместо нормального человека :) Мне так нравится. Спасибо за вопрос! :)

вещий
источник