diff options
| Commit | a37918bea9ffae7ee8ede84eb4ce6deb5709b631 (patch) | |
|---|---|---|
| Author | 2024-12-31 15:36:27 +0200 | |
| Committer | 2024-12-31 15:36:27 +0200 | |
| Files | 167c87589ca06ccdfc197bf2e17ec3fef7614421 /single.awk | |
| csg-a37918bea9ffae7ee8ede84eb4ce6deb5709b631.tar csg-a37918bea9ffae7ee8ede84eb4ce6deb5709b631.tar.gz csg-a37918bea9ffae7ee8ede84eb4ce6deb5709b631.zip | ||
| Parent | 128cbee2729d0638ab1f753df3dfecbe23ee40c0 (diff) | |
feat(single): Implement code blocks
1 files changed, 20 insertions, 1 deletions
| -rw-r--r-- | single.awk | 21 |
@@ -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 "<pre><code>" + inside_codeblock = 1 + } + _next() +} +inside_codeblock && ! /^[ \t]*$/ { + if (emptyP1) { + P2 = P2 ORS "</code></pre>" + } + else { + P1 = P1 ORS "</code></pre>" + } + inside_codeblock = 0 + emptyP1 = 1 +} + # Line break / $/ { sub(/[ \t]* $/, "</br>") |
