Working on docbook2odf

As usual, my week for personal projects has been pretty much defined as Monday to Sunday (I really should put Sunday on the right-most of my calendars). I finished a novel over the Thanksgiving holiday and my typical burnout of 1-2 weeks is holding up nicely.

I decided to work on docbook2odf. This probably isn't the smartest thing in the world, but my spacebar is broken (I'm using Control-V to type spaces or slamming it to trigger it; a new one is ordered). We were also doing a three-day intensive development at work, which meant I wasn't going to have the creativity for programming on Author Intrusion.

There were a couple of reasons that I wanted to work on docbook2odf. The biggest is that I use it to produce the RTF submissions to the writing group. Some recent changes broke that and I needed to figure out why (I use XML namespaces in my documents, another person doesn't). I also wanted to get it to generate Smashwords documents to simplify my submissions. That also lead into having a Standard Manuscript Format generated directly from my writing system to make it easier to submit in general.

(I will also probably be able to take these ideas and integrate them into Author Intrusion later.)

I branched this off from my normal work, but I think it's going to be rolled into the "new release" for it. Mostly, I rewrote the entire thing using slightly different techniques and based on the old one. I had a lot of trouble groking the original, and going line-by-line has really helped with comprehension of what is XSLT and what is Perl (not the languages, the components of docbook2odf). It also builds off of the standard DocBook stylesheets instead of doing its own thing (common libraries, lookups, etc.)

I'm about 50% of the way completed with duplicating the old functionality plus adding a lot more elements that I use for writing. I figured another week should give me something pretty solid to squash as version 2.0. Overall, it can format 90% of an ebook novel correctly (legal page, chapters, table of contents). It is still missing some minor things ( support, recto/verso pages, documentation, proper TOC).

I'm also going to write to the original creator (who I think has abandoned it) and asked if they mind if I relicense the entire thing as MIT instead of GPL. It would make it easier for Author Intrusion.