Выпуск каталогизатора домашней библиотеки MyLibrary 3.0

Состоялся релиз каталогизатора домашней библиотеки MyLibrary 3.0. Код программы написан на языке программирования С++ и доступен (GitHub, GitFlic) под лицензией GPLv3. Графический интерфейс пользователя реализован с помощью библиотеки GTK4. Программа адаптирована для работы в операционных системах семейства Linux и Windows. Для пользователей Arch Linux в AUR доступен готовый пакет. Для пользователей Windows доступен экспериментальный инсталлятор.

MyLibrary каталогизирует файлы книг в формате fb2, epub, pdf, djvu, как доступные напрямую, так и упакованные в архивы (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), и создаёт собственную базу данных, не изменяя исходные файлы и не меняя их положения. Контроль целостности коллекции и её изменений осуществляется за счёт создания базы данных хэш-сумм файлов и архивов.

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

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

Значимые изменения:

  • Проект полностью переписан с нуля.
  • Изменён формат базы данных.
  • Изменены места хранения информации (базы коллекций перенесены в ~/.local/share/MyLibrary/Collections, закладки – в ~/.local/share/MyLibrary/BookMarks, размеры некоторых окон и название текущей коллекции сохраняются в ~/.cache/MyLibrary).
  • Из зависимостей убрана библиотека libzip.
  • Оптимизирован список поддерживаемых архивных форматов.
  • Значительно улучшена поддержка форматов fb2 и epub.
  • Улучшена работа с различными кодировками текста.
  • Улучшены обработка и отображение аннотаций.
  • Полностью переработан формат окна отображения информации о книге, значительно расширен список отображаемых данных.
  • Добавлена возможность сохранения обложки книги в различных форматах.
  • Расширена функциональность работы с коллекциями: появилась возможность добавлять несколько книг одновременно, добавлена возможность включать в коллекции папки, в том числе со сжатием их в архив.
  • Появилась возможность дописывать книги и папки с книгами в уже существующий архив (архив перезаписывается).
  • Добавлена возможность перенесения книги из одной коллекции в другую (переносится как запись в базе данных, так и сама книга).
  • Добавлена обработка символьных ссылок (как на файлы, так и на папки).
  • Добавлена экспериментальная поддержка систем, использующих различный порядок байтов.
  • Исправлены некоторые мелкие ошибки и недочёты.
  • Сохранена совместимость со всеми версиями библиотеки GTK4.

При переходе на данную версию программы пользователям предыдущих версий необходимо создать коллекции заново. Работоспособность программы была протестирована на архитектурах x86_64, i686, aarch64 (только для Linux, вариант сборки для Windows тестировался исключительно для архитектуры x86_64).

Release. Ссылка here.