Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: for the plan.

Jump to: navigation, search


< Mylyn‎ | Docs‎ | EPUB


Currently the EPUB supporting UI only allows for one single file to be assembled into an EPUB. The only other option is to write a rather elaborate Ant script. While the latter is useful when doing headless builds - an EPUB editor would be better for most users.

The basic idea is to introduce a new file type; .epubspec which describes an EPUB, it's contents and various options for converting Wikitext Markup if applicable. It should be possible to open this file into an editor especially designed to handle it. The editor should handle all aspects of an EPUB hence placing as few limits as possible on the author.

Editor features

Epub-editor page1.png

The editor should be based on Eclipse forms with a few logically grouped pages.

  1. Overview
    1. The overview section contains the most important metadata such as title and author. The title area holds warnings and errors pertaining to that area.
    2. The Play button is used to build the EPUB
    3. The Export button is used to export the build to an Ant script
    4. The Verify button is used to perform a "deep" verification of the EPUB.
    5. The Help button will open Eclipse Help on the subject
    6. Additional properties are author and contributor specifications along with other properties that can be added
  2. Spine
    1. An editable list of all pages that are in the reading order.
    2. Activating (double click) a page will open the appropriate editor; whether it be XHTML, or Wiki Markup
  3. Manifest
    1. An editable list of all items.
    2. Activating (double click) a page will open the appropriate editor.
  4. Design
    1. Conversion (wiki markup conversion options).
    2. Style sheets for Wiki Markup conversion to XHTML
    3. Cover page image

General features

  • When an EPUB specification is added to a project, the project's build specification shall be updated to include a builder for this file type.
  • The builder shall locate all .epubspec files found in the project and build the associated EPUB file when executed.
  • It should be possible to convert .epubspec files to Ant scripts


  • In order to support the builder mechanism a new project nature is required.
  • The model holding the contents of an .epubspec is very similar to existing models used to represent a "compiled" EPUB. Hence the editor data model should consist of subclasses of the OCF, OPF and DC models.
  • It must be possible to directly edit EPUB content documents as long as the data type is supported in the workbench.

Back to the top