#!/usr/bin/env zsh set -e usage() { cat >&2 < $#cur)) && { REPLY=${(j:/:)abs[i,-1]} return } done src=${(j:/:)cur[i,-1]/*/..} dst=${(j:/:)abs[i,-1]} REPLY=$src${dst:+/$dst} } genhtml() { local page=$1 local data [[ $# -eq 1 ]] && data="`cat $page`" || data=$2 local tgt data="${data//&/&}" data="${data///>}" for p (${(k)pages}) { [[ $p = ALL ]] && continue [[ $p = index ]] && continue tgt=`getrel $page $p` data="${data//${p}/$p}" } print "<\!DOCTYPE html> $page
$data

" } case $1 in (links) for w (${(oi)=${links[$2]}}) print $w ;; (backs) for w (${(oi)=${backs[$2]}}) print $w ;; (html) genhtml $2 ;; (htmls) for p (${(k)pages}) { local subdir=$p:h mkdir -p $2/$subdir genhtml $p > $2/$p.html } local all="" for p (${(Oi)${(k)pages}}) all="$p\n$all" genhtml ALL $all > $2/ALL.html ;; (*) usage ;; esac