#!/bin/sh # generate a Atom feed from a directory, recursively # using POSIX sh # AUTHOR: Case Duckworth # LICENSE: MIT usage() { cat < $FEED_TITLE $FEED_SUBTITLE $FEED_ID shatom $FEED_COPYRIGHT $FEED_UPDATED END } atom_footer() { cat < END } atom_entry() { # atom_entry FILE ENTRY_URL="$(entry_url "$1")" ENTRY_TITLE="$(entry_title "$1")" ENTRY_SUMMARY="$(entry_summary "$1")" ENTRY_AUTHOR="$(entry_author "$1")" ENTRY_CONTENT="$(entry_content "$1")" ENTRY_UPDATED="$(entry_updated "$1")" cat < $ENTRY_URL $ENTRY_TITLE $ENTRY_SUMMARY $ENTRY_UPDATED $ENTRY_AUTHOR END } main() { CONFIGFILE="$PWD/$0.conf.sh" case "$1" in -h) usage exit 0 ;; -c) CONFIGFILE="$2" shift 2 ;; esac if [ -f "CONFIGFILE" ]; then . "$CONFIGFILE" fi atom_header for DIR; do for entry in $(recent_files "$DIR" -type f); do if skip_entry "$entry"; then continue; fi atom_entry "$entry" done done atom_footer } if [ $DEBUG ]; then set -x; fi main "$@"