smak

log tags | changeset raw browse | file diff annotate file log raw

view app.rc @ 43:3c9b8007da96

moved style to css
author yiyus@1936
date Sun Nov 01 12:39:26 2009 +0100 (2009-11-01 ago)
parents a1e49a94e984
children

1 fn conf_enable_smak {
2 if (~ $smak_extensions '')
3 smak_extensions=(png jpg jpeg bmp gif)
4 if (~ $smak_prev_width '')
5 smak_prev_width=420
6 if (~ $smak_thumb_size '')
7 smak_thumb_height=96
9 smak_base_uri=$conf_wd
10 smak_root=`{pwd}
12 conf_enable_app smak
13 }
15 fn smak_init {
16 p=`{echo $req_path | sed 's!^'^$smak_base_uri^'!!'}
17 smak_dir=`{basename -d $"p | sed 's!^\.$!!'}
18 smak_img=`{basename $"p}
19 smak_file=`{ls $smak_root/$"smak_dir/$"smak_img^.$smak_extensions \
20 >[2]/dev/null | sed 1q}
21 smak_dir_list=`{ls $smak_root/$"smak_dir/*.$smak_extensions \
22 >[2]/dev/null | sed -e 's!.*/([^/]+)\.[^\.]+$!\1!' \
23 | sort -n | uniq} # -un did not work, don't ask me why
24 smak_comment=`{basename -d $"smak_file}^/_^$"smak_img^.md
26 extraHeaders=($extraHeaders '<style>' `{cat \
27 apps/smak/style.css} '</style>')
29 if(test -f $smak_file)
30 handler_body_main=(tpl_handler `{smak_template preview})
31 if not if(~ $"smak_img '' && test -d $smak_root/$"smak_dir \
32 && ! test -f $smak_root/$"smak_dir^/index.^(md htm html tpl) \
33 && ! test -f $werc_root/$local_path)
34 handler_body_main=(tpl_handler `{smak_template thumbnails})
35 }
37 fn smak_template {
38 if(test -f $smak_root/_werc/smak/$1.tpl)
39 echo -n $smak_root/_werc/smak/$1.tpl
40 if not
41 get_lib_file smak/$1.tpl apps/smak/$1.tpl
42 }
44 fn smak_resize {
45 {png -t9 $3 || jpg -t9 $3 || bmp -t9 $3 || gif -t9 $3} \
46 >[2]/dev/null | resample $1 $2 | topng > $4
47 }
49 fn smak_preview {
50 p=_werc/smak/prev/
51 f=$smak_root/$p^$"smak_dir/$"smak_img.png
52 t=`{echo $"smak_img | sed 's/_/ /g'}
54 mkdir -p `{basename -d $f}
55 if(! test $f -nt $smak_file)
56 smak_resize -x $smak_prev_width $smak_file $f
58 echo '<a href="'`{basename $smak_file}'">' \
59 '<img alt="'$"t'" title="'$"t'" ' \
60 'src="'$smak_base_uri^$p^$"smak_dir/$"smak_img'.png" ' \
61 'width='$smak_prev_width'px></a>'
62 }
64 fn smak_thumbnails {
65 p=_werc/smak/thumb/
66 d=$smak_root/$p^$"smak_dir
68 mkdir -p $d
69 for(i in $smak_dir_list){
70 f=$d/$i.png
71 o=`{ls $smak_root/$"smak_dir/$i^.$smak_extensions \
72 >[2]/dev/null | sed 1q}
73 t=`{echo $i | sed 's/_/ /g'}
74 s=''
75 if(~ $o $smak_file)
76 s='class="thisPage" '
78 if(! test $f -nt $o)
79 smak_resize -y $smak_thumb_height $o $f
81 echo '<a href="'$smak_base_uri^$"smak_dir/$i'">' \
82 '<img alt="'$"t'" title="'$"t'" '$s \
83 'src="'$smak_base_uri^$p^$"smak_dir/$i'.png" ' \
84 'height='$1'px></a>'
85 }
86 }
88 fn smak_preload {
89 t=_werc/smak/prev/$"smak_dir/^`{basename $1}^.png
90 o=`{ls $smak_root/$"smak_dir/^`{basename $1}^.$smak_extensions \
91 >[2]/dev/null | sed 1q}
92 f=$smak_root/$t
94 mkdir -p `{basename -d $f}
95 if(! test $f -nt $o)
96 smak_resize -x $smak_prev_width $o $f
98 echo '<img style="display:none;" src="'$smak_base_uri^$t'">'
99 }
101 fn smak_navigation {
102 b=$smak_base_uri^_werc/smak/prev/$"smak_dir/
103 p=''
104 for(i in $smak_base_uri$"smak_dir/$smak_dir_list){
105 if(~ $req_path $i){
106 if(! ~ $"p '')
107 echo '<a href="'$p'" title="prev">&larr;</a>'
108 echo '<a href="." title="up">::</a>'
109 }
110 if(~ $req_path $"p){
111 smak_next=$i
112 echo '<a href="'$i'" title="next">&rarr;</a>'
113 }
114 p=$i
115 }
116 }