2 个不稳定版本
0.2.0 | 2024 年 4 月 8 日 |
---|---|
0.1.0 | 2024 年 4 月 6 日 |
#3 in #jam
每月 51 次下载
210KB
7K SLoC
jamjam
这是一个用于加载和转换消息库的库。它最初是为 JAM 消息库格式编写的库。但为了我的项目,添加 pcboard 消息库加载和转换代码也是有意义的。
JAM
JAM 是一种消息库格式。
来自维基百科
JAM 消息库格式是 20 世纪 90 年代基于 DOS 的 BBS 上最受欢迎的消息库文件格式之一。JAM 代表 "Joaquim-Andrew-Mats",这个名字是为了纪念 API 的原始作者 Joaquim Homrighausen、Andrew Milner、Mats Birch 和 Mats Wallin。[1] Joaquim 是 FrontDoor 的作者,这是一个基于 DOS 的 FidoNet 兼容的邮件程序。Andrew 是 RemoteAccess 的作者,这是一个流行的基于 DOS 的公告板系统。JAM 最初于 1993 年以 C 语言发布,但最受欢迎的实现是 Mark May 的 "MK Source for Msg Access",它也是用 Pascal 编写的,并于 1993 年首次发布。
我需要这部分作为 pcboard 重写的部分(是的,pcb 有自己的消息库格式,但 JAM 更常见)。
JAM 版权
jamjam 根据 MIT-X11 或 Apache 2.0 许可(您可选择)。JAM 本身来自
JAM(mbp) - 版权所有 1993 Joaquim Homrighausen、Andrew Milner、Mats Birch、Mats Wallin。版权所有。
请注意,jamjam 不包含任何第三方源代码,但从中提取了一些官方 JAM (JAM.txt) 文档的源代码注释。
PCBoard
这种消息格式仅用于 PCBoard - 一个旧的公告板系统。这种格式是更著名的 QWK 标准的基础。QWK 格式从该格式继承了一些有趣的东西,例如仅由 PCBoard 使用的 '密码' 字段。
目标是读取/理解 PCBoard 格式,以便将其转换为其他格式。我不会费心/介意编写更新例程。然而,格式是文档化的,欢迎添加。
QWK
开始添加一些 QWK 支持。目前,我还没有达到需要导出的地步。但我需要导入大量消息库进行测试。读取 QWK 库工作。然而,*.ndx 文件似乎毫无用处。当前 QKW 实现中存在 ±1 错误。
但是,JamJam 读取时(并在写入时也会这样做)做正确的事。定义 QWK 的程序是 PCBOARD :)。PCBoard 不计算 messages.dat 中的第一条记录,因此 0 表示它是文件中的第二条记录。这完全有道理。
示例
cargo运行 --exampleread_jam data/jam/ra
更多格式正在等待
也许 Squish 下一个?
依赖项
~3–4MB
~76K SLoC