Here’s the situation. Marc Barrot and I are trying to figure out the best, fastest implementation of [Markdown] into [aR].
Marc is considering some sort of pre-processing/post-processing thing. If Markdown rendering in aR occurs in the `getText` handler only inline markup is rendered. If I make the Markdown rendering occur just inside the `if ol` line then I can render the entire outline – in testing.
Marc says this will be too slow for larger outlines. I’ll defer to Marc on this point as he’s done much more work with outline rendering than I have. But, I did do a little test. `activeRendererSuite.activeRenderer` has a test bundle that will display the clockticks used for the test. I ran a few time tests on my modified version of this script.
without Markdown 30 43 28
with Markdown (getText) 542 536 564
with Markdown (if ol) 68 101 65 61 87
From this, it looks like rendering at the `getText` handler is exceedingly slow and rendering the whole outline at `if ol`, while certainly slower than no Markdown rendering is much quicker than at the `getText` handler.
Marc should have Markdown running natively in UserTalk soon. This should hopefully improve times. We’ll see. In order to implement the whole outline version, I’ll need a callback that will take the OPML string that aR uses exclusively and convert it back to an outline object the do the Markdown stuff and convert it back to an OPML string again.