}
# Deduplicate all references
-typeset -A ws
for p (${(k)links}) {
- ws=()
- for w (${=${links[$p]}}) {
- ws[$w]=1
- backs[$w]="$p ${backs[$w]}"
- }
- links[$p]=${(k)ws}
+ local ws=(${(u)=links[$p]})
+ links[$p]=${(j: :)ws}
+ for w ($ws) backs[$w]="$p ${backs[$w]}"
}
for p (${(k)backs}) {
- ws=()
- for w (${=${backs[$p]}}) ws[$w]=1
- backs[$p]=${(k)ws}
+ local ws=(${(u)=backs[$p]})
+ backs[$p]=${(j: :)ws}
}
autoload -U relative
local page=$1
local data
[[ $# -eq 1 ]] && data="`cat $page`" || data=$2
- local tgt
data="${data//&/&}"
data="${data//</<}"
data="${data//>/>}"
for p (${(k)pages}) {
[[ $p = ALL ]] && continue
[[ $p = index ]] && continue
- tgt=`getrel $page $p`
- data="${data//${p}/<a href=\"${tgt}.html\">$p</a>}"
+ getrel $page $p
+ data="${data//${p}/<a href=\"${REPLY}.html\">$p</a>}"
}
print "<\!DOCTYPE html>
<html><head><title>$page</title></head><body><pre>
$data
</pre><hr/><ul>"
for p (${(oi)=${backs[$page]}}) {
- [[ $p = ALL ]] && continue
- tgt=`getrel $page $p`
- print "<li><a href=\"${tgt}.html\">$p</a></li>"
+ getrel $page $p
+ print "<li><a href=\"${REPLY}.html\">$p</a></li>"
}
print "</ul></body></html>"
}