深色模式
epub格式
概念
- OPS,Open Publication Structure,开放出版结构
- OPF,Open Packaging Format,文档格式
- OEBPS,OEBPS Container Format,容纳格式
epub文件的目录结构:
- META-INF
- container.xml
- mimetype
- OEBPS
- content.opf
- toc.ncx
- *.html
- *.css
- *.jpg
- ...
container.xml
文件,指定content.opf
文件的路径。
mimetype
文件,内容是固定的:
application/epub+zip
content.opf
xml
<package xmlns:dc xmlns:dcterms xmlns:opf xmlns:xsi xmlns version unique-identifier>
<!-- 元数据 -->
<metadata>
<dc:rights></dc:rights>
<!-- 图书的唯一ID -->
<dc:identifier opf:scheme id></dc:identifier>
<dc:creator opf:file-as></dc:creator>
<dc:title></dc:title>
<dc:language xsi:type></dc:language>
<dc:subject> </dc:subject>
<dc:date opf:event></dc:date>
<dc:date opf:event></dc:date>
<dc:source></dc:source>
<meta name content/>
</metadata>
<!-- 内容清单 -->
<manifest>
<item id media-type href/>
<item id media-type href/>
<item id media-type href/>
</manifest>
<!-- 线性阅读顺序 -->
<spine toc>
<itemref idref linear/>
<itemref idref linear/>
<itemref idref linear/>
</spine>
<!-- 介绍 -->
<guide>
<reference title type href/>
</guide>
toc.ncx
xml
<ncx xmlns xml:lang version>
<head>
<!-- 图书的唯一ID -->
<meta name="dtb:uid" content="some-id"/>
<!-- 目录的深度,是一个数字 -->
<meta name="dtb:depth" content=3/>
<!-- 仅用于纸质图书,保留 0 即可 -->
<meta name="dtb:totalPageCount" content="0" />
<!-- 仅用于纸质图书,保留 0 即可 -->
<meta name="dtb:maxPageNumber" content="0" />
</head>
<dcoTitle>
<text>我是书的标题</text>
</docTitle>
<!-- 目录 -->
<navMap>
<!-- 一个目录的节点,可以包含子节点 -->
<navPoint id playOrder>
<!-- 章节的标题 -->
<navLabel>
<text>第一章</text>
</navLabel>
<!-- src指向物理资源 -->
<content src/>
<!-- 这是嵌套navPoint -->
<navPoint id playOrder>
</navPoint>
</navPoint>
</navMap>
<pageList class id>
<navLabel>
<text></text>
</navLabel>
<pageTarget value type id playOrder>
<navLabel>
<text></text>
</navLabel>
<content src/>
</pageTarget>
</pageList>
</ncx>