#!/bin/sh

# rawhide - find files using pretty C expressions
# https://raf.org/rawhide
# https://github.com/raforg/rawhide
# https://codeberg.org/raforg/rawhide
#
# Copyright (C) 1990 Ken Stauffer, 2022-2023 raf <raf@raf.org>
#
# 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 <https://www.gnu.org/licenses/>.
#
# 20230609 raf <raf@raf.org>

# md2html - Convert a markdown file into a complete HTML document file

fatal() { echo "$@" >&2; exit 1; }

[ -z "$1" ] && fatal "usage: $0 infile.md [outfile.html [title]]"

src="$1"
base="${1%.*}"
dst="${2:-$base.html}"
title="${3:-$base}"

html="`python3 -m markdown --encoding=utf-8 --output_format=html5 \"$src\"`"
[ $? != 0 -o -z "$html" ] && fatal "$0: Failed to run: python3 -m markdown"

echo "<!doctype html>\n<html lang=\"en\">\n<head><title>$title</title></head>\n<body>\n$html\n</body>\n</html>" > "$dst"
