MarkdownReader: Grace dizmo plugin extension

The markdown reader uses a Grace plugin which has been derived from the standard dizmo plugin; it's named md-reader-dizmo. In the project.cfg configuration use instead of the usual dizmo entry md-reader-dizmo to make use of it. For example:

{
    "name": "MarkdownReader",
    "version": "1.29",
    "type": "md-reader-dizmo", ..
}

Using this plugin allows you to put another field dizmo_private_store into the project.cfg configuration, like:

"dizmo_private_store": {
    "my_var": "my_value"
}

Any (key, value) pair present in dizmo_private_store will be available at run time by accessing the privateStorage subtree, like:

assert (MarkdownReader.Dizmo.load ('my_var') == 'my_value')

You can use any JSON structure for the value and it will be parsed and presented correctly at run time.

Motivation

The main use case where such a plugin extension is of value is when you would like to reuse the MarkdownReader dizmo code as a GIT Submodule in another dizmo's GIT repository.

Such a setup allows you to configure for example different urlMd and urlCss settings and display the content within a dedicated dizmo (like for example in DizmoSpaceWalk, which is a tour through dizmoSpace).

Implementation

The Python implementation of the plugin is very straightforward: The original DizmoPlugin has been extended, and the after_build hook has been overridden accordingly to produce MarkdownReader.Dizmo.save('my_var', 'my_value') lines for each entry in dizmo_private_store.