STRING "$FILTER^" \
| sed -E 's;\^;\n;g; s;[]\/\(\)\\\^\$\?\.\+\*\;\[\{\}];\\&;g' \
| while read -r f; do
- [ "${f#\~}" ] || continue
- [ "${f#\~}" = "$f" ] \
- && fex="/(\ttags=([^\t]*,)?)(${f})((,[^\t]*)?\t)/{${fex}}" \
- || fex="/(\ttags=([^\t]*,)?)(${f#\~})((,[^\t]*)?\t)/d; ${fex}"
+ [ "${f##*[A-Z]*}" ] && tl="y;ABCDEFGHIJKLMNOPQRSTUVWXYZ;abcdefghijklmnopqrstuvwxyz;;"
+ case $f in
+ ''|~) continue;;
+ ~\\\$:*) fex="h; ${tl} /${f#~\\\$:}/d; g;${fex}";;
+ \\\$:*) fex="h; ${tl} /${f#\\\$:}/{g;${fex}}";;
+ ~*) fex="/(\ttags=([^\t]*,)?)(${f#\~})((,[^\t]*)?\t)/d; ${fex}";;
+ *) fex="/(\ttags=([^\t]*,)?)(${f})((,[^\t]*)?\t)/{${fex}}";;
+ esac
printf '%s\n' "${fex}"
done \
| tail -n1
-padding: 0 .25em;
margin: 0 .5%;
margin-bottom: 1em;
+ overflow: hidden;
}
-@media(min-width: 20em) { .itemlist .list { max-width: 49%; } }
-@media(min-width: 40em) { .itemlist .list { max-width: 32%; } }
-@media(min-width: 60em) { .itemlist .list { max-width: 24%; } }
-@media(min-width: 80em) { .itemlist .list { max-width: 19%; } }
-@media(min-width: 100em) { .itemlist .list { max-width: 19em; } }
.itemlist .list img {
- width: 100%; height: 11em;
+ -width: 1000%; height: 11em;
+ max-width: unset;
background-color: #111;
- object-fit: contain;
+ object-fit: cover;
+ transform: translate(-05%, 0);
+ margin-left: 50%;
+}
+.itemlist .list:hover img {
+ animation: thumbscroll 8s steps(10, end) infinite;
+}
+@keyframes thumbscroll {
+ from { transform: translate(-05%, 0);}
+ to { transform: translate(-105%, 0);}
}
+
.itemlist .list label {
display: block;
font-weight: bolder;
word-break: break-word;
}
-/* ====== ADVSEARCH PANEL ====== */
+/* ====== ADVSEARCH / FILTER PANEL ====== */
#advsearch:target {
display: block; position: fixed;
}
#advsearch fieldset.select {
display: inline-block;
- width: 18em; max-width: 100%;
- margin: 0 .5em; padding: 0 .375em;
+ width: 99%;
+ margin: 0 .5%; margin-bottom: .75em; padding: 0 .375em;
box-shadow: .125em .125em .25em #000;
}
+
#advsearch fieldset.select > label.head {
display: none;
width: 40%;
#advsearch input.and { display: none; }
#advsearch input.and + label { display: none; }
#advsearch input.and + label + fieldset { display: none; }
-#advsearch input.and:checked + label + fieldset { display: inline-block; }
-#advsearch input.and:checked + label + fieldset + input + label { display: inline-block; }
+#advsearch input.and:checked + label + fieldset,
+#advsearch input.and:first-of-type + label + fieldset { display: inline-block; }
+#advsearch input.and:checked + label + fieldset + input + label,
+#advsearch input.and:first-of-type + label + fieldset + input + label { display: inline-block; }
#advsearch input.and:checked + label + fieldset + input:checked + label { display: none; }
+#advsearch input.and:first-of-type + label + fieldset + input:checked + label { display: none; }
+
/* ====== MULTITAG DIALOG ====== */
width: 99%;
margin: 0 .5%; margin-top: 1em;
}
-@media(min-width: 20em) { #multitag fieldset { max-width: 49%; } }
-@media(min-width: 40em) { #multitag fieldset { max-width: 32%; } }
-@media(min-width: 60em) { #multitag fieldset { max-width: 24%; } }
-@media(min-width: 80em) { #multitag fieldset { max-width: 19%; } }
-@media(min-width: 100em) { #multitag fieldset { max-width: 19em; } }
#multitag fieldset select {
width: 100%; height: 10em;
padding: 0 .25em;
border-radius: 1pt;
}
+
+
+/* ====== SCALE BLOCK ELEMENTS ====== */
+
+@media(min-width: 20em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 49%; } }
+@media(min-width: 40em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 32%; } }
+@media(min-width: 60em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 24%; } }
+@media(min-width: 80em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 19%; } }
+@media(min-width: 100em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 19em; } }
| sed -rn 's:ID_LENGTH=(.*)(\..*)$:\1:p;' \
)"
- chunk="$((${l:-10} / 5))"
+ chunk="$((${l:-10} / 11))"
tmp="$(mktemp -d)"
- for cnt in 1 2 3 4; do
+ for cnt in 1 2 3 4 5 6 7 8 9 10; do
printf '' \
| mplayer -input nodefault-bindings -nosound -benchmark \
-noconfig all -really-quiet \
printf '' \
| mplayer -input nodefault-bindings -nosound -benchmark \
-noconfig all -really-quiet \
- -vf scale=159:-2,tile=2:2:4:0:2 \
- -vo jpeg:quality=96:outdir="${tmp}"\
+ -vf expand=:::::16/9,scale=320:-2,tile=10:1:10:0:0 \
+ -vo jpeg:quality=85:outdir="${tmp}"\
"mf://$tmp/_*.jpg" 2>&-
mv "${tmp}/00000001.jpg" "$thumb"