#!/bin/sh

i=0
for f in "$@"; do
   case "$f" in
       *".xml.txt") ;;
       *)
           i=$((i + 1))

           f_ext="${f##*.}"
           f_noext="${f%.$f_ext}"
           f_src="${f_noext}.txt"

           export title="$($PRETXT "$f_src" title)"
           date="$($PRETXT "$f_src" date)"
           datei="$(date -Iseconds -d "$date" 2>/dev/null)"
           if [ $? -ne 0 ]; then
               printf 'warn: failed to parse %s of %s with date(1), using its mtime instead\n' \
                      "$date" "$f_src" 1>&2
               date="$($PRETXT "$f_src" mtime)"
               datei="$(date -Iseconds -d "$date" 2>/dev/null)"
           fi
           export date datei
           if [ "$f_ext" = "txt" ]; then
               unset filehtml
           else
               export filehtml="$f"
           fi
           export filetxt="$f_src"
           export filenoext="$f_noext"

           if [ "$i" -eq 1 ]; then
               envsubst "$RSS20_SVARS" < "$RSS20_HEADER"
           fi

           if [ "$f_ext" = "txt" ]; then
               envsubst "$RSS20_SVARS" < "$RSS20_ITEMTXT_HEADER"
               printf '%s' "$($PRETXT "$f_src")"
               cat "$RSS20_ITEMTXT_FOOTER"
           else
               envsubst "$RSS20_SVARS" < "$RSS20_ITEM_HEADER"
               printf '%s' "$($PRETXT "$f_src" | $MD $MD_opts | $REL2ABS "$f_src")"
               cat "$RSS20_ITEM_FOOTER"
           fi
           ;;
   esac
done

if [ "$i" -ge 1 ]; then
   cat "$RSS20_FOOTER"
fi