«Прочту потом»: трудная судьба оффлайновой коллекции интернет-страничек +58



Есть виды софта, без которого одни люди жить не могут, а другие даже не представляют, что такое существует и кому-то вообще нужно. Для меня долгие годы такой программой был Macropool WebResearch, позволявший сохранять, читать и организовывать интернет-страницы в некое подобие оффлайновой библиотеки. Уверен, многие из читателей прекрасно обходятся коллекцией ссылок или комбинацией браузера и папки с набором сохранённых документов. Мне же хотелось бы иметь возможность хотя бы отмечать документы как "прочитанные" или "избранные", быстро переходить от одного текста к другому и не зависеть от доступности интернета или конкретного сайта. Бывает, что читать есть время ровно тогда, когда интернета нет (в дороге, например), да и ссылки, к сожалению, нередко оказываются недолговечными.


Видимо, примерно на таких людей и рассчитывали авторы WebResearch. Эта программа была нашпигована самыми разнообразными функциями: каталогизация по разделам и по тегам, редактирование заметок, всевозможные виды экспорта/импорта и так далее. Однако примерно к 2013 году проект перестал обновляться, а затем прекратил существование и сайт разработчика. Ещё несколько лет мне удавалось кататься на этой лошадке, но сначала отвалились браузерные плагины (доступные только для тогдашних версий IE и FireFox), а затем и современные сайты перестали нормально отображаться в просмотрщике на основе старого IE-движка.



Главное окно WebResearch, PC Week/RE №17 (575)


Дорога разочарований


Как только стало ясно, что замены не избежать, я в фоновом режиме взялся за поиск приличного аналога. Мне казалось, особых сложностей здесь не будет, поскольку желания мои крайне скромны. Я был готов обойтись лишь малым подмножеством средств WebResearch, включающим в себя:


  • сохранение HTML страницы из браузера с помощью расширения;
  • хотя бы минимальные средства каталогизации (переименование, организация каталогов, метки);
  • (желательно) поддержка PDF документов;
  • любой сносный способ синхронизации коллекции с другими устройствами.

К моему удивлению, ничего похожего мне найти так и не удалось, хотя я честно излазил интернет вдоль и поперёк и внимательно изучил с десяток подходящих по аннотации программ (за исключением Evernote, где похожая по описанию функциональность доступна только по подписке). На сегодняшний день хоть как-то удовлетворяют моим пожеланиям разве что проекты TagSpaces и myBase. Их изучение, вообще говоря, представляет определённый культурологический интерес.


TagSpaces — это такой вот "стильный-модный-молодёжный" органайзер на Electron с красивым сайтом, адаптивной вёрсткой и, конечно, тёмной темой, куда ж без неё. При этом злосчастное оглавление коллекции c модными закруглёнными значками занимает половину экрана, вмещая при этом штук двадцать элементов максимум, а базовые штуки вроде поддержки горячих клавиш или рендеринга просматриваемого документа пишутся по остаточному принципу. В итоге документы отображаются криво, а работа с коллекцией превращается в скучный и трудоёмкий комплекс упражнений с мышью.


Его антипод myBase родом из конца девяностых: здесь помимо чисто функционального интерфейса мы имеем крайне богатый набор настроек и функций. Однако в качестве окна просмотра здесь выступает всё тот же браузер на основе старого IE (что уже делает чтение затруднительным), а все документы хранятся в монолитной базе данных. Если её положить в папку Dropbox, например (других способов синхронизации с другими устройствами всё равно нет), то при малейшем изменении коллекции приходится дожидаться закачивания на сервер сотен мегабайт информации.


Поворотный момент


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


Цели и задачи


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


Формат данных и сохранение страниц


В каком виде хранить веб-страницы на диске? С учётом ранее сформулированных требований мне казалось, что выбор невелик: либо формат сохранения "веб-страница полностью", то есть основной HTML файл и папка со связанными ресурсами, либо формат MHTML. Первый вариант мне сразу показался менее предпочтительным: невелика радость иметь на диске помойку из кучи файлов, из которых понадобится извлекать значимые документы, фильтровать лишнее при поиске и следить за целостностью при копировании. Когда я пытался работать с TagSpaces, мне пришлось пересохранить все свои документы так, чтобы имя папки с ресурсами начиналось с точки: тогда система распознавала их как "скрытые" и не отображала.


Эта проблема скрыта из виду в myBase, поскольку всё хранится в базе данных, но в моём случае принцип простоты взял верх: очень хотелось хранить всё в виде обычных файлов на диске, чтобы не пришлось заниматься реализацией рутинных операций вроде копирования, переименования, удаления и синхронизации.


Формат MHTML переживает не лучшие свои времена. Простой способ сохранять MHTML был выброшен из Chrome этим летом, и я вот даже не знаю, в чём теперь предполагается хранить страницы? Понятно, что возможность пока что никуда не делась, есть сторонние расширения, но в целом это какой-то нехороший признак. Кроме того, сохранение в формате MHTML не поддерживается в Chromium Embedded Framework, что тоже не прибавляет оптимизма.


Параллельно я стал искать простой способ сохранения страниц из браузера в указанную папку. В итоге обе проблемы удалось разрешить малой кровью: я наткнулся на замечательный проект SingleFile, умеющий сохранять содержимое веб-страницы в отдельном независимом HTML-файле. Делается это путём преобразования всех связанных ресурсов в формат base64 и внедрения непосредственно в HTML. Конечно, при этом размер файла растёт, да и содержимое выглядит несколько замусоренным, но в целом подход мне показался надёжным и простым, и я остановился на нём.


