#!/bin/sh recursivebuild() { local destdir=$(echo $1 | sed 's|^src|http|') local destdir_gmi=$(echo $1 | sed 's|^src|gemini|') mkdir -p "$destdir" mkdir -p "$destdir_gmi" for file in $(ls $1); do if [ -d "$1/$file" ]; then mkdir -p "$destdir/$file" mkdir -p "$destdir_gmi/$file" recursivebuild "$1/$file" else extension=$(echo "$file" | sed 's/.*\.//') if [ "$extension" = "md" ]; then sed "s/TITLE/$(grep '^\# ' < "$1/$file" \ | sed 's/^\# //')/" < top.html \ > "$destdir/index.html" lowdown "$1/$file" >> "$destdir/index.html" cat bottom.html >> "$destdir/index.html" lowdown -Tgemini --gemini-link-roman \ --gemini-link-end \ "$1/$file" > "$destdir_gmi/index.gmi" cat bottom.gmi >> "$destdir_gmi/index.gmi" elif [ "$extension" = "html" ]; then cat top.html "$1/$file" bottom.html \ | sed "s/TITLE/$(grep '$//')/" \ > "$destdir/index.html" elif [ "$extension" = "gmi" ]; then cat "$1/$file" bottom.gmi > \ "$destdir_gmi/index.gmi" else cp "$1/$file" "$destdir/$file" cp "$1/$file" "$destdir_gmi/$file" fi fi done } makeblog() { bf=src/blog/blog.md ff=src/blog/feed.xml printf "# Blog\n\n[RSS Feed](feed.xml)\n\n" > $bf cp feed-top.xml $ff for i in $(ls src/blog | sort -r); do if [ -d src/blog/$i ]; then f="src/blog/$i/*.md" d=$(echo $i | grep -oE '^[0-9]{4}-[0-9]{2}-[0-9]{2}') t=$(head -n 1 $f | sed 's/# //') echo "* $d [$t]($i)" >> $bf echo "" >> $ff echo "$t" >> $ff echo "https://sebastiano.tronto.net/blog/$i" >> $ff echo "$t" >> $ff echo "$d" >> $ff echo "" >> $ff echo "" >> $ff fi done echo "" >> $ff echo "" >> $ff echo "" >> $ff } gemblog() { bg=gemini/blog/index.gmi printf "# Blog\n\n=> feed.xml RSS Feed\n\n" > $bg for i in $(ls src/blog); do if [ -d src/blog/$i ]; then d=$(echo $i | grep -oE '^[0-9]{4}-[0-9]{2}-[0-9]{2}') t=$(head -n 1 $f | sed 's/# //') echo "=> $i $d $t" >> $bg fi done echo "" >> $bg cat bottom.gmi >> $bg } makeblog recursivebuild src gemblog