LINUX.ORG.RU

Офлайновая документация, поиск по ней и навигация

 , ,


4

1

Привет, ЛОР!

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

Доки в основном в HTML (всякие CPP Reference, доки по Qt, Haddock и т.д.), но форматы вразнобой.

В общем, надеюсь на твою мудрость в этом вопросе, ЛОР. Вдруг тут кто-то нашёл волшебное средство, о котором я не знаю.

★★★★★

Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Что делать с доками, которых нет и не предвидится в man-формате ввиду его ограниченности?

всякие CPP Reference, доки по Qt, Haddock и т.д.

Для этого точно хватит. Берешь и переписываешь в man.

Vilicus
()

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

neumond
()

Я пользуюсь программой Calibre. Только она для .pdf и .djvu в основном. А под HTML-и твои запускай локальный вебсервер, и на нём всё настраивай.

Shushundr ★★★★
()
Ответ на: комментарий от anonymous

У Борланда на рубеже 80-х и 90-х была очень неплохая справка, Турбо Паскаль можно было использовать, не прибегая к внешним источникам. Даже книжки типа Фаронова или Мизрохи появились позже.

hobbit ★★★★★
()
Ответ на: комментарий от Vilicus

man – это самый конченный формат для документации, устаревший еще в прошлом веке.

Приблизительно вот так выглядит текст, если ты решишь скопировать его из мана:

MAN(1)                                             Manual pager utils                                            MAN(1)

NAME
       man - an interface to the system reference manuals

SYNOPSIS
       man [man options] [[section] page ...] ...
       man -k [apropos options] regexp ...
       man -K [man options] [section] term ...
       man -f [whatis options] page ...
       man -l [man options] file ...
       man -w|-W [man options] page ...

DESCRIPTION
       man is the system's manual pager.  Each page argument given to man is normally the name of a program, utility or
       function.   The  manual page associated with each of these arguments is then found and displayed.  A section, if
       provided, will direct man to look only in that section of the manual.  The default action is to search in all of
       the available sections following a pre-defined order (see DEFAULTS), and to show only the first page found, even
       if page exists in several sections.
MoldAndLimeHoney
()
Ответ на: комментарий от grem

click the Download button
O_o

А откуда ещё возьмётся готовая документация, сама напишется?
Давно пользуюсь Zeal, хотя и есть баги.
Самый раздражающий – повторная загрузка обновлений при двойном клике.

dataman ★★★★★
()
Ответ на: комментарий от MoldAndLimeHoney

Это проблемы --pager=less для man, который по умолчанию, который хардкодит переносы строк под ширину терминала.

Можно использовать другой пейджер вместо less: more, cat, vimpager и тп

anonymous
()
Ответ на: комментарий от MoldAndLimeHoney

Спробуй заячий помет! qman — man page viewer здорового человека
Он — ядреный! Он проймет!
И куды целебней меду,
Хоть по вкусу и не мед.
Он на вкус хотя и крут,
И с него, бывает, мрут,
Но какие выживают –
Те до старости живут!..

dataman ★★★★★
()
Ответ на: комментарий от dataman

Ну и раз уж такое началось, то

https://tldr.sh/
https://tldr.inbrowser.app/

https://github.com/idank/explainshell
https://www.explainshell.com/

https://github.com/cheat/cheat

http://bropages.org/

https://cheat.sh/

Bad_ptr ★★★★★
()
Последнее исправление: Bad_ptr (всего исправлений: 1)
Ответ на: комментарий от grem

Он скачивает tgz c https://kapeli.com/dash.
Фатальный недостаток Zeal в том, что он их распаковывает в ~/.local/share/Zeal/Zeal/docsets.

Чем это тогда лучше закладок в браузере или просто в speed dial?

Поиск удобнее.

dataman ★★★★★
()
Ответ на: комментарий от dataman

Фатальный недостаток Zeal в том, что он их распаковывает

У меня была идея написать конвертер этих tgz в файлы Zim, тогда их можно будет смотреть в Kiwix или GoldenDict. Сделал проще. :)
Попросил китайцев добавить поддержку docsets в goldendict-ng. Посмотрим, что ответят.