SingleFile поставляется как в виде браузерного расширения, так и в виде приложения командной строки. Сейчас я просто пользуюсь расширением: это достаточно удобно, если не считать того, что надо вручную выбирать целевую папку для сохранения. В будущем, вероятно, постараюсь доработать приложение, чтобы упростить этот процесс. Для вызова стороннего приложения из Chrome можно использовать расширение External Application Button — это ещё одно моё полезное открытие. Кстати, приложение уже принесло пользу: с его помощью я сконвертировал коллекцию папок и файлов из TagSpaces в набор самостоятельных HTML-документов.


Хлопоты с GUI и браузером


Мне показалось, что для всевозможных простых операций с файлами и строками хорошо подходит Python, а поскольку в одном из моих рабочих проектов используется wxWidgets, выбор wxPython в качестве основного фреймворка выглядел логичным.


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


Должен признаться, что в последний раз мне приходилось заниматься чем-либо подобным лет 15 назад, и я не ожидал никаких подвохов. Оказалось, что "просто шлёпнуть браузер на форму" нельзя: как-то вот человечество не сумело надёжно и универсально справиться с этой задачей. Какой-нибудь listbox или кнопку на форму можно поместить в любом GUI-фреймворке, да ещё и сгенерировать кроссплатформенный код, и мне казалось, что в 2019 году отображение HTML тоже должно было быть повсеместно решённой проблемой.


Оказалось, что в wxWidgets, например, стандартный компонент "браузер" является кроссплатформенной обёрткой над системно-зависимым "браузером", который в случае Windows, например, означает Internet Explorer 7, причём ситуация в Windows Forms ничуть не лучше, и версии свежее IE9 доступны только при помощи нетривиальных манипуляций с реестром. Как видите, не я один занимался последние 15 лет другими делами — здесь тоже с места ничего не сдвинулось.


Дальше передо мной стоял выбор: менять фреймворк или искать альтернативный компонент для браузера. Поколебавшись, я решил попробовать сначала второй путь и достаточно быстро наткнулся на проект CEF Python: Python bindings for Chromium Embedded Framework, предназначенный ровно для задачи встраивания Chromium в приложения на Python.


Оцените ситуацию: Python является одним из самых популярных языков программирования в мире, Chrome — по сути монополист на рынке браузеров. При этом CEF Python фактически поддерживается энергией одного парня, сил и здоровья ему. Неужели это больше никому не нужно?..


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


Я изучил подробнее компоненты на основе Chromium Embedded Framework и в итоге решил попробовать версию для C#. Поскольку работаю я почти всё время с Windows, перспектива отказаться от кроссплатформенности меня, в общем, не особенно смущала.


После некоторой неизбежной возни на старте дело пошло гораздо быстрее: связка CefSharp и Windows Forms оказалась выигрышной, и мне удалось без особых проблем решить большинство поставленных технических задач.


О неиспробованном


В приложение на C# можно попробовать внедрить и FireFox, используя компонент Geckofx, но я про него ничего сказать не могу. Стандартный браузерный компонент фреймворка Qt под названием QWebEngineView основан на Chromium, так что, вероятно, будет работать не хуже CefSharp.


У любителей Qt может возникнуть соблазн откомментировать: мол, брал бы Qt, не имел бы проблем. Возможно, что так оно и есть, но и wxWidgets можно считать если не первой, то второй опцией при выборе GUI фреймворка для приложений на Python или C++. И по моему скромному мнению уж такая вещь как браузер должна встраиваться в любой более-менее развитый GUI фреймворк без плясок с бубном.


WebLibrary


Вернёмся, однако, к моему приложению с рабочим названием WebLibrary. На сегодняшний день выглядит оно (барабанная дробь) вот так:



Помимо чистого и лаконичного интерфейса здесь реализованы лишь самые наибазовые функции:


  • Отображение любого указанного каталога в системе как библиотеки документов.
  • Просмотр документов в окне браузера. Навигация по списку обычным образом (клавиши курсора, PgUp, PgDn, Home, End), пролистывание в браузере клавишами Space и Shift+Space.
  • Переименование документов.
  • Пометка документов как прочитанных или избранных с помощью горячих клавиш.
  • Сортировка документов по любому полю.
  • Обновление окна приложения при любых изменениях в библиотечной папке.
  • Сохранение настроек окна при выходе.

Это всё может показаться тривиальной функциональностью, но вот, скажем, сохранение размеров колонок в TagSpaces всё ещё не поддерживается — видимо, у авторов другие приоритеты.


Статус (прочитано/избранное) попросту хранится в имени файла (прочитанный файл doc.html переименовывается в doc{R,S}.html). Синхронизация как таковая не реализована, но я попросту держу библиотеку в Dropbox — в конце концов, это всего лишь папка с файлами.


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


Выводы


Самые разные. Как я сказал с самого начала, удивительно, насколько инструментарий одного человека может отличаться от инструментария другого. Для меня пользоваться средством вроде WebResearch естественно, и я ощущал почти физический дискомфорт от его отсутствия. При этом, судя по всему, единомышленников у меня немного, иначе бы проблем с поиском аналогов не возникло бы. С другой стороны, аналогичные случаи происходят и с куда более меинстримным софтом: например, Microsoft не собирается обновлять десктопную версию OneNote, так что я вынужден пользоваться версией 2016 года, и рано или поздно придётся с неё тоже куда-то переезжать.


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


