Top Banner
Build your EPUBs with Eclipse ...and read them too By Torkild Ulvøy Resheim Senior Software Engineer Itema as, Trondheim, Norway
16

Build your EPUBs with Eclipse, and read them too

May 26, 2015

Download

Technology

Torkild Resheim

EclipseCon Europe 2011 short talk:

EPUB is rapidly becoming a preferred format for electronic publications and is thus supported by many reading systems; from desktop applications to handheld devices such as Android or iOS driven ones. The newest specifications which allows very rich publications is bound to make the format even more popular. EPUB is now used for everything from romantic novels to highly technical content. Maybe even for your next user guide?

Assembling EPU files correctly is a fairly complex task. It sometimes involves deep knowledge of the specification, even when using currently available authoring software. This process has become much easier with new tooling for Eclipse which will be presented and demonstrated. It will also be shown how publications of this format can be read from within your Eclipse based IDE.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Build your EPUBs with Eclipse, and read them too

Build your EPUBs with Eclipse...and read them too

By Torkild Ulvøy ResheimSenior Software Engineer

Itema as, Trondheim, Norway

Page 2: Build your EPUBs with Eclipse, and read them too

The stort story

• EPUB is a open and free format for electronic books.

• Most non-Kindle devices support it.

• Increasingly popular for technical literature and user guides.

Page 3: Build your EPUBs with Eclipse, and read them too

Traditional user guides

• Users are able to add bookmarks and notes.

• Big (heavy) tomes.

• But still portable.

• There is a natural reading order.

DataFlex 2.2 User’s Manual453 pages (1986)

Page 4: Build your EPUBs with Eclipse, and read them too

Contemporary user guides• User are often allowed to add

bookmarks.

• Not portable. Sometimes embedded in the application.

• Plain HTML with a few extras.

• Sometimes only online.

• Context help (good).

• No natural reading order.

Eclipse SDK 1.0 HelpQuite a few pages (2001)

Page 5: Build your EPUBs with Eclipse, and read them too

Your next user guide?• eBooks are increasingly

popular!

• Add bookmarks and notes.

• Very portable, carry hundreds or thousands of books on one device.

• Synchronisation between reading systems.

• Feels natural – there is a beginning and an end.

Pro Git813 pages (2011)

Page 6: Build your EPUBs with Eclipse, and read them too

Benefits of EPUB• Open and free, based on

existing standards – CSS, XHTML, SVG...

• Out-of-line content.

• Allows DRM if required.

• A large number of existing reading systems

• EPUB3 allows JavaScript, HTML5, CSS3, MathML, Video and more.

• Rich Content (video and audio).

Page 7: Build your EPUBs with Eclipse, and read them too

How to build an EPUB• Export from Pages, Adobe

Digital Editions, Indesign etc.

• ePubtools, various command line tools (requires Python).

• Online tools, Feedbooks and BookGlutton.

• Sigil the WYSIWYG EPUB editor.

• GUI apps Stanza and Calibre can convert from other formats.

Page 8: Build your EPUBs with Eclipse, and read them too

New tooling for Eclipse• API for defining, reading and

writing EPUBs. Model represented using EMF.

• Apache Ant task for defining and writing EPUBs.

• UI for generating EPUBs from wiki markup format.

• Supports EPUB 2.0.1 (3.0 was released in October).

• Part of the Mylyn Docs project.

• Will be released 24. February (Mylyn 3.7/Indigo SR2)

Page 9: Build your EPUBs with Eclipse, and read them too

Tooling features• Supports most EPUB 2.0.1

features. (Not DRM).

• Table of contents can be generated automatically.

• Referenced resources (images, out-of-line content) can be added automatically.

• Cover page (compatible with most readers) easily created.

• Validation of EPUB content and structure.

• Allows multiple publications within one EPUB.

• Does not do any data conversion.

Page 10: Build your EPUBs with Eclipse, and read them too

The API (provisional)

• The data model (OCF, OPF, NCX, Dublin Core) is built on EMF.

• Utility methods for retrieving content by identifier, type, reference etc.

• Supports reading and writing of EPUBs.

public void createEPUB() throws Exception { EPUB epub = new EPUB(); OPSPublication oebps = new OPS2Publication(); oebps.addTitle(null, null, "My title"); oebps.addLanguage(null, "en"); oebps.addSubject(null, null, "My subject"); oebps.addItem(new File("My XHTML file")); epub.add(oebps); epub.pack(new File("My new EPUB.epub")); }

Page 11: Build your EPUBs with Eclipse, and read them too

Demo: UI CommandQuickly generate EPUB from wiki markup

Page 12: Build your EPUBs with Eclipse, and read them too

The Ant task• Structure resembles the OPF

structure.

• Supports filesets for adding non-spine resources.

• Items are analysed for content so that correct MIME types are used.

• Makes some tasks, such as adding a cover page much easier.

• Can be combined with existing documentation generation schemes.

Markup HTML

HTML

EPUB EclipseHelp

Page 13: Build your EPUBs with Eclipse, and read them too

Demo: Ant taskSame source for Eclipse help and EPUB

Page 14: Build your EPUBs with Eclipse, and read them too

In the pipeline...

• EPUB reader and library manager inside Eclipse.

• Support for EPUB 3.

Page 15: Build your EPUBs with Eclipse, and read them too

Summary

• EPUB is an excellent format for user guides!

• Can be built in various (hard) ways. But new tooling makes it easier.

• Coming to Eclipse in February.

• Currently at https://github.com/turesheim/org.eclipse.mylyn.docs

• See http://eclipse.org/mylyn/docs/

Page 16: Build your EPUBs with Eclipse, and read them too

Apropos...

• Thanks to Steffen Pingel and David Green of the Mylyn team for helping out!

• Any questions?