aboutsummaryrefslogtreecommitdiff
path: root/src/renderers/markdownrenderer.cpp
diff options
context:
space:
mode:
authorKarol Kosek <krkk@krkk.ct8.pl>2021-04-05 00:16:39 +0200
committerFelix Queißner <felix@ib-queissner.de>2021-04-05 17:13:58 +0200
commit6dfffb0a2adc1102260cd51e741bcc5f3fdeaf42 (patch)
tree92fec5eab3a03984e8eb4a4949e282d409cbc5b1 /src/renderers/markdownrenderer.cpp
parentd45aad2da4d7fe10c4609d66bdd6f0cba4ba8e03 (diff)
downloadkristall-6dfffb0a2adc1102260cd51e741bcc5f3fdeaf42.tar.gz
MarkdownRenderer: follow centering first header option
Diffstat (limited to 'src/renderers/markdownrenderer.cpp')
-rw-r--r--src/renderers/markdownrenderer.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/renderers/markdownrenderer.cpp b/src/renderers/markdownrenderer.cpp
index 7c7d62c..b8747f1 100644
--- a/src/renderers/markdownrenderer.cpp
+++ b/src/renderers/markdownrenderer.cpp
@@ -69,6 +69,7 @@ struct RenderState
QString &page_title;
+ bool centre_first_h1;
bool suppress_next_block = false;
void emitNewBlock() {
@@ -215,6 +216,14 @@ static void renderNode(RenderState &state, cmark_node & node, const QTextCharFor
if (state.page_title.isEmpty())
state.page_title = text;
+ if (state.centre_first_h1)
+ {
+ auto f = state.text_style.heading_format;
+ f.setAlignment(Qt::AlignCenter);
+ cursor.setBlockFormat(f);
+ state.centre_first_h1 = false;
+ }
+
break;
case 2: state.outline->appendH2(text, QString { }); break;
case 3: state.outline->appendH3(text, QString { }); break;
@@ -335,7 +344,8 @@ std::unique_ptr<QTextDocument> MarkdownRenderer::render(
&style,
&outline,
TextStyleInstance { style },
- page_title
+ page_title,
+ style.centre_h1
};
renderNode(state, *md_root, state.text_style.standard);