From c2d8782354a6339c1334512ae40cc70d5e4050aa Mon Sep 17 00:00:00 2001 From: Atlas Cove Date: Sat, 18 Feb 2023 21:12:37 +0000 Subject: [PATCH 1/2] refactor render.sh --- render.sh | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/render.sh b/render.sh index ae68b0d..c768e8e 100755 --- a/render.sh +++ b/render.sh @@ -1,6 +1,6 @@ #!/bin/bash # render.sh: part of the tape-and-string framework. -# v3.4-p3 +# v3.4-p4 #B: Load enable -f /usr/lib/bash/csv csv declare -A title @@ -24,6 +24,7 @@ function dirs { done } function docs { + load_title if ! test -d out; then err "Cannot render, directory 'out' does not exist, run ./render.sh dir" return 1 @@ -70,12 +71,14 @@ function other { cp -rv 'in'/* out/ } function all { + load_title dirs docs sass other } function info { + load_title local i echo "* \$ignore" if [ ${#ignore[@]} -eq 0 ]; then @@ -90,16 +93,16 @@ function info { echo " - $i :: ${title[$i]}" done } +function load_title { + local ii + while read -r ii; do + csv -a i "$ii" + title[in/${i[0]}]=${i[1]} + done < dat/title.csv +} #E: Definition #B: Logic #B: Logic/LoadDefs -#B: Logic/LoadDefs/title -while read -r ii; do - csv -a i "$ii" - title[in/${i[0]}]=${i[1]} -done < dat/title.csv -#E: Logic/LoadDefs/title -unset ii #B: Logic/LoadDefs/ignore if test -f ignore.txt; then while read -r i; do @@ -115,6 +118,7 @@ fi case $1 in dir) dirs;; doc) docs;; + docs) docs;; s[ac]ss) sass;; other) other;; rest) other;; From 486af48ae836b95a5c528f14b5b115a0ca3f2348 Mon Sep 17 00:00:00 2001 From: Atlas Cove Date: Sat, 18 Feb 2023 23:45:41 +0000 Subject: [PATCH 2/2] Output bugfixes --- m4/lib.m4 | 2 +- m4/main.html.m4 | 6 +++--- render.sh | 7 ++++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/m4/lib.m4 b/m4/lib.m4 index 46841d6..08a4ee5 100644 --- a/m4/lib.m4 +++ b/m4/lib.m4 @@ -3,4 +3,4 @@ divert(-1) define(`_ytv',`') define(`_wrap',<$1>$2) define(`_empty',`') -divert dnl +divert`'dnl diff --git a/m4/main.html.m4 b/m4/main.html.m4 index e61a4cd..c0dd399 100644 --- a/m4/main.html.m4 +++ b/m4/main.html.m4 @@ -1,14 +1,14 @@ dnl template.m4.html v2.0-p1 dnl Part of the tape-and-string suite used to construct the website ifdef(`DEBUG',`traceon')dnl -ifdef(`_INFILE',`dnl ',`errprint(`Macro _INFILE is not defined') -m4exit(1)')dnl +ifdef(`_INFILE',`dnl',`errprint(`Macro _INFILE is not defined')m4exit(1)') +ifdef(`TITLE',`dnl',`define(`TITLE',`Atlas48 Archives')dnl)') include(`m4/lib.m4')dnl TITLE diff --git a/render.sh b/render.sh index c768e8e..d2bd515 100755 --- a/render.sh +++ b/render.sh @@ -1,6 +1,6 @@ #!/bin/bash # render.sh: part of the tape-and-string framework. -# v3.4-p4 +# v3.4-p5 #B: Load enable -f /usr/lib/bash/csv csv declare -A title @@ -34,11 +34,12 @@ function docs { inf "Rendering document files..." for i in ${doc[@]}; do o="${i/in/out}" + o="${o%.*}.html" echo "'$i' -> '$o'" if test -z "${title[$i]}"; then - m4 -D_INFILE="$i" -DCSSI=$(awk -f awk/getsd.awk <<< "$i") m4/main.html.m4 > ${o%.*}.html + m4 -D_INFILE="$i" -DCSSI=$(awk -f awk/getsd.awk <<< "$i") m4/main.html.m4 > $o else - m4 -D_INFILE="$i" -DCSSI=$(awk -f awk/getsd.awk <<< "$i") -DTITLE="${title[$i]}" m4/main.html.m4 > ${o%.*}.html + m4 -D_INFILE="$i" -DCSSI=$(awk -f awk/getsd.awk <<< "$i") -DTITLE="${title[$i]}" m4/main.html.m4 > $o fi done }