Fix extra codeblock

This commit is contained in:
davidovki 2023-03-05 03:41:32 +00:00
parent 58141a0764
commit dd541cc6de

View file

@ -1,12 +1,12 @@
#!/bin/sh #!/bin/sh
ESC_SEQ="ESCAPED!" ESC_SEQ='\0'
# replace all * with _ for easier processing # replace all * with _ for easier processing
# #
_pre_emph () { _pre_emph () {
while IFS= read -r line; do while IFS= read -r line; do
case "$line" in "$ESC_SEQ"*) printf "%s\n"" $line" && continue;; esac case "$line" in "$ESC_SEQ"*) printf "%s\n" "$line" && continue;; esac
while [ "$line" != "${line%%\**}" ]; do while [ "$line" != "${line%%\**}" ]; do
printf "%s_" "${line%%\**}" printf "%s_" "${line%%\**}"
line="${line#*\*}" line="${line#*\*}"
@ -131,29 +131,29 @@ _a_img () {
local open="[" mid="](" close=")" local open="[" mid="](" close=")"
while IFS= read -r line; do while IFS= read -r line; do
case "$line" in "$ESC_SEQ"*) printf "%s\n" "$line" && continue;; esac case "$line" in "$ESC_SEQ"*) printf "%s\n" "$line" && continue;; esac
next="$line" next="$line"
while [ "$next" != "${next#*$close}" ]; do while [ "$next" != "${next#*$close}" ]; do
before="${next%%$open*}" before="${next%%$open*}"
text=${next#*$open} text=${text%%$mid*} text=${next#*$open} text=${text%%$mid*}
url=${next#*$mid} url=${url%%$close*} url=${next#*$mid} url=${url%%$close*}
title=${url#* } url=${url%% *} title=${url#* } url=${url%% *}
[ "$title" != "$url" ] \ [ "$title" != "$url" ] \
&& title=" title=$title" \ && title=" title=$title" \
|| title= || title=
case "$before" in case "$before" in
*!) h="%s<img src=\"%s\"%s alt=\"%s\"></img>" *!) h="%s<img src=\"%s\"%s alt=\"%s\"></img>"
before="${before%!}" ;; before="${before%!}" ;;
*) h="%s<a href=\"%s\"%s>%s</a>" ;; *) h="%s<a href=\"%s\"%s>%s</a>" ;;
esac esac
printf "$h" "$before" "$url" "$title" "$text" printf "$h" "$before" "$url" "$title" "$text"
next="${next#*$close}" next="${next#*$close}"
done done
printf "%s\n" "$next"; printf "%s\n" "$next";
done done
} }
@ -270,8 +270,7 @@ _code () {
" "*) " "*)
$codeblock && $codeblock &&
printf "%s\n" "$ESC_SEQ${line# }" || printf "%s\n" "$ESC_SEQ${line# }" ||
printf "%s\n" "$line" $content || {
$codeblock || $content || {
printf "<pre><code>\n" printf "<pre><code>\n"
codeblock=true codeblock=true
printf "%s\n" "$ESC_SEQ${line# }" printf "%s\n" "$ESC_SEQ${line# }"
@ -328,7 +327,7 @@ _post_escape () {
while IFS= read -r line; do while IFS= read -r line; do
case "$line" in case "$line" in
"$ESC_SEQ"*) "$ESC_SEQ"*)
printf "%s\n" "${line#$ESC_SEQ}" printf "%s\n" "${line#??}"
;; ;;
*) *)
printf "%s\n" "$line" printf "%s\n" "$line"