Epub ファイルの作成方法

こちらの記事を参考にしました。
[自力でいちからEPUB形式の電子書籍を作ってみる！ HTML/CSSの知識があれば十分!?](https://note.com/jinbunxshakai/n/nc273198954d6)
題材は新見南吉の「飴だま」を使いました。

## ソースのツリー構造

```text
$ tree amedama/
amedama/
├── META-INF
│   └── container.xml
├── item
│   ├── navigation-documents.xhtml
│   ├── standard.opf
│   ├── style
│   │   └── style.css
│   └── xhtml
│       ├── p-01.xhtml
│       └── p-title.xhtml
└── mimetype
```

次のファイルは、
ebpaj-viewsamples.epub に含まれているものと同じです。
このファイルは、こちらに含まれています。
[ebpaj-viewsamples-201511011.zip](https://dpfj.or.jp/sites/wp-content/uploads/2012/12/ebpaj-viewsamples-201511011.zip)

>>mimetype
>>META-INF/container.xml

```html:item/navigation-documents.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:epub="http://www.idpf.org/2007/ops"
   xml:lang="ja"
>
<head>
<meta charset="UTF-8"/>
<title>目次</title>
</head>
<body>
<nav epub:type="toc" id="toc">
<h1>目次</h1>
<ol>
<li><a href="xhtml/p-title.xhtml">扉</a></li>
<li><a href="xhtml/p-01.xhtml">本文</a></li>
</ol>
</nav>
</body>
</html>
```

```text:item/standard.opf
<?xml version="1.0" encoding="UTF-8"?>
<package
    xmlns="http://www.idpf.org/2007/opf"
    version="3.0"
    xml:lang="ja"
    unique-identifier="unique-id"
    prefix="ebpaj: http://www.ebpaj.jp/"
>
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">

<dc:title id="title">飴だま</dc:title>
<meta refines="#title" property="file-as">アメダマ</meta>

<dc:creator id="creator01">新美南吉</dc:creator>
<meta refines="#creator01" property="role" scheme="marc:relators">aut</meta>
<meta refines="#creator01" property="file-as">ニイミナンキチ</meta>
<meta refines="#creator01" property="display-seq">1</meta>

<dc:publisher id="publisher">青空文庫</dc:publisher>
<meta refines="#publisher" property="file-as">アオゾラブンコ</meta>

<dc:language>ja</dc:language>

<dc:identifier id="unique-id">urn:uuid:aafd4259-720c-4bb9-b59a-d9f6448dc86d</dc:identifier>

<meta property="dcterms:modified">2025-01-11T12:00:00Z</meta>

<meta property="ebpaj:guide-version">1.1.3</meta>

</metadata>

<manifest>
<item media-type="application/xhtml+xml" id="toc" href="navigation-documents.xhtml" properties="nav"/>
<item media-type="text/css" id="style-standard" href="style/style.css"/>
<item media-type="application/xhtml+xml" id="p-title" href="xhtml/p-title.xhtml"/>
<item media-type="application/xhtml+xml" id="p-01" href="xhtml/p-01.xhtml"/>
</manifest>

<spine page-progression-direction="ltr">
<itemref linear="yes" idref="p-title" properties="page-spread-left"/>
<itemref linear="yes" idref="p-01" properties="page-spread-left"/>
</spine>
</package>
```

```css:style/style.css
.title {
    font-size: 2em;
    font-family: serif;
    text-align: center;
    padding-top: 2em;
}

.author {
    font-size: 1.5em;
    font-family: serif;
    text-align: center;
    padding-top: 1em;
}

h1 {
    font-size: 1.5em;
    font-family: serif;
    padding: 1em 0em 2em 2em;
}

p {
    font-size: 1em;
    font-family: serif;
    margin: 0.5em;
}
```

```html:xhtml/p-title.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:epub="http://www.idpf.org/2007/ops"
xml:lang="ja"
>
<head>
<meta charset="UTF-8"/>
<title>飴だま</title>
<link rel="stylesheet" type="text/css" href="../style/style.css"/>
</head>

<body>
    <div class="title">飴だま</div>
    <div class="author">新美南吉</div>
</body>
</html>
```

```html:xhtml/p-01.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:epub="http://www.idpf.org/2007/ops"
xml:lang="ja"
>
<head>
<meta charset="UTF-8"/>
<title>飴だま</title>
<link rel="stylesheet" type="text/css" href="../style/style.css"/>
</head>

<body>
<h1>飴だま</h1>

<p>　春のあたたかい日のこと、わたし舟にふたりの小さな子どもをつれた女の旅人とがのりました。</p>
<p>　舟が出ようとすると、</p>
<p>「おオい、ちょっとまってくれ。」</p>
<p>と、どての向こうから手をふりながら、さむらいがひとり走ってきて、舟にとびこみました。</p>
<p>舟は出ました。</p>
<p>　さむらいは舟のまん中にどっかりすわっていました。ぽかぽかあたたかいので、そのうちにいねむりをはじめました。</p>
<p>　黒いひげをはやして、つよそうなさむらいが、こっくりこっくりするので、子どもたちはおかしくて、ふふふと笑いました。</p>
<p>　お母さんは口に指をあてて、</p>
<p>「だまっておいで。」</p>
<p>といいました。さむらいがおこってはたいへんだからです。</p>
<p>　子どもたちはだまりました。</p>
<p>　しばらくするとひとりの子どもが、</p>
<p>「かあちゃん、飴あめだまちょうだい。」</p>
<p>と手をさしだしました。</p>
<p>　すると、もうひとりの子どもも、</p>
<p>「かあちゃん、あたしにも。」</p>
<p>といいました。</p>
<p>　お母さんはふところから、紙のふくろをとりだしました。ところが、飴あめだまはもう一つしかありませんでした。</p>
<p>「あたしにちょうだい。」</p>
<p>「あたしにちょうだい。」</p>
<p>　ふたりの子どもは、りょうほうからせがみました。飴あめだまは一つしかないので、お母さんはこまってしまいました。</p>
<p>「いい子たちだから待っておいで、向こうへついたら買ってあげるからね。」</p>
<p>といってきかせても、子どもたちは、ちょうだいよオ、ちょうだいよオ、とだだをこねました。</p>
<p>　いねむりをしていたはずのさむらいは、ぱっちり眼めをあけて、子どもたちがせがむのをみていました。</p>
<p>　お母さんはおどろきました。いねむりをじゃまされたので、このおさむらいはおこっているのにちがいない、と思いました。</p>
<p>「おとなしくしておいで。」</p>
<p>と、お母さんは子どもたちをなだめました。</p>
<p>　けれど子どもたちはききませんでした。</p>
<p>　するとさむらいが、すらりと刀かたなをぬいて、お母さんと子どもたちのまえにやってきました。</p>
<p>　お母さんはまっさおになって、子どもたちをかばいました。いねむりのじゃまをした子どもたちを、さむらいがきりころすと思ったのです。</p>
<p>「飴あめだまを出せ。」</p>
<p>とさむらいはいいました。</p>
<p>　お母さんはおそるおそる飴あめだまをさしだしました。</p>
<p>　さむらいはそれを舟ふねのへりにのせ、刀でぱちんと二つにわりました。</p>
<p>　そして、</p>
<p>「そオれ。」</p>
<p>とふたりの子どもにわけてやりました。</p>
<p>　それから、またもとのところにかえって、こっくりこっくりねむりはじめました。</p>

</body>
</html>
```

## Epub への変換

```bash
zip -0Xq amedama.epub mimetype
zip -Xr9Dq amedama.epub *
```

## Epub ファイルの確認

```bash
okular amedama.epub
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/61ea1572-a564-f8c8-c4e2-9103452bdb99.png)