site

Francesco Saccone's site content.
git clone https://git.francescosaccone.com/site
Log | Files | Refs | README | LICENSE

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