コンテンツにスキップ

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 とドライブ名で始まるパスは無効です。