家庭图书馆编目软件 MyLibrary 5.0 已发布。该程序代码采用 C++ 编写,并以 GPLv3 许可证发布(GitHub、GitFlic)。图形用户界面使用 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),并在不修改原始文件或更改其位置的情况下创建自己的数据库。此外,MyLibrary 还支持 fbd 格式的编目(将图书文件与一个包含 fb2 描述标签的 fbd 扩展名文件打包成压缩文件)。fbd 格式不仅可以存储图书,还可以存储任何类型的文件。MyLibrary 通过创建文件和压缩文件哈希值的数据库来监控馆藏的完整性和变更控制。
已经实现了通过各种标准(姓氏、名字、作者中间名、书名、系列、类型)搜索书籍,并通过系统默认安装的用于打开相应文件格式的程序进行阅读。当您选择一本书时,将会显示该书的摘要和封面(如果有)。支持显示集合中包含的文件列表;特定文件中包含的书籍列表;该文集的作者名单;用户已创建笔记的书籍列表。
对该馆藏可进行多种操作:更新(扫描整个馆藏并验证可用文件的哈希值)、快速更新(比较文件大小)、导出和导入馆藏数据库、添加和删除馆藏书籍、向馆藏添加书籍文件夹、向馆藏添加书籍归档,以及将馆藏书籍复制到任何文件夹。支持手动编辑数据库中的书籍记录。提供书签功能,方便快速访问书籍。支持创建自定义书签。提供用于创建和连接插件的界面。
MyLibrary 可以处理位于外部服务器上的馆藏。 服务器 (相应的文件夹和文件必须可通过 SMB 协议访问,并使用 gvfs、kio-fuse 或其等效工具挂载到本地计算机上)。
重大变化:
- 该项目已转而使用一种新型数据库(收藏集、书签、笔记)。
- 新增了与旧数据库的兼容层:在程序的先前版本中创建的集合可以以受限功能模式加载和运行(数据库编辑功能和其他一些功能将被禁用),而书签和笔记可以不受任何限制地使用(当笔记或书签更改时,旧数据库将自动转换为新数据库)。
- 图形界面已转换为使用 Qt6。
- 集合创建功能的行为已更改——现在您可以将任何文件夹和受支持的文件集添加到集合中。
- 新增了从 .inpx 文件创建集合的功能。切换到相应的集合时,.inpx 文件的内容将即时加载。.inpx 集合以功能受限模式运行(数据库编辑和其他一些功能已被禁用)。
- 集合更新函数的行为已更改。尝试更新旧版集合和 inpx 集合时,它们将被转换为原生集合。更新原生集合时(快速更新),系统会检查文件是否存在以及文件大小;如果文件大小发生变化,则会重新解析该文件。在常规更新过程中,系统会检查文件哈希值,而不是文件大小。
- 将图书添加到现有馆藏的功能已更改。现在,新图书将直接添加到数据库,而无需移动相应的文件。
- 搜索算法的性能得到了提升。
- 加速显示收藏作者的功能。
- MLBookProc 库的 API 和插件连接库已重新设计。
- 改进了 XML 文件解析库的性能,并初步增加了对 HTML 格式的支持。
- 已禁用为内部库生成 PDF 文档的功能。取而代之的是添加了 man 手册页文档。HTML 文档保持不变。
- 现在汇编语言需要编译器支持 C++20 标准。
- 编译器对 OpenMP 标准的支持已移至强制类别。
- 修改了构建脚本和构建选项。
- 其他细微的变化和改进。
此外,我们还可以注意到 MLFBDPlugin 插件的更新(该插件以 GPLv3 许可证发布在 altlinux.space 和 GitHub 上,供 Arch 用户使用)。 Linux (可在 AUR 中找到)用于创建 fbd 文件。新版本的插件已更新,使用 Qt6。 
值得一提的是,MLArchiverPlugin 插件也首次发布。该插件用于创建和编辑归档文件,并以 GPLv3 许可证发布(altlinux.space、GitHub、AUR)。
MLInpxPlugin 插件库已切换到归档模式——该插件的功能已集成到主程序中。
来源: opennet.ru
