#!/usr/bin/env bash
# ==========================================================================
#              ____        _ _     _     _____           _
#             | __ ) _   _(_) | __| |   |_   _|__   ___ | |___
#             |  _ \| | | | | |/ _` |_____| |/ _ \ / _ \| / __|
#             | |_) | |_| | | | (_| |_____| | (_) | (_) | \__ \
#             |____/ \__,_|_|_|\__,_|     |_|\___/ \___/|_|___/
#
#                           --- Build-Tools ---
#                https://www.nntb.no/~dreibh/system-tools/
# ==========================================================================
#
# MD to HTML Conversion
# Copyright (C) 2012-2026 by Thomas Dreibholz
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# Contact: thomas.dreibholz@gmail.com

# Bash options:
set -eu


while [ $# -gt 0 ] ; do
   input="$1"
   shift 1
   output="${input/.md/.html}"

   if [ "${output}" != "${input}" ] ; then
      echo "Converting ${input} -> ${output} ..."

      pandoc -t html \
         --standalone \
         --highlight-style=kate \
         --metadata title="$(basename "${input}")" "${input}" | \
      sed -e 's#lang=""#lang="en"#'         \
         -e 's#<table>#<table summary="">#' \
         -e 's/\( href="#\)-/\1/g'          \
         >"${output}"

      # tidy -q -o /dev/null --strict-tags-attributes yes "${output}"
   else
      echo "ERROR: Unable to handle ${input}. No .md file?"
      exit 1
   fi
done
