]> git.plutz.net Git - serve0/blob - view.sh
show group listings in video view
[serve0] / view.sh
1 #!/bin/sh
2
3 . "$_EXEC/db_meta.sh"
4 . "$_EXEC/widgets.sh"
5
6 read_meta "${ITEM%.*}"
7
8 printf 'Content-Type: text/html;charset=utf-8\r\n\r\n'
9
10 { cat <<-EOF
11         [!DOCTYPE HTML]
12         [html [head
13           [title . $(HTML "${ITEM##*/}")]
14           [meta name="viewport" content="width=device-width"]
15           [link rel=stylesheet href="/cgilite/common.css" ]
16           [link rel=stylesheet href="/style.css" ]
17         ] [body #view
18           [script type="text/javascript" src="/stereoview.js"\n]
19           [div #navigation
20             [a #t_bookmarks href="#bookmarks" &#x2605;]
21             $(w_search)
22             [a #t_prefs href="#prefs" &#x2699;]
23           ]
24         EOF
25   w_bookmarks
26   w_advsearch
27   w_prefs
28   cat <<-EOF
29           [video #mainvideo controls="controls" preload="auto" [source src="?a=download" type="video/mp4"]]
30           [a "?a=download" Download]
31           [a "javascript:stereoview(180, document.getElementById(&#34;mainvideo&#34;));" View 180° Stereoscopic]
32           [a "javascript:stereoview(360, document.getElementById(&#34;mainvideo&#34;));" View 360° Stereoscopic]
33           [h1 . $(HTML "${ITEM##*/}" |sed -E 's;[^0-9a-zA-Z&#];&[wbr];g')]
34           [span .time $((META_LENGTH / 60)):$(printf %02i $((META_LENGTH % 60)))min] [span .dim ${META_WIDTH}x${META_HEIGHT}]
35         EOF
36   printf %s\\n "$META_TAGS" |tr , \\n |while read tag; do
37     [ "$tag" ] && printf '  [span .tag . %s]\n' "$(HTML "${tag#-}")"
38   done
39
40   if [ "${META_GROUP}" ]; then
41     printf '[div .itemlist'
42     list_meta "$_DATA/${ITEM%/*}/.index/meta" \
43     | grep -F "${CR}    ${META_GROUP}" \
44     | while read_meta; do
45       file="$(printf %s\\n "$_DATA/${META_NAME}".*)"
46       [ "/${file#${_DATA}/}" = "$ITEM" ] && continue
47       name="$(HTML "/${file#${_DATA}/}")"
48
49       printf '[div .list .file
50                 [a href="%s" [img src="%s?a=thumbnail"]][label . %s]
51                 [span .time %i:%02imin] [span .dim %ix%i] %s
52               ]' \
53         "$name" "$name" "${name##/}" \
54         "$((META_LENGTH / 60))" "$((META_LENGTH % 60))" \
55         "$META_WIDTH" "$META_HEIGHT" \
56         "$(printf %s\\n "${META_TAGS}" \
57            | sed -r 's;^;,;; s;,+;,;g; s;,$;;;
58                      :X s;,-?([^,]+)(,|$); [span .tag\n \1]\2;; tX;'
59         )"
60     done
61     printf ']'
62   fi
63
64   printf '
65   [div #editing
66     [form method=POST action="/?a=multitag"
67     [hidden "select" "%s"]' "$(HTML "${ITEM}")"
68       [ -d "$_DATA/${ITEM%/*}/.index/" ] && w_tagging
69     printf '
70     ]
71   ]
72 ] ]
73 '; } | "$_EXEC/cgilite/html-sh.sed"