Оказалось, что реальность куда менее благожелательна, и нарваться на проблему можно просто на ровном месте. Скажем, есть у меня два splitter-а, с помощью которых можно растянуть окно браузера. Так вот, восстановить их позиции после загрузки в wxWidgets крайне непросто, поскольку система выставляет их в позиции по умолчанию практически после всех доступных мне событий, и приходится заниматься всяческим хакерством, чтобы добиться нужного. Вот кто бы предполагал?


С другой стороны, видно, что в Windows Forms всё заточено под "бизнес-интерфейсы". Практически всё, что требовалось, оказалось доступно из коробки: и сохранение/восстановление настроек приложения, и удобный интерфейс компонентов (скажем, не ожидал, что у компонента TreeView можно запросить полный путь от корня до любого дочернего элемента в виде строки), и нетривиальные средства вроде отслеживателя изменений содержимого папки.


В любом случае время потрачено не зря, а результат можно признать удовлетворительным, так чего же ещё желать от жизни, верно?

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (101):

  1. MaZaNaX
    /#20864634

    Спасибо. Недавно тоже искал что-то, что позволило бы читать статьи в оффлайне. Собирался уже что-то подобное реализовывать в связке с телеграм ботом, но так и не смог найти адекватный способ сохранения страницы на диск (особо и не искал, если честно).

  2. NeoCode
    /#20864720

    Я пока просто сохраняю в mhtml из браузера (opera или vivaldi), пока все работает. Очень удивлен и опечален тем, что из Хрома, оказывается, удалили этот флаг. mhtml — отличный формат для сохранения страничек, его поддержку следовало бы не удалять, а напротив — сделать опцией, установленной по умолчанию во всех браузерах.
    А с каталогизацией пока никак — просто сохраняю куда-то «на всякий случай чтоб было». Хотя я в свое время обдумывал подобную задачу для электронных книг, там тоже все непросто — но ясно, что как минимум должна быть основная иерархическая структура, система тегов, система заметок, в идеале — полнотекстовый поиск, а также ридер основных форматов.

    • kagary06
      /#20865592

      Да, из Chrome убрали возможность сохранения страницы в виде .mhtml файлов.
      Добиться похожего функционала можно при помощи расширений. (Например: Save Webpages Offline As MHTML).
      Или если вы хотите сохранить страницу из интернета в одном файле, который затем можно будет просмотреть в любом браузере (без расширений), то можно воспользоваться расширением SingleFile, который пытается сливать все ресурсы страницы в виде одного .html
      Для простых страниц с картинками это вполне работает, но если брать уже современные сайты с большим количеством динамики, то тут уже как повезет.

      P.S. Прошу простить за мой корявый русский.

      • user_man
        /#20866458

        >> Да, из Chrome убрали возможность сохранения страницы в виде .mhtml файлов. Добиться похожего функционала можно при помощи расширений.

        А зачем добиваться от убитого гуглами продукта работоспособности за свой счёт? Не проще ли выкинуть это поделие на помойку и поставить нормальный браузер?

        Мода следования за гуглами до хорошего не доведёт.

        • rg_software
          /#20866464

          Ну это же не к нам претензия про «моду следования за гуглами». Тут работает принцип «утром в газете, вечером в куплете»: если Гугл выпиливает эту функциональность, есть вероятность, что и «нормальный браузер» через некоторое время тоже выпилит, вот и вся история.

        • tmin10
          /#20866654

          А где это работает? В лисе тоже нет, в Edge вообще выпилили функционал сохранения страничек.

          • user_man
            /#20868658

            А я вообще не гонюсь за последними версиями браузеров. Поэтому у меня работает. Но да, если все производители станут так над людьми издеваться — уж не знаю, придётся учиться плагины писать и всё на них переводить, или вообще свой браузер :)

    • wadeg
      /#20867340

      Очень удивлен и опечален тем, что из Хрома, оказывается, удалили этот флаг.
      Ну вообще-то решение на поверхности: не нужно использовать клон Хромиума от Гугла, использовать нужно сам Хромиум. И все: никаких дополнений, расширений, сторонних программ — сохранение в mhtml в самом Хромиуме никуда не делось.

    • splasher
      /#20867912

      Да, не вполне понятное решение по флагу. Для справки, у Хрома таки можно сэйвы в mhtml восстановить, я сам это уже сделал. Руководства есть в сети. С Webresearch сам тоже работал в свое время и был ему благодарен, немец один вроде это все разработал. Хотел через них чутка автоматизировать свою работу, но возможности для этого были небольшие, плюс куча багов при «шаг влево-шаг вправо».

  3. Yermack
    /#20864764

    https://www.httrack.com — есть хорошая программа для скачивания сайтов. Часто сталкивался с умирающими ссылками, поэтому особо полезные сайты начал скачивать. Там много тонких настроек, а еще она по умолчанию создает страницу, на которой будет отображаться все загруженное хозяйство. Кстати, надо бы скачать все свои закладки с хабры

    • rg_software
      /#20864786

      Это да, равно как и старый верный Offline explorer. Ещё бы с этой скачанной коллекцией удобно работать было бы…

      • NeoCode
        /#20864802 / +1

        А чем кстати сейчас современные сайты можно скачивать? Teleport pro уже многие не берет по непонятным причинам. То-ли https ему не нравится, то-ли еще что… httrack пробовал, не понравилось. Offline explorer не пробовал, смотрел на него как-то — показался похож на какой-то навороченный комбайн:) А идеальной софтиной для меня была такая древняя «Disco pumper», там можно было интерактивно смотреть страницы, дерево закачки (структуру сайта) и «углублять» скачивание отдельных нод (равно как и отменять закачку отдельных нод) прямо в процессе скачивания. Может быть есть такое в open-source на современном chromium+qt?

        • barbaris76
          /#20865236

          Интересно, а в связи с современной истерией по поводу авторских прав и вот этого всего, скачивание сайтов не попадает под действие какого-нибудь очередного закона с труднопроизносимым названием?

          • NeoCode
            /#20865342

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

            • VolCh
              /#20865854

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

              • rg_software
                /#20865878

                Ну это конкретно я синхронизирую через дропбокс. Если вас беспокоит эта тема, то вы наверняка используете альтернативный софт типа Owncloud или Seafile, всё равно файлы как-то синхронизировать между компьютерами удобно бывает.

            • site6893
              /#20866890

              просто скачивание — безусловно нет

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

          • HellKaim
            /#20865348

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

        • Vilgelm
          /#20867354 / +1

          wget -r -k -l 7 -p -E -nc http://site.com/

    • VDG
      /#20865618

      Там много тонких настроек

      Попробовал сохранить httrack`ом эту страницу, не трогая настроек, ничего не вышло. Наплодил мне десятки вложенных директорий «habr.com» пока я не заметил и не остановил.

  4. AlexanderS
    /#20864834

    Да, тема интересная. Кстати, сохранение страничек не совсем панацея, т.к. некоторые страницы сохранённые потом почему-то открываются с поломанной вёрсткой. Но основные текстовые блоки более-менее на своих местах, поэтому с этим можно мириться.

    Порой бывает полезно иметь в оффлайне раздел какого-то сайта. Мне могут заметить, что для этого есть HTTrack Website Copier, Offline Explorer или Teleport Pro. Но для разных сайтов с этими программами порой получаются разные танцы с бубном.

    Недавно я озаботился скачиваем веток форума. И знаете — тут всё очень плохо. Я думал что уже давно какое-нибудь расширение для лисы есть, которое работает, по крайней мере, для популярных форумных движков. А вот… не нашел!

    Для всего этого дела хотелось бы иметь какой-нибудь универсальный инструмент. Для видео/аудио, например, я использую youtube-dl, под который был написан скрипт-обёртка «под себя». Кстати, он далеко не только с ютуба скачивать умеет.

    • NeoCode
      /#20866416

      Была такая программа, вроде «forum pilot», но она давно не обновляется и с закрытыми исходниками. А вообще тема очень интересная.
      Еще интересно чем скачивать дискуссии google groups. Например предложения в стандарт С++ (сейчас кстати там вроде сами обсуждения закрыли и переместили на lists.isocpp.org, но старые пока еще доступны). Это бесценный кладезь идей, и очень хотелось бы иметь его оффлайн в структурированном виде (сам веб-интерфейс групп весьма корявый).

  5. site6893
    /#20864842

    scrapbook — расширение для файрфокса! но к сожалению адекватная версия тоже уже не обновляется, из за чего держу портабельную версию старой лисы на которой он еще работает.

    • TiesP
      /#20865094

      Аналогично) Очень удобный плагин, почти идеальный. Последняя версия ScrapBook X. Ради него держу FF ESR 52.8.1 и не обновляю… Кроме разных понятных возможностей типа поиска по тексту, экспорта-импорта (например, для переноса на другой комп), мне ещё нравиться возможность очень простого редактирования, когда просто удаляешь ненужные блоки с сохраненной страниц (например div с рекламой) просто щелкая мышкой по ненужным блокам.

      • sheol
        /#20867914

        Scrapbee!
        Полная замена Scrapbook.
        Работает на последнем FF, выглядит как старый Scapbook. Формат файлов остался старый, от Scrapbook — можно поставить и работать со старым архивом. Один китаец формат скрапбука раскурил и сделал это расширение. Требует внешнего исполняемого файла на Go для общения с ФС. Я лично собираю этот файл из исходников — на идущий в комплекте с расширением ругались антивирусы.

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

        • TiesP
          /#20870486

          Спасибо за наводку. Надо попробовать)

  6. jevius
    /#20865042

    wget?

    Сохранять надо все в один html файл, весь медиа контент вставлять прямо туда как base64, ссылки править с относительных на абсолютные, если таковое нужно. Как это сделать руками? Анрил, надо писать софт. Все остальные способы — будет криво / косо / с кучей папок

  7. FForth
    /#20865064

    Сейчас выделяю содержимое статьи и печатаю выделенный фрагмент из браузера в PDF формате. В целом получается неплохо, но не всегда это срабатывает на сайтах (может в разных браузерах по разному?)

  8. Exchan-ge
    /#20865104

    судьба оффлайновой коллекции интернет-страничек


    Уже давно использую MS OneNote.
    Храню в нем как ссылки, так и наиболее интересные статьи (в том числе и те, которые в онлайне давно канули в Лету).
    По факту — это моя персональная БД, которая мобильнее, проще и легче в использовании, чем старая (использую с 1997 года) добрая Access.
    8 основных записных книжек, в каждой — по десятку-другому разделов. Число страниц учету не поддается. Перестал использовать закладки в браузерах как менее удобный вариант.
    (прим.: речь об MS OneNote 2016, а не о той урезанной поделке, что входит в состав 10 и Офис Онлайн)

    • rg_software
      /#20865588

      Да, видите, вам тоже ещё предстоит решать, что делать с OneNote рано или поздно. Кстати, к ней когда-то прилагался плагин Web clipper, но он содержимое сайта вставлял в виде скриншота, если не изменяет память.

      • Exchan-ge
        /#20865612

        Да, видите, вам тоже ещё предстоит решать, что делать с OneNote рано или поздно


        Я думаю, что к тому времени когда OneNote 2016 станет неактуальным — все переменится пару раз. Прога доступна для свободного скачивания, там проблема скорее в информированности о ее существовании.

        • rg_software
          /#20865620

          Одна из проблем в том, что OneNote использует для синхронизации какие-то свои способы (через OneDrive, подозреваю), поэтому возможность вести записки, доступные везде, завязана на работоспособность функции логина в Microsoft account.

          Я пробовал хранить записные книжки в папке dropbox, но это плохо работало.

          • Exchan-ge
            /#20866216

            Одна из проблем в том, что OneNote использует для синхронизации какие-то свои способы (через OneDrive, подозреваю), поэтому возможность вести записки, доступные везде, завязана на работоспособность функции логина в Microsoft account.


            За все годы у меня не было проблем с учетной записью МС, хотя там есть некоторые не вполне очевидные тонкости (например, надо помнить свой логин и пароль ).
            Тонкости там в том, что учетных записей у МС два вида, хотя предупреждений об этом нигде нет (обычная ситуация, когда инструкции пишет не тьютор, а разработчик). Обычный пользователь абсолютно не в курсе, что рабочая учетная запись — это совсем не та учетка, которую он получает при бесплатной регистрации в OneDrive.

            • rg_software
              /#20866240

              Ну, хорошо, если оно так и дальше будет. Меня беспокоит то, что OneNote Desktop навсегда останется на версии 2016, и где гарантия, что система логина останется совместимой с ней в ближайшие годы?

              Например, у меня в активном пользовании есть другой почивший софт: Picasa. Вот там уже давно сломалась интеграция с геотегами: увидеть на карте точку снимка нельзя, потому что API поменяли.

              • Exchan-ge
                /#20866470

                меня беспокоит то, что OneNote Desktop навсегда останется на версии 2016


                Меня больше беспокоит то, что «кризис доткомов» начала 2000х повторится, но уже с «облачными технологиями».
                Что-нибудь типа проблемы с прибылью у операторов, результатом которой станет исчезновение неограниченных по времени бесплатных аккаунтов в «облаках» и резкое повышение стоимости платных.

                (подписка на год на Офис 365 первоначально у нас стоила очень приемлемо. Но с тех пор ее стоимость увеличилась в четыре раза).

          • dartraiden
            /#20866964

            Я просто оставлю это здесь. Клиент под все основные платформы, если его нет — открыть заметки можно любым текстовым редактором (внутри Markdown), синхронизация через OneDrive, Dropbox, WebDav, опциональное шифрование, есть дополнение для браузеров.

    • Viknet
      /#20866778

      Microsoft на днях объявила, что возрождает OneNote 2016, интегрирует в него все фичи из «нового» и будет развивать как основной клиент.

      • Exchan-ge
        /#20866986

        Microsoft на днях объявила, что возрождает OneNote 2016


        А можно ссылку на источник информации?

        • Viknet
          /#20867666

          With that in mind, we’re pleased to announce that we are continuing mainstream support for OneNote 2016 beyond October 2020, so that you can continue using the version of OneNote that works best for you. New support dates for OneNote 2016 now align with Office 2019 (October 10, 2023 for mainstream support and October 14, 2025 for extended support). We also want to make deployment and installation easier for organizations and individuals, so for Windows users, starting in March 2020, when you deploy or install Office 365 subscriptions that include the Office desktop apps or Office 2019, the OneNote desktop app will be installed by default alongside Word, Excel, and PowerPoint. If you’d like to install OneNote 2016 earlier, you can get it here: aka.ms/InstallOneNote.

          techcommunity.microsoft.com/t5/Office-365-Blog/Your-OneNote/ba-p/954922

          www.theverge.com/2019/11/7/20953691/microsoft-onenote-to-do-integration-fluid-framework-future-features-ignite-2019
          “We are literally merging all of our modern code back into the legacy 2016 codebase to create a unified single codebase that we can ship and deliver OneNote from,” explained Ben Hodes, product manager of OneNote, at a Microsoft Ignite session today. “The reason we’re doing this modern merge is to get back to a single codebase and start to deliver these features in the coming year and a half.”

          myignite.techcommunity.microsoft.com/sessions/79266?source=schedule

    • DoctorMoriarty
      /#20867440

      >урезанной поделке

      Пользуюсь ей постоянно. 6 записных книжек. Вот сейчас сравнил с той версией, которая в комплекте Office 2016. Что там настолько урезано, не понял: форматирование текста, вставки медиа, таблиц, фигур, запись с микрофона etc — присутствует.

      • Exchan-ge
        /#20867862

        Что там настолько урезано, не понял


        Что до функциональности — я так и не нашел, как в онлайн- версии включить функцию автоматической вставки ссылки на скопированную информацию («Источник:»)
        В 2016 вопрос решается просто — по правой кнопке либо вставка (с ссылкой на источник), либо специальная вставка (без ссылки на источник).
        В онлайн версии надо жать «Ctrl+V» (хорошая фича для обучения использованию сочетаний клавиш, но плохо во всем остальном) — и без вариантов.

        Еще один недостаток онлайн- версии — расположение списка разделов вертикально (хорошо для вертикально ориентированного смартфона, но плохо для десктопа, так как заметно сокращает полезную площадь для записей, что довльно критично для мониторов в 22")

        Плюс в онлайн версии просто полно багов.
        Например, есть проблемы со вставкой изображений — в 2016 все норм, в онлайн- версии часть изображений вставляется с искажением пропорций (если блоки идут параллельно, а не последовательно)
        При этом возникают проблемы с корректировкой размера изображений — и это всего один из многочисленных мелких глюков.

  9. fessmage
    /#20865122

    Одно слово — Pocket. Бесплатно, удобно, на всех платформах.

    • 411
      /#20865534

      Поддержу, сам им пользуюсь. Альтернативой есть instapaper. Они конечно не сохраняют 1 в 1 страничку, но наоборот парсят статьи и сохраняют их в пригодном для чтения виде.

    • jahr
      /#20866020

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

    • engine9
      /#20869062

      А как им в оффлайне пользоваться? Совершенно неинтуитивная штука.

      • fessmage
        /#20869184

        Из мобильных приложений сохраненные страницы доступны в оффлайне сразу после синхронизации списка.


        А на десктопе ставится Chrome app из стора, он тоже после синка позволяет потом всё читать без сети.

  10. rafaelpro
    /#20865354 / +1

    Для Firefox есть аналог Single File — аддон Save Page WE, точно также сохраняет в один html файл.
    Можно добавлять в название файлов теги, в каких-нибудь скобках, сохраняя по папкам — категориям и потом любым продвинутым поиском искать.

    • AlexanderS
      /#20867306

      У него есть один недостаток, как и у всего Firefox. На форумах, в темах где есть пройлеры, текст из них не сохраняется — после сохранения страницы спойлеры не рабочие. Для Firefox я решил проблему через скрипт Greasemonkey — при открытии страницы спойлеры открываются/закрываются и их содержимое корректно сохраняется. Для SPWE я ничего не придумал.

  11. Ryav
    /#20865400

    А у меня ссылки в raindrop, мои личные заметки в Evernote (но может перееду на Joplin, пока не могу выбрать время для этого), а всякие планы по поездкам и личным «проектам» в Notion. На работе же ввиду запрета на сторонний софт использую OneNote.
    Однако я последнее время склоняюсь к тому, что всё мне никогда не перечитать. Думаю, как бы себя отучить от всего этого дела.

  12. Londoner
    /#20865526

    Лучше способа, чем печатать страничку в PDF я не нашёл.

    • site6893
      /#20866906

      а поиск? а если надо страничку и все ссылки со странички на файлы, и на один уровень страничек вглубь сохранить?

      • Londoner
        /#20866920

        А поиск всё равно не работает из-за всё ещё продолжающегося зоопарка с кодировками… :)

  13. Alexsey
    /#20865546

    Ну вообще вопрос правильного сохранения веб страниц вполне неплохо решили ребята из Internet Archive: WARC (ISO 28500:2017)

  14. Moonman
    /#20865598

    Долгое время пользовался браузером Pale Moon с плагином UnMHT, а сейчас просто сохраняю странички через Оперу в pdf формате.

  15. dpr
    /#20865600

    Немного не то, но всё же обратите внимание на MyTetra www.linux.org.ru/news/opensource/14329383
    Отличный софт для хранения информации.

    • rg_software
      /#20865602

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

  16. malarr
    /#20865604

    Тоже хотел сказать пару слов за блокноты. Буквально на днях в очередной раз вывел из себя Evernote, стал искать замену и открыл для себя Joplin — свободный от излишеств опенсорсный блокнот, синхронизирующийся с любым WebDAV источником, имеющий дополнения для хрома и огнелиса. Сохраняет в markdown все аккуратно и элегантно. На мой взгляд, именно то, что нужно автору.

    • noanswer
      /#20865916

      спасибо за Joplin выглядит интересно, надо изучить

  17. Grey4ip
    /#20865606

    Спасибо. Тоже задумываюсь о хранении полезных статей в оффлайне, но нужна возможность и с андроида добавлять/читать.
    Сейчас стоит Pocket, но там не видел возможности хранить одну и ту же страницу за разные даты (разные версии).

  18. lowtechomega
    /#20865764

    Как вариант Offline Explorer Enterprise metaproducts.com/products/offline-explorer-enterprise

    Все требуемые вами функции там есть + гораздо больше. В торентах легко найти.

    • rg_software
      /#20865920

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

  19. noanswer
    /#20865898

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

    я не говорю что Evernote предел мечтаний, но он неплох. Кстати в основном сохраняю или фрагмент страницы и/или упрощенную версию… то есть сохранять страницу целиком мне например не нужно… и очень удобная функция сразу предлагающая блокнот в который будет сохранятся «награбленное» в основном предлагает правильно.

    • rg_software
      /#20865918

      А сколько там данных позволяют держать с базовой бесплатной функциональностью? Когда я смотрел, было в районе 1-2 ГБ. Если сохранять страницу целиком, то иной документ легко занимает 30 мегабайт, так что этот лимит не так уж огромен… Ну и да, я бы хотел оффлайновый блокнот, я, честно говоря, не знаю, насколько хорошо это работает когда интернета действительно нет (т.е. в режиме кэша).

      • noanswer
        /#20865966

        пошел посмотрел 60мб в месяц и не больше 25мб на одну заметку… вот за все время пользования я еще не выходил за лимиты

        и оффлайн на компе вроде и в бесплатной версии

        а вот то что можно поставить только на 2 устройства огорчает… у меня собственно на 3х устройствах почему-то работает, наверное с 2х андройдов не захожу одновременно :)

        • rg_software
          /#20866176 / +1

          Ну вот, не более 25 мб на одну :) Попробуйте сохранить что-нибудь вроде этого.

          • noanswer
            /#20866854

            я и открыть не могу, что это и зачем мне сохранять?

            собственно написал, что в своих хотелках, я ещё не выпадал из выделенных ресурсов.

  20. LennyB
    /#20866040

    В Vivaldi есть интересный инструмент «Снимок страницы» — делает png-картинку из всей страницы. Да, без текста, но потом даже браузер не нужен. Эта статья получилась 1536х21566 пикселов, 4,8 МБ.

    • rg_software
      /#20866180

      Да, так работал в том числе и web clipper из OneNote, можно было быстро получить скриншот для записной книжки.
      Но сами понимаете, не мечта поэта, да и анимацию сохранить нельзя, например.

  21. Doverchiviy_kot
    /#20866254 / +1

    Я для себя проблему сохранения страниц решил просто, поставил на Firefox дополнение SingleFile которая сохраняет одним .html файлом, не сохраняя всю чепуху что вырезал adblock. Дальше просто закидываю страницу нужною мне папку.

    • rg_software
      /#20866260

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

      • Doverchiviy_kot
        /#20866304

        Ну задачу быстрого просмотра коллекции может решить html файл со структурой вида список категорий — список сайтов с их превью — сами сайты, ссылки на сайты ссылаются на файлы. Всякими оффлайн скриптами можно прикрутить поиски/сортировки/…, внешними скриптами прикрутить какую нибудь автоматизацию добавления сайта в «каталог» с его скриншотом.

        • rg_software
          /#20866336

          Ну да. Ещё прикрутим теги вроде «просмотрено» и «избранное», ещё пару вещей… и получим что-то вроде моего инструмента или WebResearch. Никто не спорит, что можно, но готового найти не удалось…

    • 413x
      /#20866768

      А искать такие файлы можно локальными поисковиками: Google Desktop, Yandex Desktop и Home Search. Первые два наверное сегодня уже неактуальны.

  22. slavapro
    /#20866280

    Странно, что не упомянут китайский веб-клиппер WizNote, долгое время им пользовался. Судя по теме на 4pda он всё ещё живее всех живых.

    • rg_software
      /#20866368

      Да, должен признать, что прошло мимо меня. Изучу. На вид, конечно, тот ещё комбайн :)

      • ru1z
        /#20867002

        У wiznote ?когда я в последний раз его использовал было удобно, что странички просто сохранялись в zip-файлы и можно открыть их как угодно. На 4пда утверждают, что можно свой сервер развернуть.

        Еще есть другой хороший аналог evernote — nimbusnote, тоже довольно удобный (меньше ограничений, чем в evernote; продуманное сохранение тегов; есть хорошая веб версия и вебклипперы). Правда, как оказалось на электрон перевели, что ок, но я все-равно сохранил старую версию (портативная).

        У evernote, как правильно выше писали есть оффлайн блокноты в которых, если я правильно помню, нет ограничений на размер и количество блокнотов. Файл evernote можно синхронизировать отдельно. Минусы — размер базы в случае больших коллекций. У evernote мне нравится клиппер, в настройках можно выбрать любую клавишу или сочетание, чтобы скопировать выбранный фрагмент (обычно ставил F1) и можно за секунду скопировать любой нужный текст (почему-то больше нигде такой функциональности не нашел). В мак-версии, кстати, такой возможности нет, зато скриншотер круче и удобнее, т.к. можно последовательно копировать участки экрана, а потом все скопом сохранить в одну заметку. Есть смысл смотреть старые версии evernote, которые могут быть удобнее.

        Onenote тоже довольно удобный и можно использовать как оффлайн-решение, синхронизируя файлы облаком. У него замечательные мобильные приложения (н-р с поддержкой рукописного ввода, голосовых заметок и т.д.) с интеграцией с другими ?программами Microsoft.

        Я был бы рад, если бы доработали zotero или схожую библиографическую базу для научных публикаций, т.к. это однозначно гораздо более интересная альтернатива, особенно после смерти scrapbook. Zotero отличная программа (даже можно сказать лучшая) для ведения библиографии, которой пользуются куча университетов и она поддерживает сохранение pdf (преимущественно), веб-снапшотов и вообще любых других файлов. К сожалению, странички-снапшоты не сохраняются в единые файлы и в-целом функционал снапшотов очень бедный. Вероятно какой-нибудь аддон решил бы проблему (zotero основан на firefox, причем есть как стендалон, так и файрфоксная версия, т.е. потенциал вроде есть), но пока нет альтернатив.

        • rg_software
          /#20867124

          По-моему, для offline блокнотов в Evernote нужна подписка, иначе это не работает. Для научной библиографии я пользуюсь Citavi, очень нравится. Не без недостатков, зато с оффлайновой коллекцией pdf файлов.

          • ru1z
            /#20867386

            //для offline блокнотов в Evernote нужна подписка
            Уппс, не то написал, не оффлайн, а локальный блокнот (несинхронизуемый блокнот, создается по File->New Local Notebook). Подписка на локальные блокноты не нужна. Оффлайн блокноты — это когда для мобильных версий (точно под андроид), там действительно нужна подписка.

            Citavi
            Разве бесплатная? Посмотрю, спасибо.
            Оффлайн пдф и в зотеро есть. Правда настройки по умолчанию неудобные, но есть статья на хабре про это (лучше апдейт той статьи на r-bloggers)

            • rg_software
              /#20867898

              > Подписка на локальные блокноты не нужна.

              А как их синхронизировать?..

              Разве бесплатная? Посмотрю, спасибо.

              В бесплатной ограничение на 100 источников на проект вроде бы, но я купил (там классический способ: купил и забыл, если новые версии не нужны).

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

              • ru1z
                /#20868154

                А как их синхронизировать?..
                Такие только дропбоксом или экспортом.
                ограничение на 100 источников на проект

                На попробовать хватит. Пока что кажется, что в citavi продуманный и удобный интерфейс, посмотрю, любопытно.
                Цена сильно кусается и подписки я тоже не поддерживаю. Кроме того, к коммерческим решениям, автоматически требований и хотелок больше. Там и конкуренция сильнее, например тот же paperpile, endnote и другие.
                Кроме всего прочего, в зотеро я перешел, т.к. там более прозрачная работа с заметками и выделениями в pdf (их можно выгрузить). До этого работал в закрытый по уши mendeley, больше не хочется связываться. Какой-нибудь менеджер с поддержкой майндмапов пожалуй устроил бы меня полностью, но видимо такие варианты сильно непопулярны.

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

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

                • rg_software
                  /#20868358

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

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

                  • ru1z
                    /#20868430

                    Можно, я так делал. Как минимум через экспорт можно. Кроме того, в следующем месяце синхронизация восстановится.

                    Еще можно Enex-файлы конвертировать в другие форматы, вот например в html нагуглил скрипт (не проверял). Также Joplin утверждает что Evernote via .enex files can be imported. Onenote тоже умеет импортировать (сам onenote по-моему коряво страницы импортирует из веба, но может сейчас улучшили). Evernote еще умеет html-файлы из каталога импортировать.

                    Конечно, бесплатный лимит у evernote очень маленький (60 Mb вроде), для веба, но с другой стороны веб стал очень жирным. Я не рассматриваю evernote как наиболее правильный способ бекапа записей, но программа довольно удобная и есть куча сторонних доработок/клипперов и пр. Есть из чего выбрать. В любом случае неплохо бы отдельно бекапить базу enex на всякий случай.

                    Кмк, вы любопытный вопрос подняли. Жаль, что никому особенно локальное сохранение ресурсов не интересно. Раньше я пользовался scrapbook с экспортом в chm, но вот и scrapbook умер и chm ушел/устарел. Evernote все еще живет, что удивительно, хотя куча аналогов давно полегло.

                    Имхо для академического использования было бы круто иметь удобный вариант для организации, цитирования и сохранения старых ресурсов и pdf, но пока не встретилось all-in-one solution. У маковского marginnote интересная концепция, но он только с epub/pdf и не может в библиографию, да и для win его нет. Добавить бы сохранение в epub в какой-нибудь зотеро, сквозной интерфейс для аннотаций, с любыми уровнями связности, цены бы не было.

  23. Alexmaru
    /#20866628

    а можно было вспомнить про "список для чтения" в Safari. Ну, просто так, потому что он живой и работает, если интернета нет — показывает сохранённую копию, и синхронизируется.

  24. kuil
    /#20866800

    Pocket очень хорошо подходит для сохранения и последующего оффлайн чтения и каталогизации (через теги).

  25. vsb
    /#20866998

    Сохраняю страницы (без всяких MHTML, не знаю, зачем вам это надо), веду ручками файл-оглавление с ссылками и всё. Минимум телодвижений, легко копируется на веб-сервер или открывается с диска.

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

  26. stripe
    /#20867128

    Привет Макс! А ты Wallabag не пробовал использовать? у него правда с сохранением картинок вроде как не так хорошо как хотелось бы...

  27. muxa_ru
    /#20867490

    Если речь идёт о долговременном хранении, то отдельные html-файлы самое разумное решение.


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

  28. Netbioz
    /#20867906

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

    • rg_software
      /#20867908

      Ну, может, вам и достаточно, а мне недостаточно. Форматирование частенько плывёт при таких операциях, а как насчёт анимации, например? Эта страница выходит за рамки бесплатного пользования очень быстро.

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

      • Netbioz
        /#20867966

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

        • rg_software
          /#20867974

          Как-то у меня душа противится способу монетизации Эверноута. Вот дропбокс не смущает. А тут, получается, что я создаю записку, но она автоматически куда-то уходит «в облако», и у меня берут деньги за право доступа к своим собственным записям, и я не могу их даже себе скачать и перекинуть на другой компьютер. Это, на мой взгляд, какой-то верх вымогательства: пока вы нам платите, можете записки читать, а так они не ваши, перестанете платить, потеряете.

  29. VMarkelov
    /#20870276

    Если не ошибаюсь в Outwiker (https://jenyay.net/Soft/Outwiker) есть возможность создавать заметку из URL — оно тянет html с содержимым и вставляет как заметку. А там уже и тэги и раздел и остальное можно по вкусу редактировать.

    Сам я давно пробовал эту фичу, потом в итоге перешёл на сохранение через Firefox plugin «SingleFile».

  30. Aleho
    /#20875006

    Может в Pocket для Windows скоро допилят оффлайн просмотр:

    At the moment, Pocket for Mac is our sole offline option on desktop, available on macOS computers only. The Pocket team is looking into expanding offline support so PC users can enjoy Pocket offline in the future.