Difference between revisions of "Mylyn/Docs/EPUB/Editor"

From Eclipsepedia

< Mylyn‎ | Docs‎ | EPUB
Jump to: navigation, search
(Implementation)
 
(2 intermediate revisions by one user not shown)
Line 5: Line 5:
 
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 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 ==
+
=== Editor features ===
  
 
[[Image:epub-editor_page1.png]]
 
[[Image:epub-editor_page1.png]]
Line 29: Line 29:
 
## Cover page image
 
## Cover page image
  
== General features ==
+
=== 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.
 
* 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.
 
* The builder shall locate all '''.epubspec''' files found in the project and build the associated EPUB file when executed.
Line 35: Line 35:
  
 
== Implementation ==
 
== Implementation ==
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.
+
* 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.

Latest revision as of 09:53, 24 December 2012

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.

[edit] 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

[edit] 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

[edit] Implementation

  • 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.