diff options
author | Rodrigo Arias Mallo <rodarima@gmail.com> | 2025-09-28 20:26:15 +0200 |
---|---|---|
committer | Rodrigo <rodarima@gmail.com> | 2025-09-28 23:10:55 +0200 |
commit | fb510ea86be5ceb9e91573890242581fdbd77ad8 (patch) | |
tree | d819fe40683592008d136727f5a0b03e48dc1164 /src/issue.awk |
Diffstat (limited to 'src/issue.awk')
-rw-r--r-- | src/issue.awk | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/issue.awk b/src/issue.awk new file mode 100644 index 0000000..69fb889 --- /dev/null +++ b/src/issue.awk @@ -0,0 +1,73 @@ +BEGIN { FS=": "; s=1; c=0 } + +s==1 && /^Title: / { sub("Title: ", ""); title=$0 } +s==1 && /^Author: / { sub("Author: ", ""); author=$0 } +s==1 && /^Created: / { sub("Created: ", ""); date=$0 } +s==1 && /^State: / { sub("State: ", ""); state=$0 } +s==1 && $0 == "" { + printf "<!doctype html>\n" + printf "<html>\n" + printf "<head>\n" + printf " <title>%s</title>\n", title + printf " <link rel='stylesheet' href='/style.css' type='text/css' />\n" + printf "</head>\n" + printf "<body>\n" + printf " <table class='issue-meta'>\n" + printf " <tr><th>Title</th><td>%s</td></tr>\n", title + printf " <tr><th>Author</th><td>%s</td></tr>\n", author + printf " <tr><th>Created</th><td>%s</td></tr>\n", date + printf " <tr><th>State</th>" + printf " <td><span class='issue-state state-%s'>%s</span></td>", state, state + printf " </tr>\n" + printf " </table>\n" + printf "\n" + s = 2 + next +} + +# Description +s==2 && $0 == "--%--" { + com_author = "" + com_date = "" + s = 3 + c++ + next +} +s==2 { print } + +# Comment header +s==3 && /^From: / { sub("From: ", ""); com_author=$0 } +s==3 && /^Date: / { sub("Date: ", ""); com_date=$0 } +s==3 && $0 == "" { + printf "\n" + printf "<div id='c%d' class='comment'>\n", c + printf " <a href='#c%d'>%s</a> on <i>%s</i>:<br>\n", c, com_author, com_date + printf "\n" + s = 4 + next +} + +# Comment body +s==4 && $0 == "--%--" { + # Close previous comment + printf "</div>\n\n" + com_author = "" + com_date = "" + s = 3 + c++ + next +} +s==4 { print } + +END { + if (s == 4) { + printf "</div>\n" + } + printf "\n\n" + printf "</body>" + printf "</html>" + +# printf "title=\"%s\"\n", title; +# printf "author=%s\n", author; +# printf "author=%s\n", author; +} |