X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=zk.zsh;h=a4984cc0fa3731550e40388b537bc812fb762dc4;hb=25216ec2e522ff49b4a8c1bf9415f79667aa68a5;hp=7d5f556236057922836232c478666b97ef469435;hpb=da958b56acfc4d53623bf767fd4de309aece238d;p=zk.zsh.git diff --git a/zk.zsh b/zk.zsh index 7d5f556..a4984cc 100755 --- a/zk.zsh +++ b/zk.zsh @@ -3,6 +3,7 @@ # Copyright (C) 2022 Sergey Matveev set -e +ZK_VERSION=ZKZSH1 usage() { cat >&2 < $ZK_CACHE/$p + ws=(${ws[3,-1]}) + } [[ $ws ]] && links[$p]=${(j: :)ws} } -unset ws +unset cache ws for p ws (${(kv)links}) { for w (${=ws}) backs[$w]="$p ${backs[$w]}" } @@ -79,18 +100,27 @@ genHTML() { local page=$1 local data p [[ $# -eq 1 ]] && data=${mapfile[$page]} || data=$2 - data=${data//&/&} - data=${data///>} local _links=(${(oi)=links[$page]}) - for p ($_links) { - getrel $page $p - data="${data//\[${p}\]/[$p]}" - } - print -r "<\!DOCTYPE html> + if [[ ( ${cached[$page]} ) && ( -s $ZK_CACHE/${page}.html ) ]]; then + cat $ZK_CACHE/${page}.html + else + data=${data//&/&} + data=${data///>} + for p ($_links) { + getrel $page $p + data="${data//\[${p}\]/[$p]}" + } + data=" $page (${pages[$page]})
-$data
-
" +$data" + if [[ $ZK_CACHE ]]; then + print -r "$data" > $ZK_CACHE/${page}.html + cat $ZK_CACHE/${page}.html + else + print -r "$data" + fi + fi if [[ $_links ]]; then print "
Links: