کتابخانه من ۵.۰

کتابخانه من ۵.۰ کتابخانه من ۵.۰ کتابخانه من ۵.۰ کتابخانه من ۵.۰

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

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

جستجوی کتاب ها با معیارهای مختلف (نام خانوادگی، نام، نام میانی نویسنده، عنوان کتاب، مجموعه، ژانر) و مطالعه آنها از طریق برنامه نصب شده به طور پیش فرض در سیستم باز کردن فرمت فایل های مربوطه اجرا شده است. وقتی کتابی را انتخاب می کنید، خلاصه و جلد کتاب در صورت موجود بودن نمایش داده می شود. نمایش لیستی از فایل های موجود در مجموعه پشتیبانی می شود. فهرست کتاب های موجود در یک فایل خاص؛ فهرست نویسندگان مجموعه؛ فهرست کتاب هایی که کاربر یادداشت هایی برای آنها ایجاد کرده است.

عملیات مختلفی با این مجموعه امکان‌پذیر است: به‌روزرسانی (کل مجموعه اسکن شده و مجموع هش فایل‌های موجود تأیید می‌شود)، به‌روزرسانی سریع (اندازه فایل‌ها مقایسه می‌شود)، خروجی گرفتن و وارد کردن پایگاه داده مجموعه، اضافه کردن و حذف کتاب از مجموعه، اضافه کردن پوشه‌های کتاب به مجموعه، اضافه کردن آرشیو کتاب به مجموعه و کپی کردن کتاب‌ها از مجموعه به هر پوشه‌ای. ویرایش دستی رکوردهای کتاب در پایگاه داده نیز موجود است. یک مکانیزم نشانه‌گذاری برای دسترسی سریع به کتاب‌ها نیز وجود دارد. می‌توان نشانه‌گذاری‌های سفارشی ایجاد کرد. رابطی برای ایجاد و اتصال افزونه‌ها نیز موجود است.

MyLibrary می‌تواند با مجموعه‌های واقع در یک سرور خارجی کار کند (پوشه‌ها و فایل‌های مربوطه باید از طریق پروتکل SMB قابل دسترسی باشند و با استفاده از gvfs، kio-fuse یا معادل‌های آنها روی رایانه محلی نصب شوند).

تغییرات قابل توجه:

  • Проект переведён на использование нового типа پایگاه داده (коллекции, закладки, заметки).
  • Добавлен слой совместимости со старыми базами данных: коллекции, созданные в предыдущих версиях программы, загружаются и работают в режиме ограниченной функциональности (отключены функции редактирования базы данных и некоторые другие), закладки и заметки — без каких либо ограничений (старые базы будут автоматически преобразованы в новые при изменении заметок или закладок).
  • Графический интерфейс переведён на использование Qt6. Изменено поведение функции создания коллекций — теперь в коллекцию можно добавлять произвольный набор папок и поддерживаемых файлов.
  • Изменено поведение функции обновления коллекций. При попытке обновления устаревших и inpx коллекций они будут преобразованы в нативные. При обновлении нативных коллекций — в случае быстрого обновления – проверяются наличие и размеры файлов, если размер файла изменился — будет выполнен его повторный разбор. При обычном обновлении вместо размеров проверяются хеш-суммы файлов.
  • رفتار تابع مربوط به افزودن کتاب به یک مجموعه موجود تغییر کرده است. اکنون کتاب‌های جدید بدون جابجایی فایل‌های مربوطه به پایگاه داده اضافه می‌شوند.
  • عملکرد الگوریتم‌های جستجو بهبود یافته است.
  • عملکرد نمایش نویسندگان مجموعه تسریع شده است.
  • رابط برنامه‌نویسی کاربردی (API) کتابخانه MLBookProc و کتابخانه اتصال افزونه‌ها دوباره طراحی شده‌اند.
  • Улучшена работа библиотеки разбора xml файлов, добавлена начальная поддержка формата html.
  • Отключена возможность создания документации внутренних библиотек в формате pdf. Вместо неё добавлена документация в виде man страниц. Документация в формате html – без изменений.
  • پشتیبانی کامپایلر از استاندارد C++20 اکنون برای اسمبلی الزامی است.
  • پشتیبانی کامپایلر از استاندارد OpenMP به دسته‌ی اجباری منتقل شده است.
  • اسکریپت‌های ساخت و گزینه‌های ساخت تغییر کردند.
  • تغییرات و بهبودهای جزئی دیگر.

Дополнительно можно отметить обновление плагина MLFBDPlugin (доступен под лицензией GPLv3 на altlinux.space и GitHub, для пользователей Arch Linux در دسترس в AUR), предназначенного для создания файлов в формате fbd и доступен (altlinux.space, GitHub, AUR (archlinux.org)) под лицензией GPLv3. В новой версии плагин переведён на использование Qt6.

Репозитории плагина MLInpxPlugin переведены в архивный режим – функциональность плагина включена в состав основной программы.

منبع: linux.org.ru