]> git.plutz.net Git - serve0/blobdiff - list.sh
display either tagging or indexer
[serve0] / list.sh
diff --git a/list.sh b/list.sh
index 1a5a6cf05fce903418d04d1e956da3fce4609031..71f70f9ca8590f796ec9e847069b63683911c48b 100644 (file)
--- a/list.sh
+++ b/list.sh
@@ -25,18 +25,20 @@ list_item() {
     name="$(list_fullname "$(UNSTRING "${name%${CR}}")")"
   fi
   if [ -f "$_DATA/$ITEM/$name" ]; then
-    display="$(HTML "$name")"
     link="$(URL "$ITEM/$name")"
+    name="$(HTML "$ITEM/$name")"
     printf '[div .list .file
               [a href="%s" [img src="%s?a=thumbnail"]][label %s]
               [span .time %i:%imin] [span .dim %ix%i] %s
               [checkbox "select" "%s" id="select_%s"][label for="select_%s" +]
             ]' \
-      "$link" "$link" "$name" \
+      "$link" "$link" "${name##*/}" \
       "$((length / 60))" "$((length % 60))" \
       "$width" "$height" \
-      "$(UNSTRING "${tags#tags=}" |tr , '\0' |xargs -r0 printf ' [span .tag %s]')" \
-      "$link" "$link" "$link"
+      "$(printf '%s\n' "${tags#tags=}" \
+         | sed -r "$UNSTRING"' s;^;,;; s;,+;,;g; s;,$;;;
+                   :X s;,([^,]+)(,|$); [span .tag \1]\2;; tX;'
+      )" "$name" "$link" "$link"
   else
     printf 'Canning record for nonexist file: %s\n' "$name" >&2
     # meta_purge "$_DATA/$ITEM/$name"
@@ -99,7 +101,7 @@ list_order(){
       printf '%i       %s      %s\n' \
              "$(stat -c %Y "$fn")" "${fm%      *}" "$fn"
     done \
-    | sort -n -k1 |cut -f2- |sed 's;^;metalong\t;;'
+    | sort -rn -k1 |cut -f2- |sed 's;^;metalong\t;;'
   fi
 }
 
@@ -191,8 +193,7 @@ printf 'Content-Type: text/html;charset=utf-8\r\n\r\n'
     printf '
     [div #editing
       [a href="#multitag" Add Tags]'
-      w_tagging
-      w_index
+      w_index || w_tagging
       printf '
     ]
   ]