cat >&2 <<EOF
Usage:
\$ $0:t links PAGE
- Print the PAGE's links
+ Print PAGE's links
\$ $0:t backs PAGE
- Print who backlinks to the PAGE
+ Print PAGE's backlinks
\$ $0:t htmls DIR
Generate HTMLs in DIR
EOF
zmodload zsh/mapfile
typeset -A links
typeset -A backs
-typeset -aU words
+typeset -aU ws
for p (${(k)pages}) {
- words=()
+ ws=()
for w (${=mapfile[$p]}) {
[[ $w =~ "\[([^] ]+)\]" ]] || continue
w=${match[1]}
[[ $ZK_SHOW_MISSING ]] && print "missing $w"
continue
}
- words=($words $w)
+ ws=($ws $w)
}
- [[ $words ]] && links[$p]=${(j: :)words}
+ [[ $ws ]] && links[$p]=${(j: :)ws}
}
+unset ws
for p ws (${(kv)links}) {
for w (${=ws}) backs[$w]="$p ${backs[$w]}"
}