commit f91aeac366b1ae860348ef555914ac160a1ec20e parent 212216a7a1ae2cc14b52039ca6e900b849e16913 Author: Egg Milk Soup <egg@milksoup.net> Date: Sat, 30 Jul 2022 19:40:35 +0000 add table support Diffstat:
M | org2html | | | 148 | +++++++++++++++++++++++++++++++++++++++++++++++-------------------------------- |
1 file changed, 89 insertions(+), 59 deletions(-)
diff --git a/org2html b/org2html @@ -1,5 +1,6 @@ #!/bin/sh -cat <<EOF +{ + cat <<EOF <!DOCTYPE html> <html> <head> @@ -8,64 +9,93 @@ cat <<EOF </head> <body> EOF -inp=false -while read line -do - case $(printf "$line" | cut -f 1 -d ' ') in - \*) - printf " <h1> %s </h1>\n" "$(printf "$line" | cut -f 2- -d ' ')" - if $inp - then - echo ' </p>' - inp=false - fi - ;; - \*\*) - printf " <h2> %s </h2>\n" "$(printf "$line" | cut -f 2- -d ' ')" - if $inp - then - echo ' </p>' - inp=false - fi - ;; - \*\*\*) - printf " <h3> %s </h3>\n" "$(printf "$line" | cut -f 2- -d ' ')" - if $inp - then - echo ' </p>' - inp=false - fi - ;; - \*\*\*\*) - printf " <h4> %s </h4>\n" "$(printf "$line" | cut -f 2- -d ' ')" - if $inp - then - echo ' </p>' - inp=false - fi - ;; - \*\*\*\*\*) - printf " <h4> %s </h5>\n" "$(printf "$line" | cut -f 2- -d ' ')" - if $inp - then - echo ' </p>' - inp=false - fi - ;; - '') - echo ' </p><p>' - ;; - *) - if ! $inp - then - echo ' <p>' - inp=true - fi - echo " $line" - ;; - esac -done -cat <<EOF + inp=false + while read line + do + case $(printf "$line" | cut -f 1 -d ' ') in + \*) + printf " <h1> %s </h1>\n" "$(printf "$line" | cut -f 2- -d ' ')" + if $inp + then + echo ' </p>' + inp=false + fi + ;; + \*\*) + printf " <h2> %s </h2>\n" "$(printf "$line" | cut -f 2- -d ' ')" + if $inp + then + echo ' </p>' + inp=false + fi + ;; + \*\*\*) + printf " <h3> %s </h3>\n" "$(printf "$line" | cut -f 2- -d ' ')" + if $inp + then + echo ' </p>' + inp=false + fi + ;; + \*\*\*\*) + printf " <h4> %s </h4>\n" "$(printf "$line" | cut -f 2- -d ' ')" + if $inp + then + echo ' </p>' + inp=false + fi + ;; + \*\*\*\*\*) + printf " <h4> %s </h5>\n" "$(printf "$line" | cut -f 2- -d ' ')" + if $inp + then + echo ' </p>' + inp=false + fi + ;; + \|) + cat <<EOF + <table> + <tr><b> + <td> + $(printf "$line" | cut -f 2 -d '|') + </td><td> + $(printf "$line" | cut -f 3 -d '|') + </td> + </b></tr> +EOF + read + read line + while [ "$(printf "$line" | cut -f 1 -d ' ')" = '|' ] + do + cat <<EOF + <tr> + <td> + $(printf "$line" | cut -f 2 -d '|') + </td><td> + $(printf "$line" | cut -f 3 -d '|') + </td> + </b></tr> +EOF + read line + done + echo ' </table>' + ;; + '') + echo ' </p><p>' + ;; + *) + if ! $inp + then + echo ' <p>' + inp=true + fi + echo " $line" + ;; + esac + done + cat <<EOF </body> </html> EOF +} | sed -E 's/\[\[file:rcp\/([0-9]*)\]\[RCP ([0-9]*)\]\]/\<a href=rcp\/\1.txt\>RCP \2\<\/a\>/'