#ifndef HTMLTEMPLATEHELPER_H
#define HTMLTEMPLATEHELPER_H
#include
namespace vnotex
{
class MarkdownEditorConfig;
// Global options to be passed to Web side at the very beginning.
struct WebGlobalOptions
{
bool m_webPlantUml = true;
bool m_webGraphviz = true;
bool m_sectionNumberEnabled = true;
bool m_constrainImageWidthEnabled = true;
bool m_protectFromXss = false;
QString toJavascriptObject() const;
};
// Help to generate and update HTML templates.
class HtmlTemplateHelper
{
public:
HtmlTemplateHelper() = delete;
static const QString &getMarkdownViewerTemplate();
static void updateMarkdownViewerTemplate(const MarkdownEditorConfig &p_config);
private:
struct Template
{
int m_revision = -1;
QString m_template;
};
// Template for MarkdownViewer.
static Template s_markdownViewerTemplate;
};
}
#endif // HTMLTEMPLATEHELPER_H