LINUX.ORG.RU

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

 , ,


4

1

Привет, ЛОР!

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

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

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

★★★★★

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

С Qt есть ещё одна фича: если ты что-то знал, то в один из моментов функция или класс оказываются устаревшими и потом удалены, а новые часто делают не совсем то же самое.

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

С Qt есть ещё одна фича: если ты что-то знал, то в один из моментов функция или класс оказываются устаревшими и потом удалены, а новые часто делают не совсем то же самое.

Это фича не только Qt.

С другой стороны, у меня есть опыт переноса десктопного софта с Qt4 на Qt5 и Qt5 на Qt6, и я не могу сказать, что сам Qt доставил много проблем. Вот миграция с kde frameworks 5 на 6 – вот это реальный геморрой оказался.

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

Интернет нередко тормозит,а также подвержен внезапным блокировкам.

Уж уж мне эти ссыкуны от блокировок, готовые забить диски дерьмом которое устареет через день (типа отзеркалить весь npm).

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

Ты шутишь, наверное. Если сайт с документацией реорганизовался - то он реорганизовался валидно, а у тебя накачан устаревший мусор.

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

дерьмом которое устареет через день

Расскажи мне когда именно cppreference должен устареть. Новый стандарт выходит раз в 5 лет примерно.

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

Фатальный недостаток Zeal в том, что он их распаковывает в ~/.local/share/Zeal/Zeal/docsets.

А в чем заключается фатальность? Подмонтировал туда tmpfs, скачал один раз, упаковал в squashfs, и готово!

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

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

Нужно действительно имень очень низкий уровень чтобы просто допустить мысль что кто-то на это намекал. Беру за ручку и показываю как работает документация. Хотим, например, контейнер. Идём на https://doc.qt.io/qt-6/index.html → Qt Core → Container classes, видим свои 9 контейнеров.

Это для тебя слишком сложно? Ты не знаешь что хочешь контейнер, что контейнеры лежат в Qt Core, или что контейнеры лежат в категории «контейнеры»?

anonymous
()

Актуальненько, учитывая вот такие периодически перлы -

сайт wxWidgets таки нет?

Сайт таки не работает, но благо дока всё же открывается.

Есть ещё дока от одного проекта которым я пользуюсь, так вот там года 1,5 не было доступа к серверу из России, причём именно сам сайт прерывал подключение.

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

Скажи, вот когда тебя ткнули носом в очередную некомпетентность и показали что cppreference к релизам стандартов, как ты ошибочно полагал, никак не привязана, и является постоянно обновляемой вики, в которую в том числе новые фичи стандартов вносятся постоянно как до, так и после их выхода, не говоря уже о правках ошибок и уточнениях, а ты выбрал оттуда одно незначимое изменение из сотен за неделю и сделал вид что их нет - это демонстрирует нам что?

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

это демонстрирует нам что?

Это демонстрирует абсолютную нерелевантность твоих утверждений про необходимость постоянного доступа к самой распоследней версии cppreference. Обновлять свою копию при выходе очередной мажорной версии gcc/clang будет более чем достаточно.

Собственно, аналогично дела обстоят и с другими крупными проектами. Мне абсолютно плевать на изменения в девелоперской версии Qt, если я использую Qt 6.8. Когда выйдет 6.9, я вместе с самой библиотекой обновлю свою копию документации.

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

Почему не надо? Случайный доступ в сжатых архивах – абсолютно проклятая по производительности штука. Тут либо так, либо ты будешь ждать распаковку в память/временную директорию при каждом открытии этой всей фигни.

Если же у тебя диск маленький, поставь ФС с сжатием и включи его.

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

Посмотрел сейчас, C++.docset, CMake.docset и Qt_5.docset суммарно заняли менее гигабайта. Не такая уж большая плата за скорость и автономность.

Если добавят в zim - тоже неплохо.

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

Мне потому и нравится Zim

Кстати, есть issue (Dec 2, 2018) от автора Dash: New docset format.
Среди прочего, автор Zeal писал:

My current plan is using SQLite with some fancy streaming compression for blobs. We looked into ZIM format some time ago, but it really felt over engineered.

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

Я как раз юзаю cppreference через zeal. Это удобно и быстро, мгновенно находится нужное по поисковому паттерну (правда fuzzy search у меня не завёлся, он там experimental, что-то вообще не работает).

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

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

Я так пока не умею. Рецепт в студию, пожалуйста! :)

  1. Скачиваешь все, что надо
  2. cd директория-с-данными
  3. mksquashfs . -o /var/cache/zeal.squashfs -comp lz4 (man подскажет другие способы компрессии)
  4. rm содержимое-диретории-с-данными
  5. mount -o loop /var/cache/zeal.squashfs директория-с-данными (добавить в fstab при необходимости)
kawaii_neko ★★★★
()

надеюсь на твою мудрость в этом вопросе, ЛОР

Кхе-кхе, ну что ж, ты сам попросил, записывай.

Плюсы выполнили своё историческое предназначение — реализацию JVM. Теперь уже есть JVM на самой жабе и плюсы стали окончательно ненужны.

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

Если сайт с документацией реорганизовался - то он реорганизовался валидно

Не обязательно. Весьма нередко просто «дизайн обновили». Да так что хрен найдешь даже то о чем знаешь что оно там точно есть.

а у тебя накачан устаревший мусор.

Именно он и имеет наибольшую ценность. Производители железок очень любят удалять со своих сайтов документацию и софт по тем железкам которые они вдруг решили объявить «устаревшими». Но если эта железка есть в наличии и работает - то доки и софт к ней приходится хранить локально. Если вовремя не сохранил - потом бывает очень не просто найти. Пример - контроллер моей домашней солнечной электростанции. Китайцы его уже благополучно забросили. Хорошо что я сразу после приобретения (в 2017 году) всё скачал и сохранил. Сам контроллер работает отлично и менять его я не собираюсь только потому что его «устаревшим» объявили. Точнее даже вообще ничего не объявляли а просто забили на поддержку.

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

Если сайт с документацией реорганизовался - то он реорганизовался валидно

Как пример сайт msdn хоть и офтопик тут, но так валидно реорганизовался что весь интернет забит протухшими ссылками.

anonymous
()