I'll keep you posted, skreutzer.
I am trying to code something that'll make everything work always...
I'm thinking in terms of an OO programming project, with the core pretty similar to the libraries out there already: set basic metadata, add files, spine entries and toc entries, and methods for outputting Epub2/3 & KF8.
However, instead of having methods for adding files, OPF & NCX entries, I thought I'd use delegates instead. Then you could have plain vanilla delegates for your plain vanilla ebook, and when you'd be making a book with a really contorted TOC, you just make a contorted_TOC child class from your vanilla_TOC class. Or an entirely new class, for that matter. With the existing tools, you end up contorting the NCX more or less after the fact, and that often turns ugly.
My problem with all toolchains I've used so far is that I end up changing pretty basic functionality all the time to deal with strangely structured ebooks and/or strange source material. I want to make an architecture that's sufficiently flexible to lessen the chance of that happening, and that'll ensure I can reuse as much code as possible.
|