EPUB3 CFI utility library in JavaScript
This is a software component used by other Readium projects, see https://github.com/readium/readium-shared-js
BSD-3-Clause ( http://opensource.org/licenses/BSD-3-Clause )
See license.txt.
npm install readium-cfi-js
or yarn add readium-cfi-js
This library is bundled in UMD and ES module formats.
CommonJS
const EPUBcfi = require('readium-cfi-js');
ES Module
import * as EPUBcfi from 'readium-cfi-js';
Globally with window.EPUBcfi
<script src="https://github.com/readium/readium-cfi-js/raw/master/readium-cfi.umd.js"></script>
Currently not supported as the implementation depends on jQuery and the DOM.
A subset of the API could work without a browser, which may be planned for a future release.
Prerequisites:
Initial setup:
npm install
(to download dependencies defined in package.json
... note that the --production
option can be used to avoid downloading development dependencies, for example when testing only the pre-built dist
folder contents)Typical workflow:
./src
and ./spec/models
)npm run build
(to update the output bundles in the dist
folder)Unit tests:
npm run test
(Karma launcher)Travis (Continuous Integration): https://travis-ci.org/readium/readium-cfi-js/
The dist
directory contains bundled scripts in two module formats:
readium-cfi.umd.js
(and its associated source-map file),
which aggregates all the required code (external library dependencies included, such as jQuery, etc.)
You can include this as CommonJS/AMD or with the global EPUBcfi
Works best for when using Browserify or RequireJS
readium-cfi.esm.js
(and its associated source-map file),
also aggregates all the required code
Works best for rollup.js or webpack
All packages "owned" and maintained by the Readium Foundation are listed here: https://www.npmjs.com/~readium