touch "$meta" # preliminary touch to prevent concurrent generators
find "$dir" -type f -mindepth 1 -maxdepth 1 \
| grep -aE "$file_pattern" \
- | while v="$(line)"; do
+ | while read -r v; do
meta_line "$v"
done >"$meta"
touch "$meta"
find "$dir" -type f -mindepth 1 -maxdepth 1 \
| grep -aE "$file_pattern" \
- | while v="$(line)"; do
+ | while read -r v; do
if [ "$v" -nt "$meta" ]; then
grep -qF " $(meta_name "$v")" "$meta" \
|| meta_line "$v"
local meta
(cd "$_DATA/$ITEM";
find ./ -path '*/.index/meta'
- ) | while meta="$(line)"; do
+ ) | while read -r meta; do
list_filemeta "${meta%/.index/meta}"
done
}
[ "$ORDER" = Date ] && w_codate=checked
[ "$ORDER" = Length ] && w_colength=checked
+w_bookmarks(){
+ local name link bm
+ bm="$_DATA/.index/bookmarks"
+
+ printf '[form #bookmarks action=?a=bookmarks method=POST
+ [a href="#" X]
+ [hidden "ref" "%s"]
+ ' "$w_refuri"
+
+ name="$(grep -m1 -F " $(STRING "${REQUEST_URI}")" "$bm")"
+ printf '[hidden "link" "%s"][input name="name" value="%s"]' \
+ "$(HTML "$link")" "$(HTML "$name")"
+
+ sort "$bm" |while read -r name link; do
+ name="$(UNSTRING "$name")"
+ link="$(UNSTRING "$link")"
+ if [ "$link" != "$REQUEST_URI" ]; then
+ printf '[a href="%s"\n%s]' "$(HTML "$link")" "$(HTML "$name")"
+ fi
+ done
+ printf ']'
+}
+
w_search(){
printf '
[form #search method=GET action=?