pullentity-client 0.1.3 → 0.3.0
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.
- checksums.yaml +8 -8
- data/CHANGELOG.md +2 -0
- data/README.md +1 -1
- data/lib/pullentity-client/cli.rb +1 -1
- data/lib/pullentity-client/generate/auth.rb +32 -18
- data/lib/pullentity-client/generate/exporter.rb +14 -2
- data/lib/pullentity-client/generate/theme.rb +3 -3
- data/lib/pullentity-client/templates/app/assets/javascripts/application.js.erb +2 -1
- data/lib/pullentity-client/templates/app/assets/javascripts/config.js.erb +6 -0
- data/lib/pullentity-client/templates/app/assets/stylesheets/customtheme.css.scss +14 -8
- data/lib/pullentity-client/templates/app/index.html.haml +5 -3
- data/lib/pullentity-client/templates/app/views/list.haml +6 -6
- data/lib/pullentity-client/templates/app/views/shared/body.haml +5 -5
- data/lib/pullentity-client/templates/app/views/shared/head.haml +1 -9
- data/lib/pullentity-client/templates/app/views/shared/js.haml +0 -3
- data/lib/pullentity-client/templates/app/views/themes/home.haml +0 -1
- data/lib/pullentity-client/templates/app/views/themes/list-2.haml +13 -0
- data/lib/pullentity-client/templates/app/views/themes/theme1.haml +7 -8
- data/lib/pullentity-client/version.rb +1 -1
- data/spec/pullentity-client/generate/exporter_spec.rb +3 -3
- data/vendor/.DS_Store +0 -0
- data/vendor/assets/javascripts/{pullentity → backbone}/.DS_Store +0 -0
- data/vendor/assets/javascripts/backbone/backbone.js +1571 -0
- data/vendor/assets/javascripts/backbone/underscore.js +1227 -0
- data/vendor/assets/javascripts/bootstrap.js +1964 -0
- data/vendor/assets/javascripts/bootstrap.min.js +6 -0
- data/vendor/assets/javascripts/galleria/LICENSE +21 -0
- data/vendor/assets/javascripts/galleria/galleria-1.2.9.js +6121 -0
- data/vendor/assets/javascripts/galleria/galleria-1.2.9.min.js +9 -0
- data/vendor/assets/javascripts/galleria/plugins/flickr/flickr-demo.html +62 -0
- data/vendor/assets/javascripts/galleria/plugins/flickr/flickr-loader.gif +0 -0
- data/vendor/assets/javascripts/galleria/plugins/flickr/galleria.flickr.js +383 -0
- data/vendor/assets/javascripts/galleria/plugins/flickr/galleria.flickr.min.js +8 -0
- data/vendor/assets/javascripts/galleria/plugins/flickr/loader.gif +0 -0
- data/vendor/assets/javascripts/galleria/plugins/history/galleria.history.js +146 -0
- data/vendor/assets/javascripts/galleria/plugins/history/galleria.history.min.js +8 -0
- data/vendor/assets/javascripts/galleria/plugins/history/history-demo.html +100 -0
- data/vendor/assets/javascripts/galleria/plugins/picasa/galleria.picasa.js +320 -0
- data/vendor/assets/javascripts/galleria/plugins/picasa/galleria.picasa.min.js +8 -0
- data/vendor/assets/javascripts/galleria/plugins/picasa/loader.gif +0 -0
- data/vendor/assets/javascripts/galleria/plugins/picasa/picasa-demo.html +55 -0
- data/vendor/assets/javascripts/galleria/themes/classic/classic-demo.html +124 -0
- data/vendor/assets/javascripts/galleria/themes/classic/classic-loader.gif +0 -0
- data/vendor/assets/javascripts/galleria/themes/classic/classic-map.png +0 -0
- data/vendor/assets/javascripts/galleria/themes/classic/galleria.classic.css +220 -0
- data/vendor/assets/javascripts/galleria/themes/classic/galleria.classic.js +95 -0
- data/vendor/assets/javascripts/galleria/themes/classic/galleria.classic.min.js +8 -0
- data/vendor/assets/javascripts/handlebars.js +2278 -0
- data/vendor/assets/javascripts/jquery.infinite-scroll.min.js +1 -0
- data/vendor/assets/javascripts/jquery.isotope.min.js +11 -0
- data/vendor/assets/javascripts/jquery.loadimage.js +3 -0
- data/vendor/assets/javascripts/jquery.masonry.min.js +10 -0
- data/vendor/assets/javascripts/jquery.waitforimages.js +4 -0
- data/vendor/assets/javascripts/pullentity-backbone/.DS_Store +0 -0
- data/vendor/assets/javascripts/pullentity-backbone/app/helpers/app_helper.js.coffee +12 -0
- data/vendor/assets/javascripts/pullentity-backbone/app/models/project.js.coffee +11 -0
- data/vendor/assets/javascripts/pullentity-backbone/app/models/section.js.coffee +13 -0
- data/vendor/assets/javascripts/pullentity-backbone/app/models/site.js.coffee +7 -0
- data/vendor/assets/javascripts/pullentity-backbone/app/routers/router.coffee +7 -0
- data/vendor/assets/javascripts/pullentity-backbone/app/site.js.coffee +33 -0
- data/vendor/assets/javascripts/pullentity-backbone/app/views/main.js.coffee +123 -0
- data/vendor/assets/javascripts/pullentity-backbone/application.js.coffee +8 -0
- data/vendor/assets/javascripts/pullentity.js +3 -0
- data/vendor/assets/stylesheets/bootstrap.css +4677 -0
- data/vendor/assets/stylesheets/bootstrap.min.css +9 -0
- data/vendor/assets/stylesheets/galleria/LICENSE +21 -0
- data/vendor/assets/stylesheets/galleria/galleria-1.2.9.js +6121 -0
- data/vendor/assets/stylesheets/galleria/galleria-1.2.9.min.js +9 -0
- data/vendor/assets/stylesheets/galleria/plugins/flickr/flickr-demo.html +62 -0
- data/vendor/assets/stylesheets/galleria/plugins/flickr/flickr-loader.gif +0 -0
- data/vendor/assets/stylesheets/galleria/plugins/flickr/galleria.flickr.js +383 -0
- data/vendor/assets/stylesheets/galleria/plugins/flickr/galleria.flickr.min.js +8 -0
- data/vendor/assets/stylesheets/galleria/plugins/flickr/loader.gif +0 -0
- data/vendor/assets/stylesheets/galleria/plugins/history/galleria.history.js +146 -0
- data/vendor/assets/stylesheets/galleria/plugins/history/galleria.history.min.js +8 -0
- data/vendor/assets/stylesheets/galleria/plugins/history/history-demo.html +100 -0
- data/vendor/assets/stylesheets/galleria/plugins/picasa/galleria.picasa.js +320 -0
- data/vendor/assets/stylesheets/galleria/plugins/picasa/galleria.picasa.min.js +8 -0
- data/vendor/assets/stylesheets/galleria/plugins/picasa/loader.gif +0 -0
- data/vendor/assets/stylesheets/galleria/plugins/picasa/picasa-demo.html +55 -0
- data/vendor/assets/stylesheets/galleria/themes/classic/classic-demo.html +124 -0
- data/vendor/assets/stylesheets/galleria/themes/classic/classic-loader.gif +0 -0
- data/vendor/assets/stylesheets/galleria/themes/classic/classic-map-original.png +0 -0
- data/vendor/assets/stylesheets/galleria/themes/classic/galleria.classic.css +217 -0
- data/vendor/assets/stylesheets/galleria/themes/classic/galleria.classic.js +95 -0
- data/vendor/assets/stylesheets/galleria/themes/classic/galleria.classic.min.js +8 -0
- metadata +70 -8
- data/lib/pullentity-client/templates/defaults/test-data.js.erb +0 -193
- data/vendor/assets/javascripts/mustache.js +0 -535
- data/vendor/assets/javascripts/pullentity/development.js.coffee +0 -222
- data/vendor/assets/javascripts/pullentity.js.erb +0 -3
- data/vendor/assets/javascripts/underscore-min.js +0 -1
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Galleria History Plugin 2012-04-04
|
|
3
|
+
* http://galleria.io
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the MIT license
|
|
6
|
+
* https://raw.github.com/aino/galleria/master/LICENSE
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
(function( $, window ) {
|
|
11
|
+
|
|
12
|
+
/*global jQuery, Galleria, window */
|
|
13
|
+
|
|
14
|
+
Galleria.requires(1.25, 'The History Plugin requires Galleria version 1.2.5 or later.');
|
|
15
|
+
|
|
16
|
+
Galleria.History = (function() {
|
|
17
|
+
|
|
18
|
+
var onloads = [],
|
|
19
|
+
|
|
20
|
+
init = false,
|
|
21
|
+
|
|
22
|
+
loc = window.location,
|
|
23
|
+
|
|
24
|
+
doc = window.document,
|
|
25
|
+
|
|
26
|
+
ie = Galleria.IE,
|
|
27
|
+
|
|
28
|
+
support = 'onhashchange' in window && ( doc.mode === undefined || doc.mode > 7 ),
|
|
29
|
+
|
|
30
|
+
iframe,
|
|
31
|
+
|
|
32
|
+
get = function( winloc ) {
|
|
33
|
+
if( iframe && !support && Galleria.IE ) {
|
|
34
|
+
winloc = winloc || iframe.location;
|
|
35
|
+
} else {
|
|
36
|
+
winloc = loc;
|
|
37
|
+
}
|
|
38
|
+
return parseInt( winloc.hash.substr(2), 10 );
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
saved = get( loc ),
|
|
42
|
+
|
|
43
|
+
callbacks = [],
|
|
44
|
+
|
|
45
|
+
onchange = function() {
|
|
46
|
+
$.each( callbacks, function( i, fn ) {
|
|
47
|
+
fn.call( window, get() );
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
ready = function() {
|
|
52
|
+
$.each( onloads, function(i, fn) {
|
|
53
|
+
fn();
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
init = true;
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
setHash = function( val ) {
|
|
60
|
+
return '/' + val;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
// always remove support if IE < 8
|
|
64
|
+
if ( support && ie < 8 ) {
|
|
65
|
+
support = false;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if ( !support ) {
|
|
69
|
+
|
|
70
|
+
$(function() {
|
|
71
|
+
|
|
72
|
+
var interval = window.setInterval(function() {
|
|
73
|
+
|
|
74
|
+
var hash = get();
|
|
75
|
+
|
|
76
|
+
if ( !isNaN( hash ) && hash != saved ) {
|
|
77
|
+
saved = hash;
|
|
78
|
+
loc.hash = setHash( hash );
|
|
79
|
+
onchange();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
}, 50);
|
|
83
|
+
|
|
84
|
+
if ( ie ) {
|
|
85
|
+
|
|
86
|
+
$('<iframe tabindex="-1" title="empty">').hide().attr( 'src', 'about:blank' ).one('load', function() {
|
|
87
|
+
|
|
88
|
+
iframe = this.contentWindow;
|
|
89
|
+
|
|
90
|
+
ready();
|
|
91
|
+
|
|
92
|
+
}).insertAfter(doc.body);
|
|
93
|
+
|
|
94
|
+
} else {
|
|
95
|
+
ready();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
} else {
|
|
99
|
+
ready();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return {
|
|
103
|
+
|
|
104
|
+
change: function( fn ) {
|
|
105
|
+
|
|
106
|
+
callbacks.push( fn );
|
|
107
|
+
|
|
108
|
+
if( support ) {
|
|
109
|
+
window.onhashchange = onchange;
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
|
|
113
|
+
set: function( val ) {
|
|
114
|
+
|
|
115
|
+
if ( isNaN( val ) ) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if ( !support && ie ) {
|
|
120
|
+
|
|
121
|
+
this.ready(function() {
|
|
122
|
+
|
|
123
|
+
var idoc = iframe.document;
|
|
124
|
+
idoc.open();
|
|
125
|
+
idoc.close();
|
|
126
|
+
|
|
127
|
+
iframe.location.hash = setHash( val );
|
|
128
|
+
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
loc.hash = setHash( val );
|
|
133
|
+
},
|
|
134
|
+
|
|
135
|
+
ready: function(fn) {
|
|
136
|
+
if (!init) {
|
|
137
|
+
onloads.push(fn);
|
|
138
|
+
} else {
|
|
139
|
+
fn();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
}());
|
|
144
|
+
|
|
145
|
+
}( jQuery, this ));
|
|
146
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Galleria History Plugin 2012-04-04
|
|
3
|
+
* http://galleria.io
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the MIT license
|
|
6
|
+
* https://raw.github.com/aino/galleria/master/LICENSE
|
|
7
|
+
*
|
|
8
|
+
*/(function(a,b){Galleria.requires(1.25,"The History Plugin requires Galleria version 1.2.5 or later."),Galleria.History=function(){var c=[],d=!1,e=b.location,f=b.document,g=Galleria.IE,h="onhashchange"in b&&(f.mode===undefined||f.mode>7),i,j=function(a){return i&&!h&&Galleria.IE?a=a||i.location:a=e,parseInt(a.hash.substr(2),10)},k=j(e),l=[],m=function(){a.each(l,function(a,c){c.call(b,j())})},n=function(){a.each(c,function(a,b){b()}),d=!0},o=function(a){return"/"+a};return h&&g<8&&(h=!1),h?n():a(function(){var c=b.setInterval(function(){var a=j();!isNaN(a)&&a!=k&&(k=a,e.hash=o(a),m())},50);g?a('<iframe tabindex="-1" title="empty">').hide().attr("src","about:blank").one("load",function(){i=this.contentWindow,n()}).insertAfter(f.body):n()}),{change:function(a){l.push(a),h&&(b.onhashchange=m)},set:function(a){if(isNaN(a))return;!h&&g&&this.ready(function(){var b=i.document;b.open(),b.close(),i.location.hash=o(a)}),e.hash=o(a)},ready:function(a){d?a():c.push(a)}}}()})(jQuery,this);
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<title>Galleria History Plugin</title>
|
|
6
|
+
<style>
|
|
7
|
+
|
|
8
|
+
/* Demo styles */
|
|
9
|
+
html,body{background:#222;margin:0;}
|
|
10
|
+
body{border-top:4px solid #000;}
|
|
11
|
+
.content{color:#777;font:12px/1.4 "helvetica neue",arial,sans-serif;width:620px;margin:20px auto;}
|
|
12
|
+
h1{font-size:12px;font-weight:normal;color:#ddd;margin:0;}
|
|
13
|
+
p{margin:0 0 20px}
|
|
14
|
+
a {color:#22BCB9;text-decoration:none;}
|
|
15
|
+
.cred{margin-top:20px;font-size:11px;}
|
|
16
|
+
|
|
17
|
+
/* This rule is read by Galleria to define the gallery height: */
|
|
18
|
+
#galleria{height:320px}
|
|
19
|
+
|
|
20
|
+
</style>
|
|
21
|
+
|
|
22
|
+
<!-- load jQuery -->
|
|
23
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
|
|
24
|
+
|
|
25
|
+
<!-- load Galleria -->
|
|
26
|
+
<script src="../../galleria-1.2.9.min.js"></script>
|
|
27
|
+
|
|
28
|
+
<!-- load the History plugin, no need for further scripting -->
|
|
29
|
+
<script src="galleria.history.min.js"></script>
|
|
30
|
+
|
|
31
|
+
</head>
|
|
32
|
+
<body>
|
|
33
|
+
<div class="content">
|
|
34
|
+
<h1>Galleria History Plugin</h1>
|
|
35
|
+
<p>Demonstrating a basic history example. Supports most browsers, including FF 3.0+ and IE 7+</p>
|
|
36
|
+
|
|
37
|
+
<!-- Adding gallery images. We use resized thumbnails here for better performance, but it’s not necessary -->
|
|
38
|
+
|
|
39
|
+
<div id="galleria">
|
|
40
|
+
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/34/Locomotives-Roundhouse2.jpg/800px-Locomotives-Roundhouse2.jpg">
|
|
41
|
+
<img title="Locomotives Roundhouse"
|
|
42
|
+
alt="Steam locomotives of the Chicago & North Western Railway."
|
|
43
|
+
src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/34/Locomotives-Roundhouse2.jpg/100px-Locomotives-Roundhouse2.jpg">
|
|
44
|
+
</a>
|
|
45
|
+
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Icebergs_in_the_High_Arctic_-_20050907.jpg/1000px-Icebergs_in_the_High_Arctic_-_20050907.jpg">
|
|
46
|
+
<img title="Icebergs in the High Arctic"
|
|
47
|
+
alt="”The debris loading isn't particularly extensive, but the color is usual.”"
|
|
48
|
+
src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Icebergs_in_the_High_Arctic_-_20050907.jpg/100px-Icebergs_in_the_High_Arctic_-_20050907.jpg">
|
|
49
|
+
</a>
|
|
50
|
+
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Ara%C3%B1a._A_Estrada%2C_Galiza._02.jpg/1000px-Ara%C3%B1a._A_Estrada%2C_Galiza._02.jpg">
|
|
51
|
+
<img title="Araña"
|
|
52
|
+
alt="Xysticus cristatus, A Estrada, Galicia, Spain"
|
|
53
|
+
src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Ara%C3%B1a._A_Estrada%2C_Galiza._02.jpg/100px-Ara%C3%B1a._A_Estrada%2C_Galiza._02.jpg">
|
|
54
|
+
</a>
|
|
55
|
+
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/9104_-_Milano_-_Museo_storia_naturale_-_Fluorite_-_Foto_Giovanni_Dall%27Orto_22-Apr-2007.jpg/1000px-9104_-_Milano_-_Museo_storia_naturale_-_Fluorite_-_Foto_Giovanni_Dall%27Orto_22-Apr-2007.jpg">
|
|
56
|
+
<img title="Museo storia naturale"
|
|
57
|
+
src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/9104_-_Milano_-_Museo_storia_naturale_-_Fluorite_-_Foto_Giovanni_Dall%27Orto_22-Apr-2007.jpg/100px-9104_-_Milano_-_Museo_storia_naturale_-_Fluorite_-_Foto_Giovanni_Dall%27Orto_22-Apr-2007.jpg">
|
|
58
|
+
</a>
|
|
59
|
+
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/1/15/Grj%C3%B3tagj%C3%A1_caves_in_summer_2009_%282%29.jpg/1000px-Grj%C3%B3tagj%C3%A1_caves_in_summer_2009_%282%29.jpg">
|
|
60
|
+
<img title="Grjótagjá caves in summer 2009"
|
|
61
|
+
src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/15/Grj%C3%B3tagj%C3%A1_caves_in_summer_2009_%282%29.jpg/100px-Grj%C3%B3tagj%C3%A1_caves_in_summer_2009_%282%29.jpg">
|
|
62
|
+
</a>
|
|
63
|
+
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/9/90/20091128_Loutra_Thermes_Xanthi_Thrace_Greece_2.jpg/1000px-20091128_Loutra_Thermes_Xanthi_Thrace_Greece_2.jpg">
|
|
64
|
+
<img title="Thermes"
|
|
65
|
+
alt="Xanthi hot-spa springs, Xanthi Prefecture, Greece"
|
|
66
|
+
src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/90/20091128_Loutra_Thermes_Xanthi_Thrace_Greece_2.jpg/100px-20091128_Loutra_Thermes_Xanthi_Thrace_Greece_2.jpg">
|
|
67
|
+
</a>
|
|
68
|
+
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Polish_Army_Ko%C5%82obrzeg_077.JPG/1024px-Polish_Army_Ko%C5%82obrzeg_077.JPG">
|
|
69
|
+
<img title="Polish Army Kołobrzeg"
|
|
70
|
+
alt="A display of the Polish Army. Both the soldier, and the vehicle belong to the 7th Pomeranian Coastal Defence Brigade, a part of the Szczecin-based 12th Mechanized Division ”Bolesław Krzywousty”"
|
|
71
|
+
src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Polish_Army_Ko%C5%82obrzeg_077.JPG/100px-Polish_Army_Ko%C5%82obrzeg_077.JPG">
|
|
72
|
+
</a>
|
|
73
|
+
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/20100213_Zlatograd_Bulgaria_3.jpg/1024px-20100213_Zlatograd_Bulgaria_3.jpg">
|
|
74
|
+
<img title="Zlatograd Bulgaria"
|
|
75
|
+
src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/20100213_Zlatograd_Bulgaria_3.jpg/100px-20100213_Zlatograd_Bulgaria_3.jpg">
|
|
76
|
+
</a>
|
|
77
|
+
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/FEMA_-_5399_-_Photograph_by_Andrea_Booher_taken_on_09-28-2001_in_New_York.jpg/1024px-FEMA_-_5399_-_Photograph_by_Andrea_Booher_taken_on_09-28-2001_in_New_York.jpg">
|
|
78
|
+
<img title="09-28-2001 in New York City"
|
|
79
|
+
alt="New York, NY, September 28, 2001 -- Debris on surrounding roofs at the site of the World Trade Center. Photo by Andrea Booher/ FEMA News Photo"
|
|
80
|
+
src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/FEMA_-_5399_-_Photograph_by_Andrea_Booher_taken_on_09-28-2001_in_New_York.jpg/100px-FEMA_-_5399_-_Photograph_by_Andrea_Booher_taken_on_09-28-2001_in_New_York.jpg">
|
|
81
|
+
</a>
|
|
82
|
+
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Antennae%2C_Hubble_images.jpg/1024px-Antennae%2C_Hubble_images.jpg">
|
|
83
|
+
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Antennae%2C_Hubble_images.jpg/100px-Antennae%2C_Hubble_images.jpg">
|
|
84
|
+
</a>
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
<p class="cred">Made by <a href="http://galleria.aino.se">Galleria</a>.</p>
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
<script>
|
|
91
|
+
|
|
92
|
+
// Load the classic theme
|
|
93
|
+
Galleria.loadTheme('../../themes/classic/galleria.classic.min.js');
|
|
94
|
+
|
|
95
|
+
// Initialize Galleria
|
|
96
|
+
Galleria.run('#galleria');
|
|
97
|
+
|
|
98
|
+
</script>
|
|
99
|
+
</body>
|
|
100
|
+
</html>
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Galleria Picasa Plugin 2012-04-04
|
|
3
|
+
* http://galleria.io
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the MIT license
|
|
6
|
+
* https://raw.github.com/aino/galleria/master/LICENSE
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
(function($) {
|
|
11
|
+
|
|
12
|
+
/*global jQuery, Galleria, window */
|
|
13
|
+
|
|
14
|
+
Galleria.requires(1.25, 'The Picasa Plugin requires Galleria version 1.2.5 or later.');
|
|
15
|
+
|
|
16
|
+
// The script path
|
|
17
|
+
var PATH = Galleria.utils.getScriptPath();
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
|
|
21
|
+
@class
|
|
22
|
+
@constructor
|
|
23
|
+
|
|
24
|
+
@example var picasa = new Galleria.Picasa();
|
|
25
|
+
|
|
26
|
+
@author http://aino.se
|
|
27
|
+
|
|
28
|
+
@requires jQuery
|
|
29
|
+
@requires Galleria
|
|
30
|
+
|
|
31
|
+
@returns Instance
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
Galleria.Picasa = function() {
|
|
35
|
+
|
|
36
|
+
this.options = {
|
|
37
|
+
max: 30, // photos to return
|
|
38
|
+
imageSize: 'medium', // photo size ( thumb,small,medium,big,original ) or a number
|
|
39
|
+
thumbSize: 'thumb', // thumbnail size ( thumb,small,medium,big,original ) or a number
|
|
40
|
+
complete: function(){} // callback to be called inside the Galleria.prototype.load
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
Galleria.Picasa.prototype = {
|
|
46
|
+
|
|
47
|
+
// bring back the constructor reference
|
|
48
|
+
|
|
49
|
+
constructor: Galleria.Picasa,
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
Search for anything at Picasa
|
|
53
|
+
|
|
54
|
+
@param {String} phrase The string to search for
|
|
55
|
+
@param {Function} [callback] The callback to be called when the data is ready
|
|
56
|
+
|
|
57
|
+
@returns Instance
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
search: function( phrase, callback ) {
|
|
61
|
+
return this._call( 'search', 'all', {
|
|
62
|
+
q: phrase
|
|
63
|
+
}, callback );
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
Get a user's public photos
|
|
68
|
+
|
|
69
|
+
@param {String} username The username to fetch photos from
|
|
70
|
+
@param {Function} [callback] The callback to be called when the data is ready
|
|
71
|
+
|
|
72
|
+
@returns Instance
|
|
73
|
+
*/
|
|
74
|
+
|
|
75
|
+
user: function( username, callback ) {
|
|
76
|
+
return this._call( 'user', 'user/' + username, callback );
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
Get photos from an album
|
|
81
|
+
|
|
82
|
+
@param {String} username The username that owns the album
|
|
83
|
+
@param {String} album The album ID
|
|
84
|
+
@param {Function} [callback] The callback to be called when the data is ready
|
|
85
|
+
|
|
86
|
+
@returns Instance
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
useralbum: function( username, album, callback ) {
|
|
90
|
+
return this._call( 'useralbum', 'user/' + username + '/album/' + album, callback );
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
Set picasa options
|
|
95
|
+
|
|
96
|
+
@param {Object} options The options object to blend
|
|
97
|
+
|
|
98
|
+
@returns Instance
|
|
99
|
+
*/
|
|
100
|
+
|
|
101
|
+
setOptions: function( options ) {
|
|
102
|
+
$.extend(this.options, options);
|
|
103
|
+
return this;
|
|
104
|
+
},
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
// call Picasa
|
|
108
|
+
|
|
109
|
+
_call: function( type, url, params, callback ) {
|
|
110
|
+
|
|
111
|
+
url = 'https://picasaweb.google.com/data/feed/api/' + url + '?';
|
|
112
|
+
|
|
113
|
+
if (typeof params == 'function') {
|
|
114
|
+
callback = params;
|
|
115
|
+
params = {};
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
var self = this;
|
|
119
|
+
|
|
120
|
+
params = $.extend({
|
|
121
|
+
'kind': 'photo',
|
|
122
|
+
'access': 'public',
|
|
123
|
+
'max-results': this.options.max,
|
|
124
|
+
'thumbsize': this._getSizes().join(','),
|
|
125
|
+
'alt': 'json-in-script',
|
|
126
|
+
'callback': '?'
|
|
127
|
+
}, params );
|
|
128
|
+
|
|
129
|
+
$.each(params, function( key, value ) {
|
|
130
|
+
url += '&' + key + '=' + value;
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
// since Picasa throws 404 when the call is malformed, we must set a timeout here:
|
|
134
|
+
|
|
135
|
+
var data = false;
|
|
136
|
+
|
|
137
|
+
Galleria.utils.wait({
|
|
138
|
+
until: function() {
|
|
139
|
+
return data;
|
|
140
|
+
},
|
|
141
|
+
success: function() {
|
|
142
|
+
self._parse.call( self, data.feed.entry, callback );
|
|
143
|
+
},
|
|
144
|
+
error: function() {
|
|
145
|
+
var msg = '';
|
|
146
|
+
if ( type == 'user' ) {
|
|
147
|
+
msg = 'user not found.';
|
|
148
|
+
} else if ( type == 'useralbum' ) {
|
|
149
|
+
msg = 'album or user not found.';
|
|
150
|
+
}
|
|
151
|
+
Galleria.raise('Picasa request failed' + (msg ? ': ' + msg : '.'));
|
|
152
|
+
},
|
|
153
|
+
timeout: 5000
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
$.getJSON( url, function( result ) {
|
|
157
|
+
data = result;
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
return self;
|
|
161
|
+
},
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
// parse image sizes and return an array of three
|
|
165
|
+
|
|
166
|
+
_getSizes: function() {
|
|
167
|
+
|
|
168
|
+
var self = this,
|
|
169
|
+
norm = {
|
|
170
|
+
small: '72c',
|
|
171
|
+
thumb: '104u',
|
|
172
|
+
medium: '640u',
|
|
173
|
+
big: '1024u',
|
|
174
|
+
original: '1600u'
|
|
175
|
+
},
|
|
176
|
+
op = self.options,
|
|
177
|
+
t = {},
|
|
178
|
+
n,
|
|
179
|
+
sz = [32,48,64,72,94,104,110,128,144,150,160,200,220,288,320,400,512,576,640,720,800,912,1024,1152,1280,1440,1600];
|
|
180
|
+
|
|
181
|
+
$(['thumbSize', 'imageSize']).each(function() {
|
|
182
|
+
if( op[this] in norm ) {
|
|
183
|
+
t[this] = norm[ op[this] ];
|
|
184
|
+
} else {
|
|
185
|
+
n = Galleria.utils.parseValue( op[this] );
|
|
186
|
+
if (n > 1600) {
|
|
187
|
+
n = 1600;
|
|
188
|
+
} else {
|
|
189
|
+
$.each( sz, function(i) {
|
|
190
|
+
if ( n < this ) {
|
|
191
|
+
n = sz[i-1];
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
t[this] = n;
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
return [ t.thumbSize, t.imageSize, '1280u'];
|
|
201
|
+
|
|
202
|
+
},
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
// parse the result and call the callback with the galleria-ready data array
|
|
206
|
+
|
|
207
|
+
_parse: function( data, callback ) {
|
|
208
|
+
|
|
209
|
+
var self = this,
|
|
210
|
+
gallery = [],
|
|
211
|
+
img;
|
|
212
|
+
|
|
213
|
+
$.each( data, function() {
|
|
214
|
+
|
|
215
|
+
img = this.media$group.media$thumbnail;
|
|
216
|
+
|
|
217
|
+
gallery.push({
|
|
218
|
+
thumb: img[0].url,
|
|
219
|
+
image: img[1].url,
|
|
220
|
+
big: img[2].url,
|
|
221
|
+
title: this.summary.$t
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
callback.call( this, gallery );
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
Galleria modifications
|
|
232
|
+
We fake-extend the load prototype to make Picasa integration as simple as possible
|
|
233
|
+
*/
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
// save the old prototype in a local variable
|
|
237
|
+
|
|
238
|
+
var load = Galleria.prototype.load;
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
// fake-extend the load prototype using the picasa data
|
|
242
|
+
|
|
243
|
+
Galleria.prototype.load = function() {
|
|
244
|
+
|
|
245
|
+
// pass if no data is provided or picasa option not found
|
|
246
|
+
if ( arguments.length || typeof this._options.picasa !== 'string' ) {
|
|
247
|
+
load.apply( this, Galleria.utils.array( arguments ) );
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// define some local vars
|
|
252
|
+
var self = this,
|
|
253
|
+
args = Galleria.utils.array( arguments ),
|
|
254
|
+
picasa = this._options.picasa.split(':'),
|
|
255
|
+
p,
|
|
256
|
+
opts = $.extend({}, self._options.picasaOptions),
|
|
257
|
+
loader = typeof opts.loader !== 'undefined' ?
|
|
258
|
+
opts.loader : $('<div>').css({
|
|
259
|
+
width: 48,
|
|
260
|
+
height: 48,
|
|
261
|
+
opacity: 0.7,
|
|
262
|
+
background:'#000 url('+PATH+'loader.gif) no-repeat 50% 50%'
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
if ( picasa.length ) {
|
|
266
|
+
|
|
267
|
+
// validate the method
|
|
268
|
+
if ( typeof Galleria.Picasa.prototype[ picasa[0] ] !== 'function' ) {
|
|
269
|
+
Galleria.raise( picasa[0] + ' method not found in Picasa plugin' );
|
|
270
|
+
return load.apply( this, args );
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
// validate the argument
|
|
274
|
+
if ( !picasa[1] ) {
|
|
275
|
+
Galleria.raise( 'No picasa argument found' );
|
|
276
|
+
return load.apply( this, args );
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// apply the preloader
|
|
280
|
+
window.setTimeout(function() {
|
|
281
|
+
self.$( 'target' ).append( loader );
|
|
282
|
+
},100);
|
|
283
|
+
|
|
284
|
+
// create the instance
|
|
285
|
+
p = new Galleria.Picasa();
|
|
286
|
+
|
|
287
|
+
// apply Flickr options
|
|
288
|
+
if ( typeof self._options.picasaOptions === 'object' ) {
|
|
289
|
+
p.setOptions( self._options.picasaOptions );
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// call the picasa method and trigger the DATA event
|
|
293
|
+
var arg = [];
|
|
294
|
+
if ( picasa[0] == 'useralbum' ) {
|
|
295
|
+
arg = picasa[1].split('/');
|
|
296
|
+
if (arg.length != 2) {
|
|
297
|
+
Galleria.raise( 'Picasa useralbum not correctly formatted (should be [user]/[album])');
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
} else {
|
|
301
|
+
arg.push( picasa[1] );
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
arg.push(function(data) {
|
|
305
|
+
self._data = data;
|
|
306
|
+
loader.remove();
|
|
307
|
+
self.trigger( Galleria.DATA );
|
|
308
|
+
p.options.complete.call(p, data);
|
|
309
|
+
});
|
|
310
|
+
|
|
311
|
+
p[ picasa[0] ].apply( p, arg );
|
|
312
|
+
|
|
313
|
+
} else {
|
|
314
|
+
|
|
315
|
+
// if flickr array not found, pass
|
|
316
|
+
load.apply( this, args );
|
|
317
|
+
}
|
|
318
|
+
};
|
|
319
|
+
|
|
320
|
+
}( jQuery ) );
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Galleria Picasa Plugin 2012-04-04
|
|
3
|
+
* http://galleria.io
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the MIT license
|
|
6
|
+
* https://raw.github.com/aino/galleria/master/LICENSE
|
|
7
|
+
*
|
|
8
|
+
*/(function(a){Galleria.requires(1.25,"The Picasa Plugin requires Galleria version 1.2.5 or later.");var b=Galleria.utils.getScriptPath();Galleria.Picasa=function(){this.options={max:30,imageSize:"medium",thumbSize:"thumb",complete:function(){}}},Galleria.Picasa.prototype={constructor:Galleria.Picasa,search:function(a,b){return this._call("search","all",{q:a},b)},user:function(a,b){return this._call("user","user/"+a,b)},useralbum:function(a,b,c){return this._call("useralbum","user/"+a+"/album/"+b,c)},setOptions:function(b){return a.extend(this.options,b),this},_call:function(b,c,d,e){c="https://picasaweb.google.com/data/feed/api/"+c+"?",typeof d=="function"&&(e=d,d={});var f=this;d=a.extend({kind:"photo",access:"public","max-results":this.options.max,thumbsize:this._getSizes().join(","),alt:"json-in-script",callback:"?"},d),a.each(d,function(a,b){c+="&"+a+"="+b});var g=!1;return Galleria.utils.wait({until:function(){return g},success:function(){f._parse.call(f,g.feed.entry,e)},error:function(){var a="";b=="user"?a="user not found.":b=="useralbum"&&(a="album or user not found."),Galleria.raise("Picasa request failed"+(a?": "+a:"."))},timeout:5e3}),a.getJSON(c,function(a){g=a}),f},_getSizes:function(){var b=this,c={small:"72c",thumb:"104u",medium:"640u",big:"1024u",original:"1600u"},d=b.options,e={},f,g=[32,48,64,72,94,104,110,128,144,150,160,200,220,288,320,400,512,576,640,720,800,912,1024,1152,1280,1440,1600];return a(["thumbSize","imageSize"]).each(function(){d[this]in c?e[this]=c[d[this]]:(f=Galleria.utils.parseValue(d[this]),f>1600?f=1600:a.each(g,function(a){if(f<this)return f=g[a-1],!1}),e[this]=f)}),[e.thumbSize,e.imageSize,"1280u"]},_parse:function(b,c){var d=this,e=[],f;a.each(b,function(){f=this.media$group.media$thumbnail,e.push({thumb:f[0].url,image:f[1].url,big:f[2].url,title:this.summary.$t})}),c.call(this,e)}};var c=Galleria.prototype.load;Galleria.prototype.load=function(){if(arguments.length||typeof this._options.picasa!="string"){c.apply(this,Galleria.utils.array(arguments));return}var d=this,e=Galleria.utils.array(arguments),f=this._options.picasa.split(":"),g,h=a.extend({},d._options.picasaOptions),i=typeof h.loader!="undefined"?h.loader:a("<div>").css({width:48,height:48,opacity:.7,background:"#000 url("+b+"loader.gif) no-repeat 50% 50%"});if(f.length){if(typeof Galleria.Picasa.prototype[f[0]]!="function")return Galleria.raise(f[0]+" method not found in Picasa plugin"),c.apply(this,e);if(!f[1])return Galleria.raise("No picasa argument found"),c.apply(this,e);window.setTimeout(function(){d.$("target").append(i)},100),g=new Galleria.Picasa,typeof d._options.picasaOptions=="object"&&g.setOptions(d._options.picasaOptions);var j=[];if(f[0]=="useralbum"){j=f[1].split("/");if(j.length!=2){Galleria.raise("Picasa useralbum not correctly formatted (should be [user]/[album])");return}}else j.push(f[1]);j.push(function(a){d._data=a,i.remove(),d.trigger(Galleria.DATA),g.options.complete.call(g,a)}),g[f[0]].apply(g,j)}else c.apply(this,e)}})(jQuery);
|
|
Binary file
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<title>Galleria Flickr Plugin</title>
|
|
6
|
+
<style>
|
|
7
|
+
|
|
8
|
+
/* Demo styles */
|
|
9
|
+
html,body{background:#222;margin:0;}
|
|
10
|
+
body{border-top:4px solid #000;}
|
|
11
|
+
.content{color:#777;font:12px/1.4 "helvetica neue",arial,sans-serif;width:620px;margin:20px auto;}
|
|
12
|
+
h1{font-size:12px;font-weight:normal;color:#ddd;margin:0;}
|
|
13
|
+
p{margin:0 0 20px}
|
|
14
|
+
a {color:#22BCB9;text-decoration:none;}
|
|
15
|
+
.cred{margin-top:20px;font-size:11px;}
|
|
16
|
+
|
|
17
|
+
/* This rule is read by Galleria to define the gallery height: */
|
|
18
|
+
#galleria{height:320px;}
|
|
19
|
+
|
|
20
|
+
</style>
|
|
21
|
+
|
|
22
|
+
<!-- load jQuery -->
|
|
23
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
|
|
24
|
+
|
|
25
|
+
<!-- load Galleria -->
|
|
26
|
+
<script src="../../galleria-1.2.9.min.js"></script>
|
|
27
|
+
|
|
28
|
+
<!-- load picasa plugin -->
|
|
29
|
+
<script src="galleria.picasa.min.js"></script>
|
|
30
|
+
|
|
31
|
+
</head>
|
|
32
|
+
<body>
|
|
33
|
+
<div class="content">
|
|
34
|
+
<h1>Galleria Picasa Plugin Demo</h1>
|
|
35
|
+
<p>Demonstrating a basic gallery example with photos from a Picasa album.</p>
|
|
36
|
+
|
|
37
|
+
<!-- Adding gallery images. This is just a container for the dynamic picasa images -->
|
|
38
|
+
|
|
39
|
+
<div id="galleria"></div>
|
|
40
|
+
|
|
41
|
+
<p class="cred">Made by <a href="http://galleria.aino.se">Galleria</a>.</p>
|
|
42
|
+
</div>
|
|
43
|
+
<script>
|
|
44
|
+
|
|
45
|
+
// Load the classic theme
|
|
46
|
+
Galleria.loadTheme('../../themes/classic/galleria.classic.min.js');
|
|
47
|
+
|
|
48
|
+
Galleria.run('#galleria', {
|
|
49
|
+
// The user & album. This example fetches the album "Demo" from the user "galleriajs"
|
|
50
|
+
picasa: 'useralbum:galleriajs/Demo'
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
</script>
|
|
54
|
+
</body>
|
|
55
|
+
</html>
|