pre and post HTML templates for all txt2tags conversions

Remaining: cleaning of t2t files (remove unnecessary options)
This commit is contained in:
John J. Camilleri
2018-10-31 15:47:12 +01:00
parent 632cd1e522
commit 7867c8c828
8 changed files with 107 additions and 15 deletions

8
bin/clean_html Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
### This script finds all .t2t (txt2tags) files and deletes the corresponding html file
find . -name '*.t2t' | while read t2t ; do
html="${t2t%.t2t}.html"
rm -f "$html"
done

View File

@@ -3,9 +3,38 @@
### This script finds all .t2t (txt2tags) files and updates the corresponding
### .html file, if it is out-of-date.
config=".txt2tagsrc"
pre="_pre.html"
post="_post.html"
tmp="tmp.html"
find . -name '*.t2t' | while read t2t ; do
html="${t2t%.t2t}.html"
if [ "$t2t" -nt "$html" ] ; then
txt2tags -thtml "$t2t"
txt2tags --config-file="$config" --target=html "$t2t"
cat $pre $html $post > $tmp
mv $tmp $html
head1=$(head -n 1 "$t2t")
head2=$(tail -n+2 "$t2t" | head -n 1)
head3=$(tail -n+3 "$t2t" | head -n 1)
# Replace "headers" from t2t in final HTML
# Documentation here: https://txt2tags.org/userguide/headerarea
if [ -n "$head1" ] ; then
sed -i.bak "s/{{HEAD1}}/$head1/" "$html" && rm "$html.bak"
else
sed -i.bak -E "s/<.+{{HEAD1}}.+>//" "$html" && rm "$html.bak"
continue # empty headers
fi
if [ -n "$head2" ] ; then
sed -i.bak "s/{{HEAD2}}/$head2/" "$html" && rm "$html.bak"
else
sed -i.bak -E "s/<.+{{HEAD2}}.+>//" "$html" && rm "$html.bak"
fi
if [ -n "$head3" ] ; then
sed -i.bak "s/{{HEAD3}}/$head3/" "$html" && rm "$html.bak"
else
sed -i.bak -E "s/<.+{{HEAD3}}.+>//" "$html" && rm "$html.bak"
fi
fi
done
done