dataman ★★★★★
()

Возник вопрос: а как всё это удобным образом каталогизировать, обновлять и искать по этому?

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

поймал себя на мысли
какое-то полное дно

Ну разве что ты уходишь в оффлайн по какой-то причине. Я бы в этом случае просто сделал cargo doc (причём уже будучи в offline) и получил документацию сразу всех зависимостей проекта. Кстати, даже с поиском. Как это в других экосистемах сделать даже не представляю. Кажется, даже с readthedocs нельзя архив скачать.

anonymous
()
Ответ на: комментарий от anonymous

Я бы в этом случае просто сделал cargo doc (причём уже будучи в offline) и получил документацию сразу всех зависимостей проекта. Кстати, даже с поиском. Как это в других экосистемах сделать даже не представляю. Кажется, даже с readthedocs нельзя архив скачать.

@Stanson ты был прав, фанаты ржавого и правда иногда подбешивают.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от grem

Его ресурсы ещё и от чужого сайта зависят?

Так это не его ресурсы. Zeal нужен, чтобы мы могли таскать доки у белых людей с маками. Это просто морда с поиском. Хорошо хоть так, сами то линуксоиды ничего сложнее манов не осилили.

bread
()
Ответ на: комментарий от MoldAndLimeHoney

Приблизительно вот так выглядит текст, если ты решишь скопировать его из мана:

Так если из браузера копипастить, тоже фигня какая-то получается. Так что man groff в помощь. Но соглашусь, что man это тот ещё копролит. Зато быстрый и всегда есть под рукой.

bread
()
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

фанаты ржавого и правда иногда подбешивают

Ну у тебя rust в тэгах, иначе я бы про это и не писал. А чем это я тебя подбесил? Тем что в rust можно одной командой сгенерить всю нужную документацию? Ну извини, я же такой растовый фанат раста, только одним живу - пользователям нормальных языков нервы портить.

anonymous
()
Ответ на: комментарий от anonymous

Ну у тебя rust в тэгах, иначе я бы про это и не писал.

В этом треде rust нет.

Тем что в rust можно одной командой сгенерить всю нужную документацию?

Это можно сделать много где. Но это документация лишь по API и около. Документацию, например, по самому языку rust и его синтаксису ты так не сгенеришь, она хранится отдельно.

Хуже того, утверждение

Каталогизировать и искать по этому не надо.

в корне неверно.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

В этом треде rust нет.

Там написано «и т.д.» так что есть.

Документацию, например, по самому языку rust и его синтаксису ты так не сгенеришь, она хранится отдельно.

Разве что. Ну, скачать один дополнительный репозиторий, а собирается она так же.

в корне неверно

Если твой уровень таков что ты не знаешь где в документации лежит то что тебе нужно, или ещё того хуже, не знаешь что тебе нужно, то боюсь оффлайном ты уже никак не отделаешься - тебе нужны будут чатгпт, форумчики, чатики и стековерфлоу.

anonymous
()
Ответ на: комментарий от anonymous

просто ходишь за документацией в интернет

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

watchcat382
()

В Дебиане есть такая штука Recoll - умеет искать нужное в локальном файловом архиве. Конечно,имеет ограничения по понимаемым форматам.

Еще существует Google Desktop. Оно есть под линукс,но довольно старое и без исходников. Поэтому не знаю насколько сложно будет запустить это на современном линуксе.

watchcat382
()
Ответ на: комментарий от anonymous

Если твой уровень таков что ты не знаешь где в документации лежит то что тебе нужно, или ещё того хуже, не знаешь что тебе нужно, то боюсь оффлайном ты уже никак не отделаешься - тебе нужны будут чатгпт, форумчики, чатики и стековерфлоу.

Илитарии фчате! Все в машину! Кто не может запомнить названия всех 2819 классов и 30977 функций из Qt6, тот быдло!

hateyoufeel ★★★★★
() автор топика