README.md

    MyLibrary

    Описание

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

    Установка

    Linux

    git clone https://gitflic.ru/project/professornavigator/mylibrary.git
    cd mylibrary
    cmake -DCMAKE_BUILD_TYPE=Release -B _build
    cmake --build _build
    cmake --install _build

    Для выполнения последней команды могут потребоваться привилегии суперпользователя.

    Дополнительно может понадобиться установить префикс с помощью опции CMAKE_INSTALL_PREFIX (префикс по умолчанию /usr/local).

    По умолчанию программа собирается с поддержкой OpenMP. Для сборки без поддержки OpenMP установите опцию USE_OPENMP в OFF (см. также секции Зависимости и Замечания).

    В состав MyLibrary входит библиотека MLBookProc (см. замечания). Для создания html документации к библиотеке установите опцию CREATE_HTML_DOCS_MLBOOKPROC в ON (см. также секцию Зависимости). Для создания pdf документации к библиотеке установите опцию CREATE_PDF_DOCS_MLBOOKPROC в ON (см. также секцию Зависимости).

    В MyLibrary имеется опциональная возможность подключения плагинов. Для включения установите опцию cmake USE_PLUGINS в ON. Если вам необходима документации по созданию плагинов в формате html, установите опцию CREATE_HTML_DOCS_PLUGINIFC в ON (см. также секцию Зависимости). Если вам необходима документации по созданию плагинов в формате pdf, установите опцию CREATE_PDF_DOCS_PLUGINIFC в ON (см. также секцию Зависимости).

    Windows

    В данный момент установка возможна с помощью проекта MSYS2. Выполните инструкции по установке с сайта проекта, а также установите зависимости, указанные в секции Зависимости. Кроме того вам может понадобиться git. Сборка может быть осуществлена в терминале MinGW с помощью следующих команд (в данном случае предполагается, что код скачивается\распаковывается в C:\MyLibrary, путь не должен содержать пробелы или символы, не входящие в кодировку ASCII):

    cd /c/MyLibrary
    git clone https://gitflic.ru/project/professornavigator/mylibrary.git
    cd mylibrary
    cmake -DCMAKE_BUILD_TYPE=release -B _build
    cmake --build _build cmake --install _build

    Вам также обязательно нужно установить префикс с помощью опции CMAKE_INSTALL_PREFIX (в зависимости от выбранного в MSYS2 типа пакетов, он может быть например /ucrt или /mingw64).

    По умолчанию программа собирается с поддержкой OpenMP. Для сборки без поддержки OpenMP установите опцию USE_OPENMP в OFF (см. также секции Зависимости и Замечания).

    В состав MyLibrary входит библиотека MLBookProc (см. замечания). Для создания html документации к библиотеке установите опцию CREATE_HTML_DOCS_MLBOOKPROC в ON (см. также секцию Зависимости). Для создания pdf документации к библиотеке установите опцию CREATE_PDF_DOCS_MLBOOKPROC в ON (см. также секцию Зависимости).

    В MyLibrary имеется опциональная возможность подключения плагинов. Для включения установите опцию cmake USE_PLUGINS в ON. Если вам необходима документации по созданию плагинов в формате html, установите опцию CREATE_HTML_DOCS_PLUGINIFC в ON (см. также секцию Зависимости). Если вам необходима документации по созданию плагинов в формате pdf, установите опцию CREATE_PDF_DOCS_PLUGINIFC в ON (см. также секцию Зависимости).

    Если всё прошло корректно, то исполняемый файл mylibrary.exe будет находиться в msys_dir/mingw_dir/bin. Иконка для создания ярлыка на рабочем столе - в msys_dir/mingw_dir/share/icons/hicolor/512x512/apps/mylibrary.ico.

    Также теперь доступен экспериментальный инсталлятор (см. релизы).

    См. также секцию Замечания.

    Зависимости

    В MyLibrary используются следующие бибилиотеки: gtkmm-4.0, poppler, DjVuLibre, libarchive, icu (версия >= 69), libgcrypt и libgpg-error. Все библиотеки для сборки должны иметь заголовочные файлы, т.е. если вы используете например Debian Linux, то вам потребуются также …-dev версии пакетов. Кроме того для сборки понадобятся cmake и, например, make или ninja.

    Если вы планируете использовать OpenMP, то может потребоваться установить соответствующие библиотеки (например libgomp).

    Для создания документации необходим doxygen. Для создания документации в формате pdf дополнительно потребуется поддержка LaTeX (см. документацию по doxygen). Также для создания документации в формате pdf обязательно нужен make.

    Использование

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

    Замечания

    Замечания по использованию архивов

    1. rar архивы поддерживаются частично - доступны лишь операции, связанные с чтением архивов. Операции, требующие осуществления записи в архив, будут отклоняться с выводом соответствующего предупреждения.
    2. При работе с rar архивами может произойти нештатное завершение программы (ошибка в libarchive, в MyLibrary 3.1 данное поведение частично исправлено: аварийного завершения программы не происходит, однако некоторые rar архивы по-прежнему могут не обрабатываться). В связи с этим пользователям рекомендуется перепаковать книги в любой другой поддерживаемый тип архивов вручную.

    Замечания по библиотеке MLBookProc

    С версии 4.0 функции по работе с книгами, коллекциями, закладками и заметками вынесены в отдельную библиотеку MLBookProc. MLBookProc входит в состав MyLibrary и является неотъемлемой частью данной программы. Однако MLBookProc также может быть собрана и использоваться полностью автономно (в соответствии с лицензией GPLv3). Для автономной сборки необходимо установить зависимости, указанные в секции Зависимости (все, кроме gtkmm-4.0). После этого необходимо перейти в директорию MLBookProc и выполнить команды cmake, аналогичные указанным в секции Установка. Для сборки MLBookProc актуальны все опции, за исключением опций USE_PLUGINS, CREATE_HTML_DOCS_PLUGINIFC и CREATE_PDF_DOCS_PLUGINIFC. Библиотека может быть подключена к вашему проекту командами cmake:

    find_package(MLBookProc REQUIRED)
    target_include_directories(<mytarget> PRIVATE MLBookProc::mlbookproc)
    target_link_libraries(<mytarget> PUBLIC MLBookProc::mlbookproc)

    Замечания по использованию OpenMP

    Для максимальной эффективности использования перед запуском программы необходимо установить системную переменную OMP_CANCELLATION в true. Если вы запускаете программу через .desktop файл, установленный из репозитория программы, то никаких дополнительных действий предпринимать не нужно (необходимое значение переменной OMP_CANCELLATION устанавливается при запуске программы автоматически). В противном случае команда запуска MyLibrary может выглядеть следующим образом:

    OMP_CANCELLATION=true mylibrary

    Отсутствие переменной OMP_CANCELLATION или её установка в false не вызовут каких-либо ошибок в работе программы, однако некоторые функции могут работать медленнее.

    Замечания по использованию в Windows

    1. В данный момент в сборках для Windows поддержка парсинга метаданных djvu файлов отключена.
    2. В сборке, используемой в инсталляторе, отключено использование OpenMP.
    3. В сборке, используемой в инсталляторе, отсутствует документация по MLBookProc и созданию плагинов. Также отсутствуют заголовочные файлы, необходимые для создания плагинов, и заголовочные файлы MLBookProc. Если вы хотите создать плагин или использовать библиотеку MLBookProc в собственном проекте, то воспользуйтесь проектом MSYS2.

    Лицензия

    GPLv3 (см. COPYING).

    Поддержка

    Если есть желание поддержать проект, то можно пройти по следующей ссылке: поддержка

    Контакты автора

    Вопросы, пожелания, предложения и отзывы можно направлять на следующий адрес:
    bobilev_yury@mail.ru

    Описание

    Домашний библиотекарь

    Конвейеры
    0 успешных
    0 с ошибкой