Дата публикации:Thu, 24 Apr 2025 21:37:48 +0300
Состоялся релиз каталогизатора домашней библиотеки MyLibrary 4.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), и создаёт собственную базу данных, не изменяя исходные файлы и не меняя их положения. Контроль целостности коллекции и её изменений осуществляется за счёт создания базы данных хэш-сумм файлов и архивов.
Реализован поиск книг по различным критериям (фамилия, имя, отчество автора, название книги, серия, жанр) и их чтение через программу, по умолчанию установленную в системе для открытия соответствующих форматов файлов. При выборе книги отображаются аннотация и обложка книги, если таковые доступны. Поддерживается отображение списка файлов, входящих в коллекцию; списка книг, входящих в конкретный файл; списка авторов коллекции; списка книг, для которых пользователь создал заметки.
Возможны различные операции с коллекцией: обновление (осуществляется проверка всей коллекции и сверка хэш-сумм доступных файлов), быстрое обновление (без пересчёта хеш-сумм), экспорт и импорт базы данных коллекции, добавление книг в коллекцию и удаление книг из коллекции, добавление в коллекцию папок с книгами, добавление в коллекцию архивов с книгами, копирование книг коллекции в произвольную папку, перемещение книг из коллекции в коллекцию. Доступно ручное редактирование записей о книгах в базе данных. Создан механизм закладок для быстрого доступа к книгам. Есть возможность создавать пользовательские заметки к книгам. Опционально доступен интерфейс для создания и подключения плагинов. Есть возможность открыть документацию по библиотекам MLBookProc и MLPluginIfc (входят в состав проекта), если таковая создана в процессе сборки.
Значимые изменения:
- Функции для работы с коллекциями, закладками и заметками вынесены в отдельную библиотеку MLBookProc (может быть использована как полностью независимый проект).
Добавлен опциональный интерфейс для создания и подключения плагинов (MLPluginIfc). Обеспечена полная поддержка многопоточности на базе OpenMP (доступны два эквивалентных по функциональным возможностям варианта сборки: на базе OpenMP или на базе std::thread).
Улучшена работа варианта сборки на базе OpenMP (см. README).
Улучшена балансировка нагрузки на ЦП в варианте сборки на базе std::thread.
Добавлена возможность создания пользовательских заметок к книгам. Добавлена функция отображения авторов коллекции. Добавлена функция отображения книг коллекции с пользовательскими заметками.
Переработаны функции разбора файлов с разметкой XML.
Исправлены ошибки в работе с книгами в формате djvu.
Добавлена возможность настройки цвета рамки виджетов Gtk::Frame (пользователям, которые изменяли настройки внешнего вида, необходимо вручную добавить в файл ~/.config/MyLibrary/MLStyles.css вставку "#MLFrame {border-color: black;}", или удалить данный файл и произвести настройку внешнего вида заново).
Создана документация для библиотеки MLBookProc. Создана документация для MLPluginIfc.
Убрана сборочная опция USE_TBB (при необходимости подключение библиотеки tbb теперь происходит автоматически).
Другие небольшие изменения и улучшения.
Дополнительно можно отметить релиз плагина MLInpxPlugin. Плагин предназначен для импорта коллекций книг из файлов в формате "inpx" и доступен (altlinux.space, GitHub) под лицензией GPLv3. Для пользователей Arch Linux в AUR размещён готовый сценарий сборки пакета. Для пользователей Windows подготовлен экспериментальный инсталлятор.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=63135