Source: ReactViews/Custom/parseCustomMarkdownToReact.js

import CustomComponents from './CustomComponents';
import markdownToHtml from '../../Core/markdownToHtml';
import parseCustomHtmlToReact from './parseCustomHtmlToReact';

/**
 * Converts a string from markdown format (of which html is a subset) into a ReactElement.
 * @param  {String} raw String in markdown or html.
 * @param  {Object} [context] Provide any further information that custom components need to know here, eg. which feature and catalogItem they come from.
 * @return {ReactElement}
 */
function parseCustomMarkdownToReact(raw, context) {
    const html = markdownToHtml(raw, false, {
        ADD_TAGS: CustomComponents.names(),
        ADD_ATTR: CustomComponents.attributes()
    });
    return parseCustomHtmlToReact('<div>' + html + '</div>', context);
}

module.exports = parseCustomMarkdownToReact;