1 апреля 2013 года я
написал, что создаю секту, главой буду я, а священными текстами будет мой дневник.
Разумеется, я шутил. Но также я написал, что будет создан отдельный сайт со структурой и навигацией. Такого сайта я так и не создал, но я создал кое-что получше.
Итак, теперь у меня есть:
--
Набор скриптов на питоне, позволяющих сделать локальную копию моего дневника
-- Или любого другого дневника, что, однако, не проверялось
-- Копия будет лежать в формате markdown с возможностью просмотра через
Obsidian.
-- Перекрёстные ссылки по щелчку мыши, картинки, форматирование, полнотекстовый поиск, теги -- и всё это локально! Любая операция выполняется за пару секунд.
(читать дальше)
-- Также я создал репозиторий на GitHub, который буду периодически обновлять (не каждый день). Так что если вы хотите локальную копию моего дневника, но не хотите разбираться со скриптами, её можно просто скачать. Об'ём дневника вместе с картинками чуть больше 200 мегабайт. Также есть версия с онлайн-картинками, она весит всего 12 мегабайт.
-- Если вы умеете использовать Git, то обновлять локальную копию можно будет автоматически, что, однако, потребует двукратного расхода пространства на диске из-за локального репозитория. Предупреждаю, что если у вас стоят расширения Гита для Проводника, то надо отключить в папке с дневником отображение статусов на иконках, иначе вы будете очень долго ждать, пока отобразятся все 6000 файлов.
Но есть недостатки:
-- Увы, с форматированием проблемы. Не поддерживается спойлер. Таблицы не поддерживают rowspan, colspan. Не работает выравнивание.
-- На текущий момент не скачиваются комментарии.
-- Просматривать записи в хронологическом порядке возможно только в Windows, и то, сначала придётся запустить скрипт update_times.py . К сожалению, хорошего решения по данному вопросу у меня нет. Я могу вставить дату в имя файла, но тогда нельзя будет сортировать по имени записи, а это недопустимо. Сортировка по дате создания поддерживается только в Windows, потому что время создания файла фиксируется только в системах FAT/NTFS, а в системах ext2/3 не фиксируется. Тем не менее, время фиксируется в ext4 и некоторых других. Допилю эту функцию позже.

