I have been thinking over some updates for Doctrine. In it's current state, Doctrine is a functional proof-of-concept of an application that renders AsciiDoc files while also applying some Unified Style Guide (USG) concepts. In the next iteration, my goal is to further integrate USG ideas to help set Doctrine apart from other AsciiDoc tools and also promote a standardized USG toolchain.

Here's an example of a USG idea that is currently implemented in Doctrine 0.1.0-alpha: if a zip file is opened in Doctrine, it will attempt to locate/render/display the archive info file (__arc_info__.txt, more info here). If the info file cannot be found, the first file that can be rendered will be displayed.

In the next iteration of Doctrine, I would like to at least like to start using Asciidoctor since the original implementation of AsciiDoc is no longer being updated. Ideally, both implementations would be available in Doctrine.

Currently, I'm considering two options:

  1. Use C++ and Qt. Python and Ruby interpreters will be embedded to handle AsciiDoc rendering.
  2. Use JavaScript and Electron. AsciiDoctor.js will be embedded to handle AsciiDoc rendering.

Originally, I was leaning towards option 1 but it turns out Ruby is a pain to embed. Also, I've been interested in trying out Electron. I am almost certain option 2 will be much easier; the only potential drawback is the application size will be quite large compared to option 1. Might try to get a quick proof-of-concept running in Electron just see what is involved.

Hi, I am Jeff Rimko!
A computer engineer and software developer in the greater Pittsburgh, Pennsylvania area.