MMA 格式
MMA(Mankai Manga Archive) 是 Mankai 使用的 ZIP 书籍格式。一个 .mma 文件包含漫画的元数据、章节组、封面和页面图片,可将包含多个章节的书籍打包为单个文件。
有关从本地文件夹或网络共享导入、打开归档的方法,请参阅添加书籍与内容源。
文件标识
章节「文件标识」| 属性 | 值 |
|---|---|
| 扩展名 | .mma |
| MIME 类型 | application/vnd.mankai.mma+zip |
| Apple 统一类型标识符 | app.mankai.mma |
| 容器 | ZIP |
归档结构
章节「归档结构」在 ZIP 根目录放置一个名为 metadata.json 的文件,文件名必须完全一致。元数据中的封面和页面路径都相对于此根目录。图片文件夹和文件名可自行安排,元数据会明确指定要读取的文件。
example.mma├── metadata.json├── cover.jpg└── chapters/ ├── chapter-1/ │ ├── 001.jpg │ └── 002.jpg └── chapter-2/ └── 001.jpg元数据
章节「元数据」metadata.json 的根元素是一个漫画对象。它使用 Mankai 的漫画详情字段,其中 chapters 是必填的章节组数组,每个章节还需包含一个 images 数组。
{ "id": "example-manga", "title": "Example Manga", "cover": "cover.jpg", "status": 1, "readingDirection": 2, "authors": ["Example Author"], "genres": ["adventure"], "description": "A two-chapter example.", "chapters": [ { "id": "main", "title": "Main story", "chapters": [ { "id": "chapter-1", "title": "Chapter 1", "images": ["chapters/chapter-1/001.jpg", "chapters/chapter-1/002.jpg"] }, { "id": "chapter-2", "title": "Chapter 2", "images": ["chapters/chapter-2/001.jpg"] } ] } ]}漫画字段
章节「漫画字段」| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id |
string |
是 | 元数据中的漫画标识符。文件式内容源打开书籍时,会将其替换为自身使用的文件标识。 |
title |
string |
否 | 显示标题。 |
cover |
string |
否 | 归档内的封面图片路径。 |
status |
number |
否 | 0 = 任意,1 = 连载中,2 = 已完结。 |
readingDirection |
number |
否 | 1 = 从左到右,2 = 从右到左,3 = 纵向。 |
latestChapter |
object |
否 | 章节引用,包含必填的 id 和可选的 title、locked 字段。其 ID 必须与 chapters 中某个章节的 ID 一致。此处无需 images 字段。 |
description |
string |
否 | 漫画简介。 |
externalLink |
string |
否 | 介绍该漫画的外部页面链接。 |
updatedAt |
number |
否 | 以毫秒为单位的 Unix 时间戳。 |
authors |
string[] |
否 | 作者姓名,默认值为 []。 |
genres |
string[] |
否 | Mankai 的漫画类型值,例如 action 或 adventure。默认值为 []。 |
chapters |
object[] |
是 | 按顺序排列的章节组,所有组中合计至少包含一个章节。 |
remarks |
string |
否 | 附加备注。 |
章节组
章节「章节组」顶层 chapters 数组中的每一项都是一个章节组:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id |
string |
否 | 章节组标识符。 |
title |
string |
是 | 章节组标题。 |
chapters |
object[] |
是 | 组内按顺序排列的章节。单个组可以为空,但整个归档必须至少包含一个章节。 |
章节
章节「章节」组内每个章节包含以下字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id |
string |
是 | 非空的章节 ID,必须在归档的所有章节组中唯一。 |
title |
string |
否 | 章节标题。 |
locked |
boolean |
否 | 章节是否在应用中锁定。可阅读的章节应省略此字段或设为 false。 |
images |
string[] |
是 | 按阅读顺序排列的图片路径列表,路径相对于归档根目录,列表不能为空。 |
图片路径与封面
章节「图片路径与封面」请使用正斜杠分隔路径,并确保路径与 ZIP 中的普通文件条目一致,例如 cover.jpg 或 chapters/chapter-1/001.jpg。图片应采用客户端平台支持的格式,例如 JPEG 和 PNG。
cover 和每个 images 条目都必须遵守以下规则:
- 路径不能为空,且必须相对于 ZIP 根目录,不能以
/开头。 - 路径的每一段都不能为空、
.或..,不能以斜杠开头或结尾,也不能包含连续斜杠。 - 不能包含反斜杠或空字符。
- 第一段路径不能包含
:,因此绝对网址和带盘符前缀的路径均无效。