site

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

commit 387eae7b6cbfb13aaef6a44a533869441b13cd4c
parent 10d2549de1d46c0588908559bceeec0c1d7bdeca
Author: Francesco Saccone <francesco@francescosaccone.com>
Date:   Fri,  7 Mar 2025 20:24:24 +0100

feat: add script for HTML pages generation

Signed-off-by: Francesco Saccone <francesco@francescosaccone.com>

Diffstat:
Agenerate-pages.sh | 37+++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+), 0 deletions(-)

diff --git a/generate-pages.sh b/generate-pages.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +for program in cat dirname echo find mkdir rm read smu; do + if ! command -v "$program" > /dev/null 2>&1; then + echo "Error: Required program '$program' is not installed." + exit 1 + fi +done + +if [ "$#" -ne 1 ]; then + echo "Usage: $0 <destination>" + exit 1 +fi + +SOURCE="$(dirname "$0")" +DESTINATION="$1" +HEADER="$SOURCE/header.html" +FOOTER="$SOURCE/footer.html" + +find "$SOURCE" -type f -name "*.md" | while IFS= read -r md_file; do + relative_path="${md_file#$SOURCE/}" + html_file="$DESTINATION/${relative_path%.md}.html" + + mkdir -p "$(dirname "$html_file")" + + smu -n "$md_file" > "$html_file.tmp" + + { + cat "$HEADER" + cat "$html_file.tmp" + cat "$FOOTER" + } > "$html_file" + + rm "$html_file.tmp" + + echo "Parsed: $md_file -> $html_file" +done