#!/bin/sh src="${SRC:-src}" dest="${DEST:-public_html}" template="${TEMPLATE:-index.html.in}" styles="${STYLESHEET:-stylesheet.css}" filters="${FILTERS:-filters.sed}" script="$0" get() { find "$1" -type f -name "*.$2" } txt2html() { while read -r file; do tmphtml="${file%.*}.html" sed -Ef "$filters" < "$file" > "$tmphtml" done } csv2txt() { while read -r file; do txtfile="${file%.*}.txt" column -ts, < "$file" > "$txtfile" done } build() { while read -r file; do desthtml="$dest/$(basename "$file")" sed -Ee "/include_txt/r $file" -e "/include_txt/d" < "$template" > "$desthtml" done } sitemap() { sitemap="$src/all.txt" rm -f "$sitemap" touch "$sitemap" while read -r file; do file="$(basename "$file")" echo "[[${file%.txt}]]" >> "$sitemap" done } mkdir -p "$dest" get src csv | csv2txt get src txt | sort | sitemap get src txt | txt2html get src html | build cp "$styles" "$dest" cp "$script" "$dest/$script.txt" get src html | xargs rm -r