Jump to: navigation, search

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

< Mylyn‎ | Docs‎ | EPUB
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
EPUB Editor (DRAFT)
 
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 extensive Ant task. While this is useful when doing headless builds - an EPUB editor could be very useful when wanting to assemble the more complex publications.
+
Currently the [http://help.eclipse.org/juno/topic/org.eclipse.mylyn.docs.epub.help/help/generate-epub.html?cp=24_2_3 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 [http://help.eclipse.org/juno/topic/org.eclipse.mylyn.docs.epub.help/help/epub-ant-task.html?cp=24_2_4 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 contains the EPUB specification. It should be possible to open this file into an editor especially designed to handle it.
+
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 ==
Line 9: Line 9:
 
[[Image:epub-editor_page1.png]]
 
[[Image:epub-editor_page1.png]]
  
* Multipage form based editor.
+
The editor should be based on Eclipse forms with a few logically grouped pages.
* Overview
+
 
* Spine
+
# Overview
** An editable list of all pages that are in the reading order.
+
## The overview section contains the most important metadata such as title and author. The title area holds warnings and errors pertaining to that area.
* Manifest
+
## The ''Play'' button is used to build the EPUB
** An editable list of all items.
+
## The ''Export'' button is used to export the build to an Ant script
* Conversion (wiki markup conversion options).
+
## 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
 +
# Spine
 +
## 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
 +
# Manifest
 +
## An editable list of all items.
 +
## Activating (''double click'') a page will open the appropriate editor.
 +
# Design
 +
## Conversion (wiki markup conversion options).
 +
## Style sheets for Wiki Markup conversion to XHTML
 +
## Cover page image
  
 
== General features ==
 
== General features ==
* When an EPUB specification is added to a project, the project's build specification should 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.
* It should be possible to convert **.epubspec** files to Ant scripts
+
* It should be possible to convert '''.epubspec''' files to Ant scripts
 +
 
 +
== 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.

Revision as of 06:06, 8 November 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.

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

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.