aboutsummaryrefslogtreecommitdiff
path: root/src/renderers/markdownrenderer.cpp
diff options
context:
space:
mode:
authornixo <nicolo@nixo.xyz>2020-10-26 19:17:39 +0100
committerFelix Queißner <felix@ib-queissner.de>2020-10-27 09:19:40 +0100
commitbf5b2ecd0fde117d550adeadee48d74034ed2cdb (patch)
treefeb78801e921f7857bbe7f8c04016f57e49c543e /src/renderers/markdownrenderer.cpp
parentb684f94f1af9a19c1a6fd70d72097a13b75e1ca6 (diff)
downloadkristall-bf5b2ecd0fde117d550adeadee48d74034ed2cdb.tar.gz
markdown renderer: use only exported cmark functions
Diffstat (limited to 'src/renderers/markdownrenderer.cpp')
-rw-r--r--src/renderers/markdownrenderer.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/renderers/markdownrenderer.cpp b/src/renderers/markdownrenderer.cpp
index c230ff7..b54fc2c 100644
--- a/src/renderers/markdownrenderer.cpp
+++ b/src/renderers/markdownrenderer.cpp
@@ -3,7 +3,6 @@
#include "textstyleinstance.hpp"
#include <cmark.h>
-#include <node.h>
#include <cassert>
#include <QDebug>
@@ -76,11 +75,11 @@ struct RenderState
}
};
-static void renderNode(RenderState &state, cmark_node const &node, QTextCharFormat current_format);
+static void renderNode(RenderState &state, cmark_node &node, QTextCharFormat current_format);
-static void renderChildren(RenderState &state, cmark_node const & node, QTextCharFormat current_format)
+static void renderChildren(RenderState &state, cmark_node & node, QTextCharFormat current_format)
{
- for (auto child = node.first_child; child != nullptr; child = child->next)
+ for (auto child = cmark_node_first_child(&node); child != nullptr; child = cmark_node_next(child))
{
renderNode(state, *child, current_format);
}
@@ -97,16 +96,17 @@ static void renderChildren(RenderState &state, cmark_node const & node, QTextCha
* * CMARK_NODE_HTML_INLINE
*/
-static QString extractNodeText(cmark_node const &node)
+static QString extractNodeText(cmark_node &node)
{
- return QString::fromUtf8((char const*)node.data, node.len);
+ const char *data = cmark_node_get_literal(&node);
+ return QString::fromUtf8(data, strlen(data));
}
-static void renderNode(RenderState &state, cmark_node const & node, QTextCharFormat current_format)
+static void renderNode(RenderState &state, cmark_node & node, QTextCharFormat current_format)
{
auto & cursor = state.cursor;
- switch (node.type)
+ switch (cmark_node_get_type(&node))
{
case CMARK_NODE_DOCUMENT:
{
@@ -132,7 +132,7 @@ static void renderNode(RenderState &state, cmark_node const & node, QTextCharFor
{
auto fmt = cursor.blockFormat();
- if(node.as.list.list_type == CMARK_BULLET_LIST) {
+ if(cmark_node_get_list_type(&node) == CMARK_BULLET_LIST) {
cursor.insertList(QTextListFormat::ListDisc);
} else {
cursor.insertList(QTextListFormat::ListDecimal);
@@ -185,7 +185,7 @@ static void renderNode(RenderState &state, cmark_node const & node, QTextCharFor
{
QTextCharFormat fmt = current_format;
state.emitNewBlock();
- switch(node.as.heading.level) {
+ switch(cmark_node_get_heading_level(&node)) {
case 1: fmt = state.text_style.standard_h1; break;
case 2: fmt = state.text_style.standard_h2; break;
case 3: fmt = state.text_style.standard_h3; break;
@@ -193,10 +193,10 @@ static void renderNode(RenderState &state, cmark_node const & node, QTextCharFor
case 5: fmt = state.text_style.standard_h3; break;
case 6: fmt = state.text_style.standard_h3; break;
- default: qDebug() << "heading" << node.as.heading.level; break;
+ default: qDebug() << "heading" << cmark_node_get_heading_level(&node); break;
}
- switch(node.as.heading.level) {
+ switch(cmark_node_get_heading_level(&node)) {
case 1: state.outline->appendH1("Unknown H1", QString { }); break;
case 2: state.outline->appendH2("Unknown H2", QString { }); break;
case 3: state.outline->appendH3("Unknown H3", QString { }); break;
@@ -259,7 +259,7 @@ static void renderNode(RenderState &state, cmark_node const & node, QTextCharFor
}
case CMARK_NODE_LINK:
{
- QUrl absolute_url = QString::fromUtf8((char*)node.as.link.url);
+ QUrl absolute_url = QString::fromUtf8(cmark_node_get_url(&node));
if(absolute_url.isRelative()) {
absolute_url = state.root_url.resolved(absolute_url);
}