If you're thinking about self-publishing a technical book, you should take a look at Quarto, a Ruby-based toolchain for generating ebooks in EPUB, Mobi, and PDF formats.
Quarto is essentially a set of rake tasks backed by a Ruby library. You can check out the README for all the details, but here's an excerpt about the tool's flexibility:
Quarto doesn't (yet) introduce any revolutionary ideas to e-publishing. Instead, it ties familiar tools together in a way that lets you write the way you want to.
There are a lot of tools that try to tie together an end-to-end publishing pipeline. But when you want to interpose your own processing in between steps, you're out of luck. The fact that Quarto is structured as a set of Rake tasks means that you can add your own dependencies, your own steps, or tack extra processing onto any of the existing steps just by adding to your project's Rakefile.
Buyer beware. We reached out to Avdi to see if he wanted us to say anything in particular about the project, he replied:
here's a quote: "It's a mess because I coded it in a frantic week" :-P
Ahh, I know the feeling all too well.
Is he just being humble or is Quarto not ready for prime time? Hey, it's open source so you can be the judge!