Convert Figma logo to code with AI

w3c logoepubcheck

The conformance checker for EPUB publications

1,631
403
1,631
95

Top Related Projects

The conformance checker for EPUB publications

Quick Overview

EPUBCheck is an open-source tool for validating EPUB files, developed and maintained by the W3C. It checks the structural and content integrity of EPUB publications, ensuring they conform to the EPUB specifications. EPUBCheck is widely used by publishers, authors, and ebook developers to verify the quality and compatibility of their EPUB files.

Pros

  • Comprehensive validation of EPUB 2 and EPUB 3 files
  • Detailed error reporting and suggestions for fixes
  • Available as both a command-line tool and a graphical user interface
  • Regularly updated to support the latest EPUB specifications

Cons

  • Can be resource-intensive for large EPUB files
  • Some error messages may be technical and difficult for non-experts to understand
  • Occasional false positives in certain edge cases
  • Limited support for custom validation rules

Getting Started

To use EPUBCheck, follow these steps:

  1. Download the latest release from the GitHub releases page.
  2. Extract the downloaded ZIP file.
  3. Open a terminal and navigate to the extracted directory.
  4. Run EPUBCheck using the following command:
java -jar epubcheck.jar /path/to/your/book.epub

For the graphical user interface version:

java -jar epubcheck-gui.jar

For more advanced usage and options, refer to the official documentation.

Competitor Comparisons

The conformance checker for EPUB publications

Pros of epubcheck

  • Well-established and widely used EPUB validation tool
  • Comprehensive checks for EPUB 2.0 and 3.0 specifications
  • Actively maintained with regular updates and bug fixes

Cons of epubcheck

  • Can be resource-intensive for large EPUB files
  • May produce false positives in some edge cases
  • Learning curve for interpreting detailed validation reports

Code Comparison

Both repositories contain the same codebase, as they are mirrors of each other. Here's a sample from the EpubCheck class in both repositories:

public EpubCheck(File epubFile, Report report, String profile) {
    this.epub = epubFile;
    this.report = report;
    this.profile = profile;
    this.checkerFactory = new CheckerFactory(this);
}

The code structure and functionality are identical in both repositories, as they represent the same project. The main difference lies in the hosting and potential community engagement on different platforms.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Current Release Github All Releases Downloads CI build with Maven

EPUBCheck

EPUBCheck is the official conformance checker for EPUB publications. EPUBCheck can be run as a standalone command-line tool or used as a Java library.

EPUBCheck is open source software, maintained by the DAISY Consortium on behalf of W3C.

We Need Your Support!!
Financial support is critical to the development of EPUBCheck, the tool we all use to validate EPUB files. We need to make sure that the resources are adequate to both update the tool and provide for its continued maintenance over the next two years; please help us fund and support EPUBCheck, and join the list of donators!

Downloads

Check the releases page to get the latest distribution.

EPUBCheck v5.1.0 is the latest production-ready release, to be used to validate both EPUB 2 and 3 files. EPUB 3 publications are checked against the EPUB 3.3 specification.

Documentation

Documentation on how to use EPUBCheck, to contribute to the project or to translate messages is available on the EPUBCheck wiki.

Technical discussions are held on our public mailing list. To subscribe to the mailing list, send an email with subject subscribe to public-epubcheck-request@w3.org. To participate in the discussion, simply send an email to public-epubcheck@w3.org.

Historical archives of discussions prior to October 2017 are stored at the old EPUBCheck Google Group.

Building EPUBCheck

Build from sources

To build epubcheck from the sources you need Java Development Kit (JDK) 1.7 or above and Apache Maven 3.0 or above installed.

Build and run tests:

$ mvn clean install

Will copy *.jar files and packages to target/ folder...

Build using docker

To build the epubcheck using docker, use the build command below:

$ docker build . -t epubcheck

To run the epubcheck image as container, use example command below:

# one directory in the host need to be mapped (using docker volume) to /data path
# within container. the particular path will be used as a bridge to enable access
# over the epub file or the generated output file between host and container.
$ docker run -it --rm -v <directory>:/data epubcheck --help
$ docker run -it --rm -v <directory>:/data epubcheck <epub-file> [OPTIONS]

# example 1:
# execute an epub check over a file located in /home/username/file.epub on the host.
# the output will be printed to the console
$ docker run -it --rm -v /home/username:/data epubcheck file.epub

# example 2:
# execute an epub check over a file, and then generate an output file
# in /data/output.json within container.
# since /data is mapped via volume, then the generated file will be accessible
# from /home/username/output.json in the host
$ docker run - --rm -v /home/username:/data epubcheck file.epub --json output.json

Credits

EPUBCheck v5.1.0 was developed by the DAISY Consortium, on behalf of W3C.

Initial EPUBCheck development was largely done at Adobe. A significant part of EPUBCheck functionality comes from the schema validation tool Jing, used with schemas from the Nu HTML Checker, IDPF, and DAISY.

Past and present EPUBCheck developers include: Romain Deltour, Matt Garrish, Tobias Fischer, Markus Gylling, Steve Antoch, Peter Sorotokin, Thomas Ledoux, Masayoshi Takahashi, Paul Norton, Piotr Kula, Arwen Pond, Liza Daly, Garth Conboy, and several others.

Many thanks to the numerous people who have contributed to the evolution of EPUBCheck through bug reports, pull requests, and translations!

Donators

The following organizations are supporting the development of EPUBCheck by their contribution to the fundraising initiative:

MacMillan Learning Google DAISY Publizon A/S Wiley Hachette Livre LearningMate Solutions Inc Voyager Japan, Inc. QA Info Tech W. W. Norton Lumina Datamatics, Inc. Harper Collins Vital Source Verlag C.H. Beck oHG Libreka Zeilenwert Cenveo Publisher Services BookNet Canada

License

EPUBCheck is made available under the terms of the 3-Clause BSD License