#cbz #cbt #cbr

bin+lib comic-book-binder

管理您的漫画书和其他排序文件列表的辅助工具

1 个不稳定版本

0.1.0 2019 年 11 月 8 日

#1149 in 文件系统

GPL-3.0 或更高版本

24KB
146

comic-book-binder (cbb)

此软件旨在帮助您管理漫画书库。它负责处理每本书的页面重命名,确保无论操作系统或阅读文件的软件如何,页面都处于相同的顺序。为此,页面的文件名中的“数字”部分用0填充,这样我们就不会有像 1.png, 10.png, 11.png, 100.png, 2.png, 20.png, 这样奇怪的排序。

状态

该软件仍处于早期开发阶段。我正在用它来学习 Rust 编程语言。请随时给我反馈,告诉我如何编写更符合 Rust 习惯的代码。

用法

使用此程序最简单的方法是直接在漫画文件夹上调用它。这样它将确保页面格式化正确,前面有足够的 0 填充数字部分。

$ cbb comic/

您可能想自定义前导 0 的数量,这在您计划稍后添加更多页面时很有用。

$ cbb comic/ --pad=3 --dry-run
1.png	-> 001.png
8.png	-> 008.png
3.png	-> 003.png
4.png	-> 004.png
6.png	-> 006.png
2.png	-> 002.png
9.png	-> 009.png
5.png	-> 005.png
11.png	-> 011.png
7.png	-> 007.png
10.png	-> 010.png

待办事项

  • 添加测试:我不习惯在项目中创建测试(单元测试和集成测试)
  • 添加测试:寻求帮助:我如何测试对文件系统的操作?
  • 添加一些生活品质功能
    • 试运行:显示文件将如何更改,而不进行任何修改
    • 递归性:用户选择一个“库”文件夹,其中的每个子文件夹都视为一个漫画书(或其他库)
    • 前缀(名称模式?):允许用户设置页面的前缀:当名称包含数字时很有用:“Name-Season5-Chapter02-Page10.png” => 前缀 = "Name-Season5-Chapter02-Page"
      • 从文件名中推断前缀:尝试找到不变的部分和递增的数字(很好,但不一定常用)
    • 重命名:完全删除当前文件名,并用基于跨平台编号的命名来替换。输入列表应该是排序的(可能配合前缀/名称模式选项,以拥有强大的重命名工具)
  • 集成存档 crate,以便能够打开/创建 .cba.cbr.cbt.cbz 存档
  • 添加文档
  • 或许可以集成 rayon(如果真的有帮助的话,可以通过基准测试:工具的第一部分是列出文件,第二部分是基于 os::rename 操作)

此外,我在维基百科上看到,可以包含诸如 艺术家、故事信息、目录甚至漫画翻译的单独文本层 这样的元数据。如果有人要求这个功能,我可以检查包含这些元数据的不同方式是否广泛传播。不过,这个讨论将在(几乎)发布1.0版本之前进行。

依赖项

~6.5MB
~114K SLoC