以下内容是来自慕课网sam老师教程中的讲解:
ePub是IDPF制定的电子书标准,IDPF(international digital publishing forum)国际数字出版社论坛,致力于推广电子出版物,官网:http://idpf.org,ePub标准主要解决了电子书的分发、管理和加密等问题,ePub的核心是:ZIP+XML+资源文件(HTML+CSS+图片+音频+视频等)
ePubjs是基于Javascript的ePub引擎: https://github.com/futurepress/epub.js , 解决了ePub电子书的解析、渲染、定位等技术难题
ePubjs核心类:
- Book:完成了阅读器的解析
- Rendition:实现了阅读器的渲染
- Locations:负责阅读器的定位
- Navigation:存储了目录信息
- ViewManager:负责阅读器渲染出来的视图的管理
- EpubCFI:利用了epub的CFI标准来进行文字级别的定位,它可以定位到电子书中任意一个字符
- Theme:负责管理场景的切换
- Spine: 负责指定阅读顺序和管理Section
- Section:指向一个具体的章节,全文检索和章节切换需要依赖这个类来实现
- Contents:负责管理一个章节中的全部资源内容,例如想要为某个章节添加自定义的字体,就需要通过这个类来实现
- Hook:用于管理某个类的生命周期
- Annotations:负责管理标签,如文字的高亮显示就需要同过它来实现