2022-06-20 18:54:33 +02:00
|
|
|
#include "markdown_helper.h"
|
|
|
|
|
#include "core/style.h"
|
|
|
|
|
|
|
|
|
|
namespace widgets
|
|
|
|
|
{
|
|
|
|
|
void MarkdownHelper::link_callback(ImGui::MarkdownLinkCallbackData data_)
|
|
|
|
|
{
|
|
|
|
|
std::string url(data_.link, data_.linkLength);
|
|
|
|
|
if (!data_.isImage)
|
|
|
|
|
{
|
2022-09-13 20:35:26 +02:00
|
|
|
#if defined(_WIN32)
|
|
|
|
|
system(std::string("explorer \"" + url + "\"").c_str());
|
|
|
|
|
#elif defined(__APPLE__)
|
|
|
|
|
system(std::string("open " + url).c_str());
|
|
|
|
|
#else
|
2022-06-20 18:54:33 +02:00
|
|
|
system(std::string("xdg-open " + url).c_str());
|
2022-09-13 20:35:26 +02:00
|
|
|
#endif
|
2022-06-20 18:54:33 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MarkdownHelper::MarkdownHelper()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MarkdownHelper::init()
|
|
|
|
|
{
|
|
|
|
|
mdConfig.linkCallback = link_callback;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
void MarkdownHelper::render()
|
|
|
|
|
{
|
2023-08-16 21:35:34 -04:00
|
|
|
mdConfig.headingFormats[0] = { style::bigFont, true };
|
|
|
|
|
mdConfig.headingFormats[1] = { style::bigFont, true };
|
|
|
|
|
mdConfig.headingFormats[2] = { style::baseFont, true };
|
2022-06-20 18:54:33 +02:00
|
|
|
ImGui::Markdown(markdown_.c_str(), markdown_.length(), mdConfig);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MarkdownHelper::set_md(std::string md)
|
|
|
|
|
{
|
|
|
|
|
markdown_ = md;
|
|
|
|
|
}
|
|
|
|
|
}
|