diff options
author | cel <cel@lOUVT+Phkvai9a/cCS/RKo+S9hnPAQdVixms/7ldpPA=.ed25519> | 2020-05-19 20:20:48 -0400 |
---|---|---|
committer | cel <cel@lOUVT+Phkvai9a/cCS/RKo+S9hnPAQdVixms/7ldpPA=.ed25519> | 2020-05-19 20:28:29 -0400 |
commit | 58ae2f9f0140e5899b884649b5599091d6c49c36 (patch) | |
tree | 8fa112358404129304a3d144e440494fedb75d81 | |
parent | dd96e675ca9b0f50b38a6ceb2a9624a90ab74042 (diff) |
Render links in awk
-rwxr-xr-x | gemini.filter.dpi | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gemini.filter.dpi b/gemini.filter.dpi index 86ecf8a..4196a81 100755 --- a/gemini.filter.dpi +++ b/gemini.filter.dpi @@ -27,7 +27,7 @@ render_gemini() { then ansi2html | sed 's/^\(=>\s*\)\(\S*\)*\(.*\)/\1<a href="\2">\2<\/a>\3/' else - sed 's/^\(=>\s*\)\(\S*\)*\(.*\)/\1<a href="\2">\2<\/a>\3/' | awk ' + awk ' BEGIN { print "<!doctype html><body><style>"\ "div { font:monospace; white-space:pre-wrap; }\n"\ @@ -70,6 +70,17 @@ render_gemini() { printf "<%s style=\"font:sans-serif\">%s</%s>\n", tag, text, tag next } + /^=>/ { + match($0, /^=>\s*/) + prefix = substr($0, 0, RLENGTH) + href = substr($0, RLENGTH+1) + if (match(href, /^\S+/)) { + text = substr(href, RLENGTH+1) + href = substr(href, 0, RLENGTH) + } + printf "<div>%s<a href=\"%s\">%s</a>%s</div>\n", prefix, href, href, text + next + } /^$/ { print "<br>" next |