7#include <QtCore/qlogging.h>
14#define INJA_THROW(exception)
15 qFatal("Inja template error: %s", (exception).what())
17#include <inja/inja.hpp>
31 using IncludeCallback = std::function<QString(
const QString &name)>;
33 static nlohmann::json toInjaJson(
const QJsonValue &value);
34 static nlohmann::json toInjaJson(
const QJsonObject &obj);
35 static nlohmann::json toInjaJson(
const QJsonArray &array);
37 static QString render(
const QString &templateStr,
const QJsonObject &data,
38 const QString &format = {});
39 static QString render(
const QString &templateStr,
const QJsonObject &data,
40 const IncludeCallback &includeCallback,
41 const QString &format = {});
42 static QString renderFile(
const QString &templatePath,
const QJsonObject &data,
43 const QString &format = {});
46 InjaBridge() =
default;
static std::string renderSignatureSpans(const nlohmann::json &spans, const QString &format)
static std::string escapeHtml(const std::string &input)
static void registerCallbacks(inja::Environment &env, const QString &format)
static std::string renderSpanMarkdown(const nlohmann::json &s)
static std::string renderLinkSpan(const std::string &text, const std::string &href, bool hasHref, bool isMarkdown)
#define INJA_THROW(exception)