summaryrefslogtreecommitdiff
path: root/bin/update_html
blob: f7c0ad72790fd8de79e5d37bbb05c540b161a893 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash

### This script finds all .t2t (txt2tags) files and updates the corresponding
### .html file, if it is out-of-date.

# Path to this directory (not CWD)
# https://stackoverflow.com/a/246128/98600
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"

find . -name '*.t2t' | while read t2t ; do
  html="${t2t%.t2t}.html"
  if [ "$t2t" -nt "$html" ] ; then
    echo "$t2t"
    relroot="$( dirname $t2t | sed -E 's/^.\///' | sed -E 's/[^/]+/../g' )"
    pandoc \
      --from=t2t \
      --to=html5 \
      --standalone \
      --template="$DIR/_template.html" \
      --css="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" \
      --variable="rel-root:$relroot" \
      "$t2t" \
      --output="$html"
    if [ -f "$html" ]; then
      sed -i.bak "s/<table>/<table class=\"table\">/" "$html" && rm "$html.bak"
      sed -i.bak -E "s/\`\`(.+)\`\`/<code>\1<\/code>/g" "$html" && rm "$html.bak"
    else
      echo "Error creating $html"
    fi
  fi
done