Getting to the EPUB support in Eclipse

It has been a very hectic week since EclipeCon Europe 2011 and I have not had time to follow up on those of you that have taken contact to learn more about EPUB support in Eclipse. My apologies. In case you missed the presentation you will find it at SlideShare (sans the demos). At the time I was told that all presentations were taped and will be published at YouTube. (I’m looking forward to watching those I missed).

Anyway… A short summary of status: The EPUB API, Ant task and UI is currently in CQ and is heading towards a release published with the next Mylyn release in February. So for now you cannot find the code in the Eclipse repositories. Meanwhile it is available at GitHub. If you need a p2 repository and have trouble creating it yourself, please ping me.

The screenshot above shows the EPUB reader within Eclipse. This is currently experimental and not a part of the initial contribution to Mylyn Docs. This code is also at GitHub, just take a look in the reader branch.

Please let me know if you have any questions.

13 Comments

  1. Hello,

    would it be possible to create update site with Epub feature? I think I've managed to create one, but I'm running into various problems. I'd like to make sure I have the right stuff installed, then I can start reporting bugs 🙂

    I can really use Wiki -> Epub conversion, and since I'm heavy Eclipse user (I have even created Mylyn connector – Foglyn), using your feature looks like great match.

  2. Btw, is there any documentation about using Epub converter? It seems to me that I'm running into some common issues (like … do I really have to fill in epub details each time I want to do the wikitext -> epub conversion?)

  3. Hi Peter,

    I think the easiest would be to run a maven build at the root of the Git repository. That will create a p2 repository in the o.e.m.docs-site project which you can use to install from.

    The documentation is in the o.e.m.docs.epub.help project. You can also run the ant script in the o.e.m.docs.epub.examples project to build an EPUB with the documentation.

    Yes, the GUI command is a bit limited in it's current state. I've been pondering the best way to resolve this (e.g. add an option to create an Ant script automatically). For repeated conversion I suggest using the Ant task.

    I'm glad you like the tooling 🙂 Feel free to suggest improvements.

  4. Hi Torkild,

    I've created P2 repository using 'mvn package' and installed Epub feature into empty Eclipse Platform 3.7.1 (just platform + everything from built P2 repo + dependencies, i.e. Mylyn Task List 3.6.2). I've also created very simple textile file.

    I can now click WikiText > Generate EPUB…, but it does nothing, and my .log file shows:

    org.eclipse.core.commands.NotHandledException: There is no handler to execute for command org.eclipse.mylyn.docs.epub.ui.convertToEPUBCommand

    What am I doing wrong? 🙂 I'll try with latest Mylyn weekly build instead.

    Btw, do you know when will EPUB feature get into standard Mylyn Docs? Maybe I should just wait until that time, and use weekly build when it's available.

  5. Hi again,

    I've managed to get examples working using Ant, so I'll start from there.

    Btw, it would be great if there was standalone Mylyn Docs EPUB package in the future (I had to download emf-runtime.zip as an extra), similar to standalone WikiText download.

    -Peter

  6. Hi Torkild,

    it seems that I've found my first real bug 🙂 When I let ant task to generate table of content, text entries have incorrect encoding. For example, if my textile document has “h1. Poďakovanie”, ncx file contains “Poƒèakovanie”. I use UTF-8 everywhere. I can send you my sources and book result that demonstrates the bug if you're interested.

    (Also, if there is better place to report bugs, like Eclipse.org bugzilla, please let me know. I feel like I'm spamming you here enough).

  7. Hi Peter,

    Thanks for pointing out the problem with the UI command. It was a silly mistake in build.properties which left out the bin folder. It has now been fixed along with a few other issues. You can pull the latest from the Git repository mentioned above. Mylyn Docs does not yet contain the EPUB support so using the weekly will not work.

    When running the Ant task from within the Eclipse IDE you should have no problems as long as you use the same runtime as the IDE. Otherwise you will have to use emf-runtime.zip as EMF is required. I'll make a note of creating a standalone package.

  8. Hi Peter,

    You can send me issue reports to torkildr at gmail dot com. I think it's a bit early to use the Eclipse bugzilla yet.

    I've taken a look at the encoding issue and I cannot see what is wrong as the encoding in the NCX appears to be correctly set to UTF-8. Did you use the UI command or the Ant task to generate the EPUB? If the latter, make sure the XHTML header is correct (see the build-book.xml example). The UI task used the wrong header but that is now corrected in the latest source.

  9. Hi Peter,

    Well, at least I've learned something new. Use i.e. FileInputStream instead of FileReader in order to ensure that the desired file encoding is used. Thanks for pointing out the bug. It has now been fixed.

  10. I'm very excited to see this. I have several personal publications that I hand-edited to epub several years ago to see my work on Nook and now my XOOM. We want to do some things internally with ePub and as the resident “Eclipse Guy”, I said “I'm sure there is support for it”. Looking forward to seeing this and see you at EclipseCon.

    1. Thanks Eric! I'm looking forward to discussing EPUBs with you 🙂 Meanwhile, if you have any questions you can just contact me at torkildr dot gmail dot com. The contribution is still in CQ by the way so you will still have to use the mentioned GitHub repository. The reader has moved to a new place as I feel Eclipse is not the right place for it (yet anyway). You'll find it at https://github.com/turesheim/elibrarium

Leave a Reply