From a37918bea9ffae7ee8ede84eb4ce6deb5709b631 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Tue, 31 Dec 2024 15:36:27 +0200 Subject: feat(single): Implement code blocks --- single.awk | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'single.awk') diff --git a/single.awk b/single.awk index 87e6734..47cb391 100644 --- a/single.awk +++ b/single.awk @@ -7,8 +7,8 @@ # [x] Headers (atx and setex) # [x] Blockquotes # [ ] Lists -# [ ] Code blocks # [ ] Horizontal rules +# [x] Code blocks # [ ] Span elements # [ ] Links # [ ] Inline @@ -99,6 +99,25 @@ blockquote_level > 0 && empty0 { } /^>$/ { $0 = ""; not_paragraph = 1 } +# Code blocks +/^ / { + if (!inside_codeblock) { + P1 = P1 "
"
+		inside_codeblock = 1
+	}
+	_next()
+}
+inside_codeblock && ! /^[ \t]*$/ {
+	if (emptyP1) {
+		P2 = P2 ORS "
" + } + else { + P1 = P1 ORS "" + } + inside_codeblock = 0 + emptyP1 = 1 +} + # Line break / $/ { sub(/[ \t]* $/, "
") -- cgit v1.3.1-23-gd82d