I’ve made a number of changes to the way the Markdown tool interacts with [activeRenderer][aR].
Firstly, nothing has changed in the way that Markdown interacts and renders the weblog. The only changes were in how the Markdown tool deals with OPML files.
There are 3 different ways of interacting with OPML files in activeRenderer. These are via the `user.activeRenderer.callbacks.renderOpml` callbacks. I’ve only written 2 of these. One for `user.activeRenderer.callbacks.renderOpml.processNode` and one for `user.activeRenderer.callbacks.renderOpml.preProcess`.
The callback at `processNode` takes the text of each node and renders inline Markdown markup only. The callback at `preProcess` takes the OPML file as a whole, converts it to text, runs it through the Markdown renderer, then converts it back to an outline prior to displaying. The problem with the `preProcess` callback is that node level links are stripped. This is bad.
With the `processNode` callback the node level links are left intact, I think, but the rendering is horrifically slow. Additionally, most of the benefit of Markdown markup is lost. It might just be best not to run OPML files through the Markdown renderer. After all, there is an alternative, just right a story.
The new Markdown Preferences page has some special prefs to use either, none, or both of these methods. It’s best not to use both. 🙂