EPUB Editor (DRAFT)
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.
The editor should be based on Eclipse forms with a few logically grouped pages.
- The overview section contains the most important metadata such as title and author. The title area holds warnings and errors pertaining to that area.
- The Play button is used to build the EPUB
- The Export button is used to export the build to an Ant script
- The Verify button is used to perform a "deep" verification of the EPUB.
- The Help button will open Eclipse Help on the subject
- Additional properties are author and contributor specifications along with other properties that can be added
- An editable list of all pages that are in the reading order.
- Activating (double click) a page will open the appropriate editor; whether it be XHTML, or Wiki Markup
- An editable list of all items.
- Activating (double click) a page will open the appropriate editor.
- Conversion (wiki markup conversion options).
- Style sheets for Wiki Markup conversion to XHTML
- Cover page image
- 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 so it is probably a good idea to sub-class and add extra information where appropriate.