gf-ralbum 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +20 -0
- data/README.rdoc +80 -0
- data/bin/ralbum-JPG2jpg.rb +90 -0
- data/bin/ralbum-compile_skins.rb +18 -0
- data/bin/ralbum-myconv.rb +81 -0
- data/bin/ralbum-readexif.rb +18 -0
- data/bin/ralbum-reorder.rb +200 -0
- data/bin/ralbum.rb +12 -0
- data/example/README.txt +8 -0
- data/example/example.sh +3 -0
- data/example/httpd.rb +35 -0
- data/example/test_phototree/album.xml +21 -0
- data/example/test_phototree/catalog_data/md5_to_key.yaml +4 -0
- data/example/test_phototree/catalog_data/md5_to_key.yaml.test +4 -0
- data/example/test_phototree/catalog_data/project.xml +329 -0
- data/example/test_phototree/r_photo01.jpg +0 -0
- data/example/test_phototree/r_photo01.jpg.xml +17 -0
- data/example/test_phototree/subalbum01/album.xml +21 -0
- data/example/test_phototree/subalbum01/subalbum01_photo01.jpg +0 -0
- data/example/test_phototree/subalbum01/subalbum01_photo01.jpg.xml +15 -0
- data/example/test_phototree/subalbum01/subalbum01_photo02.jpg +0 -0
- data/example/test_phototree/subalbum01/subalbum01_photo02.jpg.xml +15 -0
- data/example/test_phototree/subalbum01/subalbum01_photo03.jpg +0 -0
- data/example/test_phototree/subalbum01/subalbum01_photo03.jpg.xml +15 -0
- data/example/test_phototree/subalbum01/subalbum01_photo04.jpg +0 -0
- data/example/test_phototree/subalbum01/subalbum01_photo04.jpg.xml +15 -0
- data/example/test_phototree/subalbum02/album.xml +10 -0
- data/example/test_phototree/subalbum02/subalbum02_photo01.jpg +0 -0
- data/example/test_phototree/subalbum02/subalbum02_photo01.jpg.xml +15 -0
- data/example/test_phototree/subalbum02/subalbum02_photo02.jpg +0 -0
- data/example/test_phototree/subalbum02/subalbum02_photo02.jpg.xml +15 -0
- data/example/test_phototree/subalbum02/subalbum02_photo03.jpg +0 -0
- data/example/test_phototree/subalbum02/subalbum02_photo03.jpg.xml +15 -0
- data/example/test_phototree/subalbum02/subalbum02_photo04.jpg +0 -0
- data/example/test_phototree/subalbum02/subalbum02_photo04.jpg.xml +15 -0
- data/example/test_phototree/subalbum02/subalbum02_photo05.jpg +0 -0
- data/example/test_phototree/subalbum02/subalbum02_photo05.jpg.xml +15 -0
- data/lib/ralbum-common/object_with_properties.rb +14 -0
- data/lib/ralbum-common/object_with_validation.rb +50 -0
- data/lib/ralbum.rb +19 -0
- data/lib/ralbum/album.rb +66 -0
- data/lib/ralbum/catalog.rb +178 -0
- data/lib/ralbum/cli/cli_ralbum.rb +116 -0
- data/lib/ralbum/generate_album_tree_node_visitor.rb +60 -0
- data/lib/ralbum/image_file.rb +81 -0
- data/lib/ralbum/image_pool.rb +71 -0
- data/lib/ralbum/image_strategy.rb +143 -0
- data/lib/ralbum/options.rb +15 -0
- data/lib/ralbum/photo_tree_builder.rb +165 -0
- data/lib/ralbum/photo_tree_item.rb +89 -0
- data/lib/ralbum/photo_tree_node.rb +40 -0
- data/lib/ralbum/project.rb +89 -0
- data/lib/ralbum/ralbum_exception.rb +2 -0
- data/lib/ralbum/resource.rb +17 -0
- data/lib/ralbum/skin.rb +76 -0
- data/lib/ralbum/skin_engine.rb +98 -0
- data/lib/ralbum/skin_engines/erb_skin_engine.rb +35 -0
- data/lib/ralbum/skin_engines/kwartz_skin_engine.rb +54 -0
- data/lib/ralbum/skin_manager.rb +46 -0
- data/lib/ralbum/skins/cgi/cgi_skin.rb +27 -0
- data/lib/ralbum/skins/cgi/info.yml +3 -0
- data/lib/ralbum/skins/cgi/res/model.rb +235 -0
- data/lib/ralbum/skins/cgi/res/resource.rb +17 -0
- data/lib/ralbum/skins/gfold/inc/menu_bottom.html +53 -0
- data/lib/ralbum/skins/gfold/inc/menu_top.html +71 -0
- data/lib/ralbum/skins/gfold/inc/page_footer.html +28 -0
- data/lib/ralbum/skins/gfold/info.yml +3 -0
- data/lib/ralbum/skins/gfold/out/album_page.rb +316 -0
- data/lib/ralbum/skins/gfold/out/image_page.rb +231 -0
- data/lib/ralbum/skins/gfold/out/tree_page.rb +96 -0
- data/lib/ralbum/skins/gfold/res/16-arrow-down.png +0 -0
- data/lib/ralbum/skins/gfold/res/16-arrow-left.png +0 -0
- data/lib/ralbum/skins/gfold/res/16-arrow-right.png +0 -0
- data/lib/ralbum/skins/gfold/res/16-arrow-up.png +0 -0
- data/lib/ralbum/skins/gfold/res/left.gif +0 -0
- data/lib/ralbum/skins/gfold/res/prototype.js +3277 -0
- data/lib/ralbum/skins/gfold/res/right.gif +0 -0
- data/lib/ralbum/skins/gfold/res/style1.css +453 -0
- data/lib/ralbum/skins/gfold/res/style2.css +414 -0
- data/lib/ralbum/skins/gfold/res/styleswitcher.js +89 -0
- data/lib/ralbum/skins/gfold/res/top.gif +0 -0
- data/lib/ralbum/skins/gfold/res/up.gif +0 -0
- data/lib/ralbum/skins/gfold/res/valid-css.png +0 -0
- data/lib/ralbum/skins/gfold/res/valid-xhtml.png +0 -0
- data/lib/ralbum/skins/gfold/res/valid-xhtml11.png +0 -0
- data/lib/ralbum/skins/gfold/res/vcss.gif +0 -0
- data/lib/ralbum/skins/gfold/template/album_page.html +161 -0
- data/lib/ralbum/skins/gfold/template/album_page.plogic +127 -0
- data/lib/ralbum/skins/gfold/template/image_page.html +91 -0
- data/lib/ralbum/skins/gfold/template/image_page.plogic +70 -0
- data/lib/ralbum/skins/gfold/template/tree_page.html +79 -0
- data/lib/ralbum/skins/gfold/template/tree_page.plogic +45 -0
- data/lib/ralbum/skins/js/info.yml +3 -0
- data/lib/ralbum/skins/js/js_skin.rb +50 -0
- data/lib/ralbum/skins/js/out/album_page.rb +181 -0
- data/lib/ralbum/skins/js/out/slideshow_page.rb +187 -0
- data/lib/ralbum/skins/js/out/tree_page.rb +134 -0
- data/lib/ralbum/skins/js/res/left.gif +0 -0
- data/lib/ralbum/skins/js/res/right.gif +0 -0
- data/lib/ralbum/skins/js/res/style.css +76 -0
- data/lib/ralbum/skins/js/res/top.gif +0 -0
- data/lib/ralbum/skins/js/res/up.gif +0 -0
- data/lib/ralbum/skins/js/template/album_page.html +178 -0
- data/lib/ralbum/skins/js/template/album_page.plogic +88 -0
- data/lib/ralbum/skins/js/template/slideshow_page.html +169 -0
- data/lib/ralbum/skins/js/template/slideshow_page.plogic +1 -0
- data/lib/ralbum/skins/js/template/tree_page.html +118 -0
- data/lib/ralbum/skins/js/template/tree_page.plogic +43 -0
- data/lib/ralbum/skins/test_erb/info.yml +3 -0
- data/lib/ralbum/skins/test_erb/out/album_page.rb +54 -0
- data/lib/ralbum/skins/test_erb/out/image_page.rb +54 -0
- data/lib/ralbum/skins/test_kwartz/info.yml +3 -0
- data/lib/ralbum/skins/test_kwartz/out/album_page.rb +54 -0
- data/lib/ralbum/skins/test_kwartz/out/image_page.rb +54 -0
- data/lib/ralbum/skins/test_kwartz/template/album_page.html +37 -0
- data/lib/ralbum/skins/test_kwartz/template/image_page.html +37 -0
- data/test/ralbum/cli/test_cli_ralbum.rb +13 -0
- data/test/ralbum/tc_01_photo_tree.rb +37 -0
- data/test/ralbum/tc_02_photo_tree_builder.rb +20 -0
- data/test/ralbum/tc_03_album.rb +42 -0
- data/test/ralbum/tc_04_skin_manager.rb +30 -0
- data/test/ralbum/tc_05_kwartz_skin_engine.rb +50 -0
- data/test/ralbum/tc_06_image_strategy.rb +21 -0
- data/test/ralbum/tc_catalog.rb +31 -0
- data/test/ralbum/test_helper.rb +13 -0
- data/test/test_ralbum.rb +14 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/album_1/img_0004.jpg.html +148 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/album_1/img_0005.jpg.html +152 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/album_1/img_0006.jpg.html +152 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/album_1/img_0007.jpg.html +148 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/album_1/index.html +195 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/album_2/img_0008.jpg.html +148 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/album_2/img_0009.jpg.html +152 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/album_2/img_0010.jpg.html +152 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/album_2/img_0011.jpg.html +152 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/album_2/img_0012.jpg.html +148 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/album_2/index.html +206 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/img_0003.jpg.html +141 -0
- data/test_data/ralbum/test_data/albums_directory/gfold/index.html +208 -0
- data/test_data/ralbum/test_data/albums_directory/images_100x100/img_0003.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_100x100/img_0004.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_100x100/img_0005.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_100x100/img_0006.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_100x100/img_0007.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_100x100/img_0008.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_100x100/img_0009.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_100x100/img_0010.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_100x100/img_0011.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_100x100/img_0012.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_640x480/img_0003.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_640x480/img_0004.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_640x480/img_0005.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_640x480/img_0006.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_640x480/img_0007.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_640x480/img_0008.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_640x480/img_0009.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_640x480/img_0010.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_640x480/img_0011.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/images_640x480/img_0012.jpg +0 -0
- data/test_data/ralbum/test_data/albums_directory/res/left.gif +0 -0
- data/test_data/ralbum/test_data/albums_directory/res/prototype.js +3277 -0
- data/test_data/ralbum/test_data/albums_directory/res/right.gif +0 -0
- data/test_data/ralbum/test_data/albums_directory/res/style1.css +453 -0
- data/test_data/ralbum/test_data/albums_directory/res/style2.css +414 -0
- data/test_data/ralbum/test_data/albums_directory/res/styleswitcher.js +89 -0
- data/test_data/ralbum/test_data/albums_directory/res/top.gif +0 -0
- data/test_data/ralbum/test_data/albums_directory/res/up.gif +0 -0
- data/test_data/ralbum/test_data/albums_directory/res/valid-css.png +0 -0
- data/test_data/ralbum/test_data/albums_directory/res/valid-xhtml.png +0 -0
- data/test_data/ralbum/test_data/albums_directory/res/valid-xhtml11.png +0 -0
- data/test_data/ralbum/test_data/albums_directory/res/vcss.gif +0 -0
- data/test_data/ralbum/test_data/albums_directory/test/album_1/img_0004.jpg.html +11 -0
- data/test_data/ralbum/test_data/albums_directory/test/album_1/img_0005.jpg.html +11 -0
- data/test_data/ralbum/test_data/albums_directory/test/album_1/img_0006.jpg.html +11 -0
- data/test_data/ralbum/test_data/albums_directory/test/album_1/img_0007.jpg.html +11 -0
- data/test_data/ralbum/test_data/albums_directory/test/album_1/index.html +13 -0
- data/test_data/ralbum/test_data/albums_directory/test/album_2/img_0008.jpg.html +11 -0
- data/test_data/ralbum/test_data/albums_directory/test/album_2/img_0009.jpg.html +11 -0
- data/test_data/ralbum/test_data/albums_directory/test/album_2/img_0010.jpg.html +11 -0
- data/test_data/ralbum/test_data/albums_directory/test/album_2/img_0011.jpg.html +11 -0
- data/test_data/ralbum/test_data/albums_directory/test/album_2/img_0012.jpg.html +11 -0
- data/test_data/ralbum/test_data/albums_directory/test/album_2/index.html +13 -0
- data/test_data/ralbum/test_data/albums_directory/test/img_0003.jpg.html +11 -0
- data/test_data/ralbum/test_data/albums_directory/test/index.html +13 -0
- data/test_data/ralbum/test_data/is_test/r_photo01_scaled.jpg +0 -0
- data/test_data/ralbum/test_data/is_test/r_photo01_sepia_scaled.jpg +0 -0
- metadata +276 -0
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,161 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
<html kw:d="set pagename='albums'">
|
3
|
+
<head kw:d="set language=nil">
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
|
5
|
+
<title>Giovanni Ferro - @{@album.name}@</title>
|
6
|
+
<meta name="description" content="Giovanni Ferro photos"/>
|
7
|
+
<meta name="keywords" content="Giovanni Ferro,photo,pictures,digital photography"/>
|
8
|
+
<link kw:d="mark:stylesheet1" rel="stylesheet" type="text/css" href="../res/style1.css" media="screen" title="style1"/>
|
9
|
+
<link kw:d="mark:stylesheet2" rel="alternate stylesheet" type="text/css" href="../res/style2.css" media="screen" title="style2"/>
|
10
|
+
<script kw:d="mark:prototype" type="text/javascript" src="../res/prototype.js"></script>
|
11
|
+
<script kw:d="mark:styleswitcher" type="text/javascript" src="../res/styleswitcher.js"></script>
|
12
|
+
</head>
|
13
|
+
<body>
|
14
|
+
|
15
|
+
<div id="replace_element_with_element:menu_top" style="text-align:center; border: solid 1px black;">Menu del sito</div>
|
16
|
+
|
17
|
+
<table class="album_maintable" align="center"
|
18
|
+
border="0" cellspacing="0" cellpadding="0">
|
19
|
+
<tr>
|
20
|
+
<td>
|
21
|
+
|
22
|
+
<!-- begin header table -->
|
23
|
+
<table width="100%" border="0" cellspacing="0" cellpadding="3">
|
24
|
+
|
25
|
+
<!-- breadcrumbs or Trail -->
|
26
|
+
<tr>
|
27
|
+
<td class="album_breadcrumbs" align="left">
|
28
|
+
<span id="mark:breadcrumbs">
|
29
|
+
<a id="mark:item" class="album_treepath"
|
30
|
+
href="@{@album.relroot + item_path}@">
|
31
|
+
<span kw:d="value:item_title">Home</span>
|
32
|
+
</a>
|
33
|
+
<span id="mark:arrow" class="album_treepathdots">::</span>
|
34
|
+
</span>
|
35
|
+
</td>
|
36
|
+
<td class="album_breadcrumbs" align="right" nowrap="nowrap">
|
37
|
+
@{@album.nr_leaves}@ @{@resource.photos}@
|
38
|
+
<span kw:d="if @album.nr_childs>0">
|
39
|
+
@{@album.nr_childs}@ sub-albums
|
40
|
+
</span>
|
41
|
+
</td>
|
42
|
+
</tr>
|
43
|
+
|
44
|
+
<tr>
|
45
|
+
<td width="80%" align="left">
|
46
|
+
@{@album.description}@
|
47
|
+
</td>
|
48
|
+
|
49
|
+
<td kw:d="if not @album.root?" width="20%" align="right">
|
50
|
+
<a href="@{@album.relroot_with_prefix}@index.html" title="Up to top"><img kw:d="mark:topgif"
|
51
|
+
src="../res/top.gif" border="0" alt="Top"/></a>
|
52
|
+
|
53
|
+
<a title="Up to album" href="../index.html"><img kw:d="mark:upgif"
|
54
|
+
src="../res/up.gif" border="0" alt="Up"/></a>
|
55
|
+
|
56
|
+
</td>
|
57
|
+
|
58
|
+
</tr>
|
59
|
+
</table>
|
60
|
+
<!-- End header table -->
|
61
|
+
</td>
|
62
|
+
</tr>
|
63
|
+
|
64
|
+
<!-- thumbnails header table -->
|
65
|
+
<tr kw:d="if @album.leaves.length>0">
|
66
|
+
<td>
|
67
|
+
<!-- begin thumbnails header table -->
|
68
|
+
<table width="100%"
|
69
|
+
border="0" cellspacing="0" cellpadding="3">
|
70
|
+
<tr>
|
71
|
+
<td class="album_section" align="left">@{@resource.thumbnails}@</td>
|
72
|
+
</tr>
|
73
|
+
</table>
|
74
|
+
<!-- end thumbnails header table -->
|
75
|
+
</td>
|
76
|
+
</tr>
|
77
|
+
|
78
|
+
<!-- thumbnails body -->
|
79
|
+
<tr kw:d="if @album.leaves.length>0">
|
80
|
+
<td align="center">
|
81
|
+
<!-- begin thumbnail table -->
|
82
|
+
<table id="mark:thumbnails_table" class="album_thumbnails_table">
|
83
|
+
|
84
|
+
<tr id="mark:thumbnail_image_row"
|
85
|
+
class="album_thumbnail_image_row">
|
86
|
+
<td id="mark:thumbnail_image"
|
87
|
+
class="album_thumbnail_image">
|
88
|
+
<a href="@{photo.defaultImageFile.pageurl}@"
|
89
|
+
title="@{photo.name}@"><img kw:d="mark:thumb_image"
|
90
|
+
src="../res_preview/thumb_image.jpg"
|
91
|
+
alt="Giovanni Ferro - @{photo.name}@"
|
92
|
+
border="0"/></a>
|
93
|
+
</td>
|
94
|
+
</tr>
|
95
|
+
|
96
|
+
<tr id="mark:thumbnail_title_row" class="album_thumbnail_title_row">
|
97
|
+
<td id="mark:thumbnail_title" class="album_thumbnail_title">
|
98
|
+
@{photo.name}@
|
99
|
+
</td>
|
100
|
+
</tr>
|
101
|
+
|
102
|
+
</table>
|
103
|
+
<!-- end thumbnail table -->
|
104
|
+
</td>
|
105
|
+
</tr>
|
106
|
+
|
107
|
+
<!-- subalbums header -->
|
108
|
+
<tr kw:d="if @album.childs.length>0">
|
109
|
+
<td>
|
110
|
+
<!-- begin subalbums header table -->
|
111
|
+
<table width="100%"
|
112
|
+
border="0" cellspacing="0" cellpadding="3">
|
113
|
+
<tr>
|
114
|
+
<td class="album_section" align="left">@{@resource.subalbums}@</td>
|
115
|
+
</tr>
|
116
|
+
</table>
|
117
|
+
<!-- end header table -->
|
118
|
+
</td>
|
119
|
+
</tr>
|
120
|
+
|
121
|
+
<!-- sub-albums body -->
|
122
|
+
<tr kw:d="if @album.childs.length>0">
|
123
|
+
<td>
|
124
|
+
<!-- begin sub-album table -->
|
125
|
+
<table width="100%"
|
126
|
+
border="0" cellspacing="5" cellpadding="2">
|
127
|
+
|
128
|
+
<tr id="mark:subalbums_row">
|
129
|
+
|
130
|
+
<td class="album_subalbum_image">
|
131
|
+
<a href="@{subalbum.pageurl}@"
|
132
|
+
title="@{subalbum.name}@"><img kw:d="mark:thumb_subalbum"
|
133
|
+
src="../res_preview/thumb_subalbum.jpg"
|
134
|
+
alt="@{subalbum.defaultImagePool.name}@"
|
135
|
+
border="1"/></a>
|
136
|
+
</td>
|
137
|
+
<td>
|
138
|
+
<a href="@{subalbum.pageurl}@">@{subalbum.name}@</a>
|
139
|
+
<br/>
|
140
|
+
@{subalbum.nr_leaves}@ photos
|
141
|
+
<span kw:d="if subalbum.nr_childs>0">
|
142
|
+
, @{subalbum.nr_childs}@ sub-albums
|
143
|
+
</span>
|
144
|
+
<br/>
|
145
|
+
@{subalbum.description}@
|
146
|
+
</td>
|
147
|
+
|
148
|
+
</tr>
|
149
|
+
|
150
|
+
</table>
|
151
|
+
<!-- end sub-album table -->
|
152
|
+
</td>
|
153
|
+
</tr>
|
154
|
+
|
155
|
+
</table>
|
156
|
+
|
157
|
+
<div id="replace_element_with_element:page_footer" style="text-align:center; border: solid 1px black;">Page footer</div>
|
158
|
+
|
159
|
+
</body>
|
160
|
+
</html>
|
161
|
+
|
@@ -0,0 +1,127 @@
|
|
1
|
+
#stylesheet1 {
|
2
|
+
attrs: 'href' "#{@album.relroot}res/style1.css";
|
3
|
+
}
|
4
|
+
|
5
|
+
#stylesheet2 {
|
6
|
+
attrs: 'href' "#{@album.relroot}res/style2.css";
|
7
|
+
}
|
8
|
+
|
9
|
+
#styleswitcher {
|
10
|
+
attrs: 'src' "#{@album.relroot}res/styleswitcher.js";
|
11
|
+
}
|
12
|
+
|
13
|
+
#prototype {
|
14
|
+
attrs: 'src' "#{@album.relroot}res/prototype.js";
|
15
|
+
}
|
16
|
+
|
17
|
+
#topgif {
|
18
|
+
attrs: 'src' "#{@album.relroot}res/top.gif";
|
19
|
+
}
|
20
|
+
|
21
|
+
#upgif {
|
22
|
+
attrs: 'src' "#{@album.relroot}res/up.gif";
|
23
|
+
}
|
24
|
+
|
25
|
+
#valid_xhtml_png {
|
26
|
+
attrs: 'src' "#{@album.relroot}res/valid-xhtml.png";
|
27
|
+
}
|
28
|
+
|
29
|
+
#valid_css_png {
|
30
|
+
attrs: 'src' "#{@album.relroot}res/valid-css.png";
|
31
|
+
}
|
32
|
+
|
33
|
+
#thumb_image {
|
34
|
+
attrs: 'src' "#{@album.relroot + photo.thumb.url}";
|
35
|
+
}
|
36
|
+
|
37
|
+
#thumb_subalbum {
|
38
|
+
attrs: 'src' "#{@album.relroot + subalbum.defaultImagePool.thumb.url}";
|
39
|
+
}
|
40
|
+
|
41
|
+
#breadcrumbs {
|
42
|
+
logic: {
|
43
|
+
item_ctr = 0
|
44
|
+
for item in @album.breadcrumbs
|
45
|
+
item_ctr += 1
|
46
|
+
if item_ctr > 1
|
47
|
+
_element("arrow") # expand element marked with arrow
|
48
|
+
end
|
49
|
+
_element("item") # expand element marked with item
|
50
|
+
end
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
#item {
|
55
|
+
logic: {
|
56
|
+
item_path = item[:path] # retrieve path and
|
57
|
+
item_title = item[:title] # title from a hash
|
58
|
+
if item_path.nil? # if path is null then
|
59
|
+
_cont # don't print <a></a>.
|
60
|
+
else
|
61
|
+
_stag
|
62
|
+
_cont
|
63
|
+
_etag
|
64
|
+
end
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
#thumbnails_table {
|
69
|
+
logic: {
|
70
|
+
_stag
|
71
|
+
start_pos = 1
|
72
|
+
while start_pos <= @album.leaves.length
|
73
|
+
idx = start_pos
|
74
|
+
_element("thumbnail_image_row")
|
75
|
+
idx = start_pos
|
76
|
+
_element("thumbnail_title_row")
|
77
|
+
start_pos += 7
|
78
|
+
end
|
79
|
+
_etag
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
#thumbnail_image_row {
|
84
|
+
logic: {
|
85
|
+
_stag
|
86
|
+
while idx <= @album.leaves.length && idx % 7 != 0
|
87
|
+
photo = @album.leaves[ idx-1 ]
|
88
|
+
_cont
|
89
|
+
idx += 1
|
90
|
+
end
|
91
|
+
_etag
|
92
|
+
}
|
93
|
+
}
|
94
|
+
|
95
|
+
#thumbnail_title_row {
|
96
|
+
logic: {
|
97
|
+
_stag
|
98
|
+
while idx <= @album.leaves.length && idx % 7 != 0
|
99
|
+
photo = @album.leaves[ idx-1 ]
|
100
|
+
_cont
|
101
|
+
idx += 1
|
102
|
+
end
|
103
|
+
_etag
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
|
108
|
+
#subalbums_row {
|
109
|
+
logic: {
|
110
|
+
col = 1
|
111
|
+
for subalbum in @album.childs
|
112
|
+
if col == 1
|
113
|
+
_stag
|
114
|
+
end
|
115
|
+
|
116
|
+
_cont;
|
117
|
+
col += 1
|
118
|
+
if col == 3
|
119
|
+
col = 1
|
120
|
+
_etag
|
121
|
+
end
|
122
|
+
end
|
123
|
+
if col != 1
|
124
|
+
_etag
|
125
|
+
end
|
126
|
+
}
|
127
|
+
}
|
@@ -0,0 +1,91 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
<html kw:d="set pagename='albums'">
|
3
|
+
<head kw:d="set language=nil">
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
|
5
|
+
<title>Giovanni Ferro - @{@image.name}@</title>
|
6
|
+
<meta name="Description" content="Giovanni Ferro photos"/>
|
7
|
+
<meta name="keywords" content="Giovanni Ferro,photo,pictures,digital photography"/>
|
8
|
+
<link kw:d="mark:stylesheet1" rel="stylesheet" type="text/css" href="../res/style1.css" media="screen" title="style1"/>
|
9
|
+
<link kw:d="mark:stylesheet2" rel="alternate stylesheet" type="text/css" href="../res/style2.css" media="screen" title="style2"/>
|
10
|
+
<script kw:d="mark:prototype" type="text/javascript" src="../res/prototype.js"></script>
|
11
|
+
<script kw:d="mark:styleswitcher" type="text/javascript" src="../res/styleswitcher.js"></script>
|
12
|
+
</head>
|
13
|
+
<body>
|
14
|
+
|
15
|
+
<div id="replace_element_with_element:menu_top" style="text-align:center; border: solid 1px black;">Menu del sito</div>
|
16
|
+
|
17
|
+
<table class="maintable" align="center"
|
18
|
+
border="0" cellspacing="0" cellpadding="0">
|
19
|
+
|
20
|
+
<!-- Breadcrumbs or Trail -->
|
21
|
+
<tr>
|
22
|
+
<td class="album_breadcrumbs">
|
23
|
+
<span id="mark:breadcrumbs">
|
24
|
+
<a class="album_treepath" id="mark:item" href="@{@image.relroot + item_path}@">
|
25
|
+
<span kw:d="value item_title">Home</span>
|
26
|
+
</a>
|
27
|
+
<span id="mark:arrow" class="album_treepathdots">::</span>
|
28
|
+
</span>
|
29
|
+
</td>
|
30
|
+
<td class="album_breadcrumbs" align="right">
|
31
|
+
@{@image.name}@
|
32
|
+
</td>
|
33
|
+
</tr>
|
34
|
+
|
35
|
+
<!-- description + navigation buttons -->
|
36
|
+
<tr>
|
37
|
+
<td>
|
38
|
+
@{@image.description}@
|
39
|
+
</td>
|
40
|
+
<td align="right" valign="top" width="30%" nowrap="nowrap">
|
41
|
+
|
42
|
+
<span id="nav_buttons">
|
43
|
+
<a href="@{@image.relroot_with_prefix}@index.html" title="Up to top"><img kw:d="mark:topgif"
|
44
|
+
src="../res/top.gif" border="0" alt="Top"/></a>
|
45
|
+
|
46
|
+
<a title="Up to album" href="index.html"><img kw:d="mark: upgif"
|
47
|
+
src="../res/up.gif" border="0" alt="Up"/></a>
|
48
|
+
|
49
|
+
<a kw:d="if @image.prev_pageurl!=nil" title="Prev photo" href="@{@image.prev_pageurl}@"><img kw:d="mark:leftgif"
|
50
|
+
src="../res/left.gif" border="0" alt="Prev"/></a>
|
51
|
+
<a kw:d="if @image.next_pageurl!=nil" title="Next photo" href="@{@image.next_pageurl}@"><img kw:d="mark:rightgif"
|
52
|
+
src="../res/right.gif" border="0" alt="Next"/></a>
|
53
|
+
</span>
|
54
|
+
|
55
|
+
</td>
|
56
|
+
</tr>
|
57
|
+
|
58
|
+
<!-- image -->
|
59
|
+
<tr>
|
60
|
+
<td colspan="2" align="center">
|
61
|
+
<a href="@{@image.relroot + @image.url}@"><img kw:d="mark:image" border="0"
|
62
|
+
src="../res_preview/image.jpg"
|
63
|
+
alt="Giovanni Ferro - @{@image.name}@"/></a>
|
64
|
+
</td>
|
65
|
+
</tr>
|
66
|
+
|
67
|
+
<!-- image footer -->
|
68
|
+
<tr>
|
69
|
+
<td colspan="2">
|
70
|
+
<table width="100%">
|
71
|
+
<tr>
|
72
|
+
<td align="left" class="small">
|
73
|
+
@{@image.size}@K JPEG image,
|
74
|
+
@{@image.width}@X@{@image.height}@ pixels
|
75
|
+
</td>
|
76
|
+
<td align="right">
|
77
|
+
<span id="replace_element_with_element:nav_buttons"> Buttons </span>
|
78
|
+
</td>
|
79
|
+
</tr>
|
80
|
+
</table>
|
81
|
+
</td>
|
82
|
+
</tr>
|
83
|
+
|
84
|
+
</table>
|
85
|
+
|
86
|
+
<div id="replace_element_with_element:page_footer" style="text-align:center; border: solid 1px black;">Page footer</div>
|
87
|
+
|
88
|
+
</body>
|
89
|
+
</html>
|
90
|
+
|
91
|
+
|
@@ -0,0 +1,70 @@
|
|
1
|
+
#stylesheet1 {
|
2
|
+
attrs: 'href' "#{@image.relroot}res/style1.css";
|
3
|
+
}
|
4
|
+
|
5
|
+
#stylesheet2 {
|
6
|
+
attrs: 'href' "#{@image.relroot}res/style2.css";
|
7
|
+
}
|
8
|
+
|
9
|
+
#styleswitcher {
|
10
|
+
attrs: 'src' "#{@image.relroot}res/styleswitcher.js";
|
11
|
+
}
|
12
|
+
|
13
|
+
#prototype {
|
14
|
+
attrs: 'src' "#{@image.relroot}res/prototype.js";
|
15
|
+
}
|
16
|
+
|
17
|
+
#topgif {
|
18
|
+
attrs: 'src' "#{@image.relroot}res/top.gif";
|
19
|
+
}
|
20
|
+
|
21
|
+
#upgif {
|
22
|
+
attrs: 'src' "#{@image.relroot}res/up.gif";
|
23
|
+
}
|
24
|
+
|
25
|
+
#leftgif {
|
26
|
+
attrs: 'src' "#{@image.relroot}res/left.gif";
|
27
|
+
}
|
28
|
+
|
29
|
+
#rightgif {
|
30
|
+
attrs: 'src' "#{@image.relroot}res/right.gif";
|
31
|
+
}
|
32
|
+
|
33
|
+
#valid_xhtml_png {
|
34
|
+
attrs: 'src' "#{@image.relroot}res/valid-xhtml.png";
|
35
|
+
}
|
36
|
+
|
37
|
+
#valid_css_png {
|
38
|
+
attrs: 'src' "#{@image.relroot}res/valid-css.png";
|
39
|
+
}
|
40
|
+
|
41
|
+
#image {
|
42
|
+
attrs: 'src' "#{@image.relroot + @image.url}";
|
43
|
+
}
|
44
|
+
|
45
|
+
#breadcrumbs {
|
46
|
+
logic: {
|
47
|
+
item_ctr = 0
|
48
|
+
for item in @image.breadcrumbs
|
49
|
+
item_ctr += 1
|
50
|
+
if item_ctr > 1
|
51
|
+
_element("arrow") # expand element marked with arrow
|
52
|
+
end
|
53
|
+
_element("item") # expand element marked with item
|
54
|
+
end
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
#item {
|
59
|
+
logic: {
|
60
|
+
item_path = item[:path] # retrieve path and
|
61
|
+
item_title = item[:title] # title from a hash
|
62
|
+
if item_path.nil? # if path is null then
|
63
|
+
_cont # don't print <a></a>
|
64
|
+
else
|
65
|
+
_stag
|
66
|
+
_cont
|
67
|
+
_etag
|
68
|
+
end
|
69
|
+
}
|
70
|
+
}
|