From 1b563a0378998f2fed28bf81b8e254cb47742503 Mon Sep 17 00:00:00 2001 From: Linnea Gräf Date: Fri, 3 May 2024 00:02:29 +0200 Subject: Improve paragraph detection --- src/main/kotlin/moe/nea/blog/md/MarkdownParser.kt | 10 +++++++++- src/main/kotlin/moe/nea/blog/md/Paragraph.kt | 4 ++++ src/main/kotlin/moe/nea/blog/md/ext/NoteBlocks.kt | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) (limited to 'src/main/kotlin/moe') diff --git a/src/main/kotlin/moe/nea/blog/md/MarkdownParser.kt b/src/main/kotlin/moe/nea/blog/md/MarkdownParser.kt index 673a0ed..4705d4b 100644 --- a/src/main/kotlin/moe/nea/blog/md/MarkdownParser.kt +++ b/src/main/kotlin/moe/nea/blog/md/MarkdownParser.kt @@ -21,7 +21,15 @@ class MarkdownParser(source: String) { } fun readChildBlock(): MarkdownBlock? { - val peek = peekLine() ?: return null + var peek = "" + while (true) { + peek = peekLine() ?: return null + if (peek.isBlank()) { + consumeLine() + } else { + break + } + } val blockParser = findParserFor(peek) ?: ParagraphParser return blockParser.parse(this) } diff --git a/src/main/kotlin/moe/nea/blog/md/Paragraph.kt b/src/main/kotlin/moe/nea/blog/md/Paragraph.kt index 54f688b..f715e53 100644 --- a/src/main/kotlin/moe/nea/blog/md/Paragraph.kt +++ b/src/main/kotlin/moe/nea/blog/md/Paragraph.kt @@ -5,8 +5,12 @@ import java.io.PrintStream data class Paragraph(val format: MarkdownFormat) : MarkdownBlock { override fun debugFormat(indent: Int, printStream: PrintStream) { + printStream.indent(indent) + printStream.println("

") printStream.indent(indent) format.debugFormat(printStream) printStream.println() + printStream.indent(indent) + printStream.println("

") } } \ No newline at end of file diff --git a/src/main/kotlin/moe/nea/blog/md/ext/NoteBlocks.kt b/src/main/kotlin/moe/nea/blog/md/ext/NoteBlocks.kt index a1f977f..6d13063 100644 --- a/src/main/kotlin/moe/nea/blog/md/ext/NoteBlocks.kt +++ b/src/main/kotlin/moe/nea/blog/md/ext/NoteBlocks.kt @@ -13,7 +13,7 @@ import java.io.PrintStream data class NoteBlock(val noteType: String, val child: MarkdownBlock) : MarkdownBlock { override fun debugFormat(indent: Int, printStream: PrintStream) { printStream.indent(indent) - printStream.println("") + printStream.println("") child.debugFormat(indent + 2, printStream) -- cgit