MMA 形式
**MMA(Mankai Manga Archive)**は、Mankai 用の ZIP ベースのブック形式です。1 つの .mma ファイルに、漫画のメタデータ、チャプターグループ、表紙、ページ画像を格納します。複数のチャプターを含む本を 1 つのファイルにまとめるために使用します。
アーカイブのインポートや、ローカルフォルダまたはネットワーク共有から開く方法は、本とソースを追加するを参照してください。
ファイルの識別
「ファイルの識別」のセクション| 項目 | 値 |
|---|---|
| 拡張子 | .mma |
| MIME タイプ | application/vnd.mankai.mma+zip |
| Apple Uniform Type Identifier | 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 内のチャプターと一致する必要があります。ここでは images フィールドは不要です。 |
description |
string |
いいえ | 漫画の説明です。 |
externalLink |
string |
いいえ | 漫画に関する外部ページへのリンクです。 |
updatedAt |
number |
いいえ | ミリ秒単位の Unix タイムスタンプです。 |
authors |
string[] |
いいえ | 作者名です。既定値は [] です。 |
genres |
string[] |
いいえ | action や adventure などの、Mankai のジャンルの値です。既定値は [] です。 |
chapters |
object[] |
はい | 順序付きのチャプターグループです。全体で少なくとも 1 つのチャプターを含める必要があります。 |
remarks |
string |
いいえ | 追加の備考です。 |
チャプターグループ
「チャプターグループ」のセクショントップレベルの chapters 配列の各要素はグループです。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
id |
string |
いいえ | グループの識別子です。 |
title |
string |
はい | グループのタイトルです。 |
chapters |
object[] |
はい | グループ内の順序付きチャプターです。グループは空でもかまいませんが、アーカイブ全体で少なくとも 1 つのチャプターを含める必要があります。 |
チャプター
「チャプター」のセクショングループ内の各チャプターは、次のフィールドを持ちます。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
id |
string |
はい | 空ではないチャプター ID です。アーカイブ内のすべてのグループを通じて一意である必要があります。 |
title |
string |
いいえ | チャプターのタイトルです。 |
locked |
boolean |
いいえ | アプリ内でチャプターがロックされているかどうかです。読めるチャプターでは省略するか、false を指定します。 |
images |
string[] |
はい | 読む順に並べた、アーカイブルートからの相対画像パスの配列です。少なくとも 1 つのパスが必要です。 |
画像パスと表紙
「画像パスと表紙」のセクションcover.jpg や chapters/chapter-1/001.jpg のように、ZIP 内の通常のファイルエントリと一致する、スラッシュ区切りのパスを使います。JPEG や PNG など、クライアントのプラットフォームが対応する画像形式を使用してください。
cover とすべての images の要素は、次の規則に従う必要があります。
- パスは空ではない、ZIP ルートからの相対パスである必要があります。
/で始めることはできません。 - 各構成要素を空、
.、..にすることはできません。先頭や末尾のスラッシュ、連続するスラッシュは無効です。 - バックスラッシュとヌル文字は使用できません。
- 最初の構成要素に
:を含めることはできません。絶対 URL とドライブ名で始まるパスは無効です。