Skip to content
This repository has been archived by the owner on Feb 9, 2023. It is now read-only.

A Dart EPUB parser built from the ground up, and designed to support a variety of use cases and custom implementations such as on-device caching and serving content from a server.

License

getBoolean/shu_epub

Repository files navigation

shu_epub

codecov

Open in Gitpod

A Dart EPUB parser built from the ground up, and designed to support a variety of use cases and custom implementations such as on-device caching and serving content from a server. This package is current WIP and is NOT yet usuable.

Status:

  1. On hiatus for the foreseeable future, or until paginated HTML is solved in Flutter without using webviews.
  2. Also on hiatus until the front-facing API is completed. See the protoype diagram here*

Motivation

This package enables the application to only have the files needed from the EPUB file loaded into memory, instead of the entire EPUB file being required in memory like in other popular epub packages.

Features

  • EpubControllerBase - An abstract class intended to be extended, enables use cases such as caching epub content on the file system.
  • EpubArchiveController - Extends EpubControllerBase, reads in entire bytes of an .epub file for reading and independent from dart:io
  • EpubArchiveIOController - Extends EpubControllerBase, uses file reference to the .epub file to only read in files when required. However, this cannot take advantage of the system cache.
  • (flutter_shu_epub) EpubCacheController - Extracts ePub contents onto an Android or iOS device and caches the location, allowing for the reader to only load the needed files into memory. This only provides utility widgets and classes, it WILL NOT display the actual content of the ePub

and more...

Progress and Plans

Testing

Run tests with the following command

dart test

Test Coverage

Generate test coverage by running the following commands

  1. dart pub global activate coverage
  2. dart test --coverage="coverage"
  3. dart pub global run coverage:format_coverage --lcov --in=coverage --out=coverage.lcov --packages=.packages --report-on=lib

Resources

Special Mentions

About

A Dart EPUB parser built from the ground up, and designed to support a variety of use cases and custom implementations such as on-device caching and serving content from a server.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages