generate-html.sh (725B)
1 #!/bin/sh 2 3 for program in cat dirname echo find lowdown mkdir rm realpath; do 4 if ! command -v "$program" > /dev/null 2>&1; then 5 echo "Error: Required program '$program' is not installed." 6 exit 1 7 fi 8 done 9 10 if [ "$#" -ne 1 ]; then 11 echo "Usage: $0 <destination>" 12 exit 1 13 fi 14 15 SOURCE="$(realpath $(dirname $0)/..)" 16 DESTINATION="$1" 17 HEADER="$SOURCE/header.html" 18 FOOTER="$SOURCE/footer.html" 19 20 for md_file in $(find "$SOURCE" -type f -name "*.md"); do 21 relative_path="${md_file#$SOURCE/}" 22 html_file="$DESTINATION/${relative_path%.md}.html" 23 24 mkdir -p "$(dirname "$html_file")" 25 26 { 27 cat "$HEADER" 28 lowdown -t html "$md_file" 29 cat "$FOOTER" 30 } > "$html_file" 31 32 echo "Parsed: $md_file -> $html_file" 33 done