Почему я пришёл к такой модели? По трём причинам.
1. На дайари исторически, ещё с моего прихода в 2011 году, плохо работал поиск по сайту. Потом он перестал работать вообще. Приходилось искать через гугл по слову site:. Но это тоже работало не очень хорошо. После перехода на телеграм я воспрял духом, т.к. внутри телеграма поиск работал хорошо. Но искать я мог только в постах с 2017 года.
А ищу в своём дневнике я что-то постоянно. Для меня это важнейший источник той информации, которую я забыл. Локальная копия позволяет мне находить любой нужный пост за десять секунд.
2. Вторая причина -- я хотел консистентный бекап. До переезда дайари на новый движок была функция бекапа. Я ей периодически пользовался. Потом я стал постить в телеграм -- там есть экспорт. Последний бэкап произошёл позже, чем первая запись в телеграме, поэтому бэкап вроде как полный. Но а) он в двух частях б) с ним непонятно, как работать в) в телеграме есть пропуск в пару недель, когда автопостинг не работал, и вручную я тоже не постил. Эти посты есть только на дайари.
3. Отдельная история -- сохранение всех картинок. Картинки я всегда размещал на имедж-хостингах. Бог знает, сколько из них проебалось за десять лет. При этом хотя большинство картинок это рюшечки типа скриншотов из аниме, есть большое количество изображений, которые дополняют текст поста, или же являются его ключевой частью, как в случае тохо-реплеев из 2012 года.
Написав скрипт для скачивания картинок, я очень сильно удивился. Всего дневник сейчас содержит около 2000 картинок. Так вот, за 10 лет из них пропало всего-навсего 40 штук. 35 из них мне удалось восстановить при помощи детективных поисков на своих дисках. Несколько, увы, кануло в Лету. Предметом моей гордости является восстановление всех картинок в постах с тохо-реплеями. Взгляните.
Так вот, и тут я узнаю про Obsidian. Это программа для ведения заметок. Таких программ много, я вот длительное время работал с KeepNote, например. И он был лучшим из найденных, но он всегда очень сильно тормозил. Obsidian же летает, поддерживает все его функции, и даже больше. Как и KeepNote, он работает локально, а также сохраняет данные в plain text. Оба этих условия были для меня обязательными.
Посмотрим, как это выглядит. Слева панель с полным списком записей. Можно сортировать по дате (только под windows), по названию. Можно искать:
Вот экран с самой записью. Тут видно, как можно переходить по перекрёстным ссылкам:
Самая крутая, хотя и не очень полезная фича -- облако записей. Оранжевым обозначены теги. Когда начинаешь лазить по всему этому, то кажется, что это не то паутина, не то плесень.
По записям можно бродить, смотреть на связи, делать быстрый просмотр текста:
Увы, граф записей был бы гораздо полезнее, если бы можно было подсветить в нём запись, на которую наведена мышка в любом другом окне. Пока я не нашёл, как это сделать. Кроме того. после просмотра записи нельзя легко вернуться к графу: он постоянно перестраивается, и всё оказывается в новых местах.
Будем надеяться, что авторы сделают эту крутую функцию удобнее.
06.01.2022 в 01:30
он на электроне написан, там же JS внутри, как такое можно к себе установить? ))))
к тому же, софт с закрытыми исходниками
06.01.2022 в 02:08
Сколько времени занимает полный дамп дневника?
А если пост был отредактирован между сканами, в локальном репе это отобразится?
06.01.2022 в 02:49
Xersareeth, ДА, в некоторых постах комментарии важны, иногда важнее самого поста. Я буду думать над этой функцией, но пока хз как это удобно организовать.
Полный дамп текста занимает 3.5 часа при паузе между страницами в 1 минуту. Паузу можно сократить, но я не буду. Полный дамп картинок занимает 30+ часов при такой же паузе.
ДА, редактирования регистрируются, если делаешь полный повторный дамп, а потом проводишь остальную процедуру. Или надо заранее помнить, на каких примерно страницах, или с каким тегом были отредактированные посты, тогда можно сократить время, и сделать частичный дамп. Прошу ознакомиться с ридми.тхт в репозитории скриптов (diary_ru_dump)
06.01.2022 в 13:06
Отдельное оглавление.md? Или 2022\01.06-00:57\имя_поста.md, а чтобы сортировать по имени, ищешь * и сортируешь в результатах.
В линуксах ты также можешь сделать симлинки с названий 2022-01-06-00:57-имя_поста.md на просто имя_поста.md.
06.01.2022 в 13:23
сюрприз!
в винде тоже есть симлинки, и даже симлинки к директориям
06.01.2022 в 15:05
CD_Eater, расскажи про симлинки в винде.
06.01.2022 в 15:15
может быть в данном случае лучше подойдут хардлинки?)
06.01.2022 в 15:25
06.01.2022 в 16:05
про симлинки в винде расскажет консольная команда
mklink /?
06.01.2022 в 16:31
06.01.2022 в 17:05
06.01.2022 в 18:01
06.01.2022 в 21:53
а я и не предлагал использовать хардлинки ))
Линуксовый симлинк по опыту довольно крепок.
а виндовый некрепок? )))
извините, звучит как бред
коммитить в гит симлинки, а там как вычекаутит под виндой так вычекаутит.
а какие проблемы с гитом?
гит не резолвит симлинки ни при загрузке, ни при выгрузке
для него это просто обычные файлы, содержащие внутри себя какой-то текстовый путь
гит не пытается как-то интерпретировать содержание симлинка (т.е., он не лезет по указанному в симлинке пути)
думаю, в клиенте "гит для винды" симлинки обрабатываются примерно так же
самое страшное, что может случиться - винда при чекауте не даст создать симлинк, указывающий на несуществующий в системе путь )))
07.01.2022 в 00:39