Support for read-only, client-side macros
The c-blocknote-view component's editorProps property now has a macros field which enables registering custom macros into the editor.
That same package exposes a DEFAULT_MACROS object containing a set of common-use macros.
Macros can be automatically registered in the slash menu for easy insertion, and can hold a set of parameters. They are persisted through UniAst, and are currently supported in Markdown using XWiki's extended syntax (curly braces).
Rendering is performed through a React component.
Two macros are currently provided: XWikiMacroHTMLBlock and XWikiMacroInlineHTML, respectively a block and an inline content, taking a raw HTML string and a metadata string as parameters. The raw HTML is rendered as is, and the metadata is ignored but persisted in UniAst. The goal of these two macros is to allow rendering server-side XWiki macros using their generated HTML, and perserve the parameters they were built with.