Import initial site
This commit is contained in:
62
galleria/plugins/flickr/flickr-demo.html
Normal file
62
galleria/plugins/flickr/flickr-demo.html
Normal file
@ -0,0 +1,62 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Galleria Flickr Plugin</title>
|
||||
<style>
|
||||
|
||||
/* Demo styles */
|
||||
html,body{background:#222;margin:0;}
|
||||
body{border-top:4px solid #000;}
|
||||
.content{color:#777;font:12px/1.4 "helvetica neue",arial,sans-serif;width:620px;margin:20px auto;}
|
||||
h1{font-size:12px;font-weight:normal;color:#ddd;margin:0;}
|
||||
p{margin:0 0 20px}
|
||||
a {color:#22BCB9;text-decoration:none;}
|
||||
.cred{margin-top:20px;font-size:11px;}
|
||||
|
||||
/* This rule is read by Galleria to define the gallery height: */
|
||||
#galleria{height:320px;}
|
||||
|
||||
</style>
|
||||
|
||||
<!-- load jQuery -->
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
|
||||
|
||||
<!-- load Galleria -->
|
||||
<script src="../../galleria-1.4.2.min.js"></script>
|
||||
|
||||
<!-- load flickr plugin -->
|
||||
<script src="galleria.flickr.min.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1>Galleria Flickr Plugin Demo</h1>
|
||||
<p>Demonstrating a basic gallery example with a Flickr search.</p>
|
||||
|
||||
<!-- Adding gallery images. This is just a container for the dynamic flickr images -->
|
||||
|
||||
<div id="galleria"></div>
|
||||
|
||||
<p class="cred">Made by <a href="http://galleria.aino.se">Galleria</a>.</p>
|
||||
<a href="#" id="close">cloase</a>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
// Load the classic theme
|
||||
Galleria.loadTheme('../../themes/classic/galleria.classic.min.js');
|
||||
|
||||
// Initialize Galleria
|
||||
Galleria.run('#galleria', {
|
||||
|
||||
// search flickr for "galleria"
|
||||
flickr: 'search:galleria',
|
||||
|
||||
flickrOptions: {
|
||||
// sort by interestingness
|
||||
sort: 'interestingness-desc'
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
BIN
galleria/plugins/flickr/flickr-loader.gif
Executable file
BIN
galleria/plugins/flickr/flickr-loader.gif
Executable file
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
383
galleria/plugins/flickr/galleria.flickr.js
Normal file
383
galleria/plugins/flickr/galleria.flickr.js
Normal file
@ -0,0 +1,383 @@
|
||||
/**
|
||||
* Galleria Flickr Plugin 2012-09-04
|
||||
* http://galleria.io
|
||||
*
|
||||
* Licensed under the MIT license
|
||||
* https://raw.github.com/aino/galleria/master/LICENSE
|
||||
*
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
/*global jQuery, Galleria, window */
|
||||
|
||||
Galleria.requires(1.25, 'The Flickr Plugin requires Galleria version 1.2.5 or later.');
|
||||
|
||||
// The script path
|
||||
var PATH = Galleria.utils.getScriptPath();
|
||||
|
||||
/**
|
||||
|
||||
@class
|
||||
@constructor
|
||||
|
||||
@example var flickr = new Galleria.Flickr();
|
||||
|
||||
@author http://galleria.io
|
||||
|
||||
@requires jQuery
|
||||
@requires Galleria
|
||||
|
||||
@param {String} [api_key] Flickr API key to be used, defaults to the Galleria key
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
Galleria.Flickr = function( api_key ) {
|
||||
|
||||
this.api_key = api_key || '2a2ce06c15780ebeb0b706650fc890b2';
|
||||
|
||||
this.options = {
|
||||
max: 30, // photos to return
|
||||
imageSize: 'medium', // photo size ( thumb,small,medium,big,original )
|
||||
thumbSize: 'thumb', // thumbnail size ( thumb,small,medium,big,original )
|
||||
sort: 'interestingness-desc', // sort option ( date-posted-asc, date-posted-desc, date-taken-asc, date-taken-desc, interestingness-desc, interestingness-asc, relevance )
|
||||
description: false, // set this to true to get description as caption
|
||||
complete: function(){}, // callback to be called inside the Galleria.prototype.load
|
||||
backlink: false // set this to true if you want to pass a link back to the original image
|
||||
};
|
||||
};
|
||||
|
||||
Galleria.Flickr.prototype = {
|
||||
|
||||
// bring back the constructor reference
|
||||
|
||||
constructor: Galleria.Flickr,
|
||||
|
||||
/**
|
||||
Search for anything at Flickr
|
||||
|
||||
@param {String} phrase The string to search for
|
||||
@param {Function} [callback] The callback to be called when the data is ready
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
search: function( phrase, callback ) {
|
||||
return this._find({
|
||||
text: phrase
|
||||
}, callback );
|
||||
},
|
||||
|
||||
/**
|
||||
Search for anything at Flickr by tag
|
||||
|
||||
@param {String} tag The tag(s) to search for
|
||||
@param {Function} [callback] The callback to be called when the data is ready
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
tags: function( tag, callback ) {
|
||||
return this._find({
|
||||
tags: tag
|
||||
}, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
Get a user's public photos
|
||||
|
||||
@param {String} username The username as shown in the URL to fetch
|
||||
@param {Function} [callback] The callback to be called when the data is ready
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
user: function( username, callback ) {
|
||||
return this._call({
|
||||
method: 'flickr.urls.lookupUser',
|
||||
url: 'flickr.com/photos/' + username
|
||||
}, function( data ) {
|
||||
this._find({
|
||||
user_id: data.user.id,
|
||||
method: 'flickr.people.getPublicPhotos'
|
||||
}, callback);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
Get photos from a photoset by ID
|
||||
|
||||
@param {String|Number} photoset_id The photoset id to fetch
|
||||
@param {Function} [callback] The callback to be called when the data is ready
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
set: function( photoset_id, callback ) {
|
||||
return this._find({
|
||||
photoset_id: photoset_id,
|
||||
method: 'flickr.photosets.getPhotos'
|
||||
}, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
Get photos from a gallery by ID
|
||||
|
||||
@param {String|Number} gallery_id The gallery id to fetch
|
||||
@param {Function} [callback] The callback to be called when the data is ready
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
gallery: function( gallery_id, callback ) {
|
||||
return this._find({
|
||||
gallery_id: gallery_id,
|
||||
method: 'flickr.galleries.getPhotos'
|
||||
}, callback);
|
||||
},
|
||||
|
||||
/**
|
||||
Search groups and fetch photos from the first group found
|
||||
Useful if you know the exact name of a group and want to show the groups photos.
|
||||
|
||||
@param {String} group The group name to search for
|
||||
@param {Function} [callback] The callback to be called when the data is ready
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
groupsearch: function( group, callback ) {
|
||||
return this._call({
|
||||
text: group,
|
||||
method: 'flickr.groups.search'
|
||||
}, function( data ) {
|
||||
this.group( data.groups.group[0].nsid, callback );
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
Get photos from a group by ID
|
||||
|
||||
@param {String} group_id The group id to fetch
|
||||
@param {Function} [callback] The callback to be called when the data is ready
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
group: function ( group_id, callback ) {
|
||||
return this._find({
|
||||
group_id: group_id,
|
||||
method: 'flickr.groups.pools.getPhotos'
|
||||
}, callback );
|
||||
},
|
||||
|
||||
/**
|
||||
Set flickr options
|
||||
|
||||
@param {Object} options The options object to blend
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
setOptions: function( options ) {
|
||||
$.extend(this.options, options);
|
||||
return this;
|
||||
},
|
||||
|
||||
|
||||
// call Flickr and raise errors
|
||||
|
||||
_call: function( params, callback ) {
|
||||
|
||||
var url = 'https://api.flickr.com/services/rest/?';
|
||||
|
||||
var scope = this;
|
||||
|
||||
params = $.extend({
|
||||
format : 'json',
|
||||
jsoncallback : '?',
|
||||
api_key: this.api_key
|
||||
}, params );
|
||||
|
||||
$.each(params, function( key, value ) {
|
||||
url += '&' + key + '=' + value;
|
||||
});
|
||||
|
||||
$.getJSON(url, function(data) {
|
||||
if ( data.stat === 'ok' ) {
|
||||
callback.call(scope, data);
|
||||
} else {
|
||||
Galleria.raise( data.code.toString() + ' ' + data.stat + ': ' + data.message, true );
|
||||
}
|
||||
});
|
||||
return scope;
|
||||
},
|
||||
|
||||
|
||||
// "hidden" way of getting a big image (~1024) from flickr
|
||||
|
||||
_getBig: function( photo ) {
|
||||
|
||||
if ( photo.url_l ) {
|
||||
return photo.url_l;
|
||||
} else if ( parseInt( photo.width_o, 10 ) > 1280 ) {
|
||||
|
||||
return 'https://farm'+photo.farm + '.static.flickr.com/'+photo.server +
|
||||
'/' + photo.id + '_' + photo.secret + '_b.jpg';
|
||||
}
|
||||
|
||||
return photo.url_o || photo.url_z || photo.url_m;
|
||||
|
||||
},
|
||||
|
||||
|
||||
// get image size by option name
|
||||
|
||||
_getSize: function( photo, size ) {
|
||||
|
||||
var img;
|
||||
|
||||
switch(size) {
|
||||
|
||||
case 'thumb':
|
||||
img = photo.url_t;
|
||||
break;
|
||||
|
||||
case 'small':
|
||||
img = photo.url_s;
|
||||
break;
|
||||
|
||||
case 'big':
|
||||
img = this._getBig( photo );
|
||||
break;
|
||||
|
||||
case 'original':
|
||||
img = photo.url_o ? photo.url_o : this._getBig( photo );
|
||||
break;
|
||||
|
||||
default:
|
||||
img = photo.url_z || photo.url_m;
|
||||
break;
|
||||
}
|
||||
return img;
|
||||
},
|
||||
|
||||
|
||||
// ask flickr for photos, parse the result and call the callback with the galleria-ready data array
|
||||
|
||||
_find: function( params, callback ) {
|
||||
|
||||
params = $.extend({
|
||||
method: 'flickr.photos.search',
|
||||
extras: 'url_t,url_m,url_o,url_s,url_l,url_z,description',
|
||||
sort: this.options.sort,
|
||||
per_page: Math.min( this.options.max, 500 )
|
||||
}, params );
|
||||
|
||||
return this._call( params, function(data) {
|
||||
|
||||
var gallery = [],
|
||||
photos = data.photos ? data.photos.photo : data.photoset.photo,
|
||||
len = photos.length,
|
||||
photo,
|
||||
i;
|
||||
|
||||
for ( i=0; i<len; i++ ) {
|
||||
|
||||
photo = photos[i];
|
||||
|
||||
gallery.push({
|
||||
thumb: this._getSize( photo, this.options.thumbSize ),
|
||||
image: this._getSize( photo, this.options.imageSize ),
|
||||
big: this._getBig( photo ),
|
||||
title: photos[i].title,
|
||||
description: this.options.description && photos[i].description ? photos[i].description._content : '',
|
||||
link: this.options.backlink ? 'https://flickr.com/photos/' + photo.owner + '/' + photo.id : ''
|
||||
});
|
||||
}
|
||||
callback.call( this, gallery );
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
Galleria modifications
|
||||
We fake-extend the load prototype to make Flickr integration as simple as possible
|
||||
*/
|
||||
|
||||
|
||||
// save the old prototype in a local variable
|
||||
|
||||
var load = Galleria.prototype.load;
|
||||
|
||||
|
||||
// fake-extend the load prototype using the flickr data
|
||||
|
||||
Galleria.prototype.load = function() {
|
||||
|
||||
// pass if no data is provided or flickr option not found
|
||||
if ( arguments.length || typeof this._options.flickr !== 'string' ) {
|
||||
load.apply( this, Galleria.utils.array( arguments ) );
|
||||
return;
|
||||
}
|
||||
|
||||
// define some local vars
|
||||
var self = this,
|
||||
args = Galleria.utils.array( arguments ),
|
||||
flickr = this._options.flickr.split(':'),
|
||||
f,
|
||||
opts = $.extend({}, self._options.flickrOptions),
|
||||
loader = typeof opts.loader !== 'undefined' ?
|
||||
opts.loader : $('<div>').css({
|
||||
width: 48,
|
||||
height: 48,
|
||||
opacity: 0.7,
|
||||
background:'#000 url('+PATH+'loader.gif) no-repeat 50% 50%'
|
||||
});
|
||||
|
||||
if ( flickr.length ) {
|
||||
|
||||
// validate the method
|
||||
if ( typeof Galleria.Flickr.prototype[ flickr[0] ] !== 'function' ) {
|
||||
Galleria.raise( flickr[0] + ' method not found in Flickr plugin' );
|
||||
return load.apply( this, args );
|
||||
}
|
||||
|
||||
// validate the argument
|
||||
if ( !flickr[1] ) {
|
||||
Galleria.raise( 'No flickr argument found' );
|
||||
return load.apply( this, args );
|
||||
}
|
||||
|
||||
// apply the preloader
|
||||
window.setTimeout(function() {
|
||||
self.$( 'target' ).append( loader );
|
||||
},100);
|
||||
|
||||
// create the instance
|
||||
f = new Galleria.Flickr();
|
||||
|
||||
// apply Flickr options
|
||||
if ( typeof self._options.flickrOptions === 'object' ) {
|
||||
f.setOptions( self._options.flickrOptions );
|
||||
}
|
||||
|
||||
// call the flickr method and trigger the DATA event
|
||||
f[ flickr[0] ]( flickr[1], function( data ) {
|
||||
|
||||
self._data = data;
|
||||
loader.remove();
|
||||
self.trigger( Galleria.DATA );
|
||||
f.options.complete.call(f, data);
|
||||
|
||||
});
|
||||
} else {
|
||||
|
||||
// if flickr array not found, pass
|
||||
load.apply( this, args );
|
||||
}
|
||||
};
|
||||
|
||||
}( jQuery ) );
|
1
galleria/plugins/flickr/galleria.flickr.min.js
vendored
Normal file
1
galleria/plugins/flickr/galleria.flickr.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
!function(t){Galleria.requires(1.25,"The Flickr Plugin requires Galleria version 1.2.5 or later.");var i=Galleria.utils.getScriptPath();Galleria.Flickr=function(t){this.api_key=t||"2a2ce06c15780ebeb0b706650fc890b2";this.options={max:30,imageSize:"medium",thumbSize:"thumb",sort:"interestingness-desc",description:false,complete:function(){},backlink:false}};Galleria.Flickr.prototype={constructor:Galleria.Flickr,search:function(t,i){return this._find({text:t},i)},tags:function(t,i){return this._find({tags:t},i)},user:function(t,i){return this._call({method:"flickr.urls.lookupUser",url:"flickr.com/photos/"+t},function(t){this._find({user_id:t.user.id,method:"flickr.people.getPublicPhotos"},i)})},set:function(t,i){return this._find({photoset_id:t,method:"flickr.photosets.getPhotos"},i)},gallery:function(t,i){return this._find({gallery_id:t,method:"flickr.galleries.getPhotos"},i)},groupsearch:function(t,i){return this._call({text:t,method:"flickr.groups.search"},function(t){this.group(t.groups.group[0].nsid,i)})},group:function(t,i){return this._find({group_id:t,method:"flickr.groups.pools.getPhotos"},i)},setOptions:function(i){t.extend(this.options,i);return this},_call:function(i,e){var r="https://api.flickr.com/services/rest/?";var o=this;i=t.extend({format:"json",jsoncallback:"?",api_key:this.api_key},i);t.each(i,function(t,i){r+="&"+t+"="+i});t.getJSON(r,function(t){if(t.stat==="ok"){e.call(o,t)}else{Galleria.raise(t.code.toString()+" "+t.stat+": "+t.message,true)}});return o},_getBig:function(t){if(t.url_l){return t.url_l}else if(parseInt(t.width_o,10)>1280){return"https://farm"+t.farm+".static.flickr.com/"+t.server+"/"+t.id+"_"+t.secret+"_b.jpg"}return t.url_o||t.url_z||t.url_m},_getSize:function(t,i){var e;switch(i){case"thumb":e=t.url_t;break;case"small":e=t.url_s;break;case"big":e=this._getBig(t);break;case"original":e=t.url_o?t.url_o:this._getBig(t);break;default:e=t.url_z||t.url_m;break}return e},_find:function(i,e){i=t.extend({method:"flickr.photos.search",extras:"url_t,url_m,url_o,url_s,url_l,url_z,description",sort:this.options.sort,per_page:Math.min(this.options.max,500)},i);return this._call(i,function(t){var i=[],r=t.photos?t.photos.photo:t.photoset.photo,o=r.length,s,l;for(l=0;l<o;l++){s=r[l];i.push({thumb:this._getSize(s,this.options.thumbSize),image:this._getSize(s,this.options.imageSize),big:this._getBig(s),title:r[l].title,description:this.options.description&&r[l].description?r[l].description._content:"",link:this.options.backlink?"https://flickr.com/photos/"+s.owner+"/"+s.id:""})}e.call(this,i)})}};var e=Galleria.prototype.load;Galleria.prototype.load=function(){if(arguments.length||typeof this._options.flickr!=="string"){e.apply(this,Galleria.utils.array(arguments));return}var r=this,o=Galleria.utils.array(arguments),s=this._options.flickr.split(":"),l,n=t.extend({},r._options.flickrOptions),a=typeof n.loader!=="undefined"?n.loader:t("<div>").css({width:48,height:48,opacity:.7,background:"#000 url("+i+"loader.gif) no-repeat 50% 50%"});if(s.length){if(typeof Galleria.Flickr.prototype[s[0]]!=="function"){Galleria.raise(s[0]+" method not found in Flickr plugin");return e.apply(this,o)}if(!s[1]){Galleria.raise("No flickr argument found");return e.apply(this,o)}window.setTimeout(function(){r.$("target").append(a)},100);l=new Galleria.Flickr;if(typeof r._options.flickrOptions==="object"){l.setOptions(r._options.flickrOptions)}l[s[0]](s[1],function(t){r._data=t;a.remove();r.trigger(Galleria.DATA);l.options.complete.call(l,t)})}else{e.apply(this,o)}}}(jQuery);
|
BIN
galleria/plugins/flickr/loader.gif
Normal file
BIN
galleria/plugins/flickr/loader.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.8 KiB |
146
galleria/plugins/history/galleria.history.js
Normal file
146
galleria/plugins/history/galleria.history.js
Normal file
@ -0,0 +1,146 @@
|
||||
/**
|
||||
* Galleria History Plugin 2012-04-04
|
||||
* http://galleria.io
|
||||
*
|
||||
* Licensed under the MIT license
|
||||
* https://raw.github.com/aino/galleria/master/LICENSE
|
||||
*
|
||||
*/
|
||||
|
||||
(function( $, window ) {
|
||||
|
||||
/*global jQuery, Galleria, window */
|
||||
|
||||
Galleria.requires(1.25, 'The History Plugin requires Galleria version 1.2.5 or later.');
|
||||
|
||||
Galleria.History = (function() {
|
||||
|
||||
var onloads = [],
|
||||
|
||||
init = false,
|
||||
|
||||
loc = window.location,
|
||||
|
||||
doc = window.document,
|
||||
|
||||
ie = Galleria.IE,
|
||||
|
||||
support = 'onhashchange' in window && ( doc.mode === undefined || doc.mode > 7 ),
|
||||
|
||||
iframe,
|
||||
|
||||
get = function( winloc ) {
|
||||
if( iframe && !support && Galleria.IE ) {
|
||||
winloc = winloc || iframe.location;
|
||||
} else {
|
||||
winloc = loc;
|
||||
}
|
||||
return parseInt( winloc.hash.substr(2), 10 );
|
||||
},
|
||||
|
||||
saved = get( loc ),
|
||||
|
||||
callbacks = [],
|
||||
|
||||
onchange = function() {
|
||||
$.each( callbacks, function( i, fn ) {
|
||||
fn.call( window, get() );
|
||||
});
|
||||
},
|
||||
|
||||
ready = function() {
|
||||
$.each( onloads, function(i, fn) {
|
||||
fn();
|
||||
});
|
||||
|
||||
init = true;
|
||||
},
|
||||
|
||||
setHash = function( val ) {
|
||||
return '/' + val;
|
||||
};
|
||||
|
||||
// always remove support if IE < 8
|
||||
if ( support && ie < 8 ) {
|
||||
support = false;
|
||||
}
|
||||
|
||||
if ( !support ) {
|
||||
|
||||
$(function() {
|
||||
|
||||
var interval = window.setInterval(function() {
|
||||
|
||||
var hash = get();
|
||||
|
||||
if ( !isNaN( hash ) && hash != saved ) {
|
||||
saved = hash;
|
||||
loc.hash = setHash( hash );
|
||||
onchange();
|
||||
}
|
||||
|
||||
}, 50);
|
||||
|
||||
if ( ie ) {
|
||||
|
||||
$('<iframe tabindex="-1" title="empty">').hide().attr( 'src', 'about:blank' ).one('load', function() {
|
||||
|
||||
iframe = this.contentWindow;
|
||||
|
||||
ready();
|
||||
|
||||
}).insertAfter(doc.body);
|
||||
|
||||
} else {
|
||||
ready();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
ready();
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
change: function( fn ) {
|
||||
|
||||
callbacks.push( fn );
|
||||
|
||||
if( support ) {
|
||||
window.onhashchange = onchange;
|
||||
}
|
||||
},
|
||||
|
||||
set: function( val ) {
|
||||
|
||||
if ( isNaN( val ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !support && ie ) {
|
||||
|
||||
this.ready(function() {
|
||||
|
||||
var idoc = iframe.document;
|
||||
idoc.open();
|
||||
idoc.close();
|
||||
|
||||
iframe.location.hash = setHash( val );
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
loc.hash = setHash( val );
|
||||
},
|
||||
|
||||
ready: function(fn) {
|
||||
if (!init) {
|
||||
onloads.push(fn);
|
||||
} else {
|
||||
fn();
|
||||
}
|
||||
}
|
||||
};
|
||||
}());
|
||||
|
||||
}( jQuery, this ));
|
||||
|
1
galleria/plugins/history/galleria.history.min.js
vendored
Normal file
1
galleria/plugins/history/galleria.history.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
!function(n,e){Galleria.requires(1.25,"The History Plugin requires Galleria version 1.2.5 or later.");Galleria.History=function(){var i=[],t=false,a=e.location,o=e.document,r=Galleria.IE,s="onhashchange"in e&&(o.mode===undefined||o.mode>7),u,c=function(n){if(u&&!s&&Galleria.IE){n=n||u.location}else{n=a}return parseInt(n.hash.substr(2),10)},f=c(a),l=[],h=function(){n.each(l,function(n,i){i.call(e,c())})},d=function(){n.each(i,function(n,e){e()});t=true},y=function(n){return"/"+n};if(s&&r<8){s=false}if(!s){n(function(){var i=e.setInterval(function(){var n=c();if(!isNaN(n)&&n!=f){f=n;a.hash=y(n);h()}},50);if(r){n('<iframe tabindex="-1" title="empty">').hide().attr("src","about:blank").one("load",function(){u=this.contentWindow;d()}).insertAfter(o.body)}else{d()}})}else{d()}return{change:function(n){l.push(n);if(s){e.onhashchange=h}},set:function(n){if(isNaN(n)){return}if(!s&&r){this.ready(function(){var e=u.document;e.open();e.close();u.location.hash=y(n)})}a.hash=y(n)},ready:function(n){if(!t){i.push(n)}else{n()}}}}()}(jQuery,this);
|
100
galleria/plugins/history/history-demo.html
Normal file
100
galleria/plugins/history/history-demo.html
Normal file
@ -0,0 +1,100 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Galleria History Plugin</title>
|
||||
<style>
|
||||
|
||||
/* Demo styles */
|
||||
html,body{background:#222;margin:0;}
|
||||
body{border-top:4px solid #000;}
|
||||
.content{color:#777;font:12px/1.4 "helvetica neue",arial,sans-serif;width:620px;margin:20px auto;}
|
||||
h1{font-size:12px;font-weight:normal;color:#ddd;margin:0;}
|
||||
p{margin:0 0 20px}
|
||||
a {color:#22BCB9;text-decoration:none;}
|
||||
.cred{margin-top:20px;font-size:11px;}
|
||||
|
||||
/* This rule is read by Galleria to define the gallery height: */
|
||||
#galleria{height:320px}
|
||||
|
||||
</style>
|
||||
|
||||
<!-- load jQuery -->
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
|
||||
|
||||
<!-- load Galleria -->
|
||||
<script src="../../galleria-1.4.2.min.js"></script>
|
||||
|
||||
<!-- load the History plugin, no need for further scripting -->
|
||||
<script src="galleria.history.min.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1>Galleria History Plugin</h1>
|
||||
<p>Demonstrating a basic history example. Supports most browsers, including FF 3.0+ and IE 7+</p>
|
||||
|
||||
<!-- Adding gallery images. We use resized thumbnails here for better performance, but it’s not necessary -->
|
||||
|
||||
<div id="galleria">
|
||||
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/34/Locomotives-Roundhouse2.jpg/800px-Locomotives-Roundhouse2.jpg">
|
||||
<img title="Locomotives Roundhouse"
|
||||
alt="Steam locomotives of the Chicago & North Western Railway."
|
||||
src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/34/Locomotives-Roundhouse2.jpg/100px-Locomotives-Roundhouse2.jpg">
|
||||
</a>
|
||||
<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">
|
||||
<img title="Icebergs in the High Arctic"
|
||||
alt="”The debris loading isn't particularly extensive, but the color is usual.”"
|
||||
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">
|
||||
</a>
|
||||
<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">
|
||||
<img title="Araña"
|
||||
alt="Xysticus cristatus, A Estrada, Galicia, Spain"
|
||||
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">
|
||||
</a>
|
||||
<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">
|
||||
<img title="Museo storia naturale"
|
||||
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">
|
||||
</a>
|
||||
<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">
|
||||
<img title="Grjótagjá caves in summer 2009"
|
||||
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">
|
||||
</a>
|
||||
<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">
|
||||
<img title="Thermes"
|
||||
alt="Xanthi hot-spa springs, Xanthi Prefecture, Greece"
|
||||
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">
|
||||
</a>
|
||||
<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">
|
||||
<img title="Polish Army Kołobrzeg"
|
||||
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”"
|
||||
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">
|
||||
</a>
|
||||
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/20100213_Zlatograd_Bulgaria_3.jpg/1024px-20100213_Zlatograd_Bulgaria_3.jpg">
|
||||
<img title="Zlatograd Bulgaria"
|
||||
src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/20100213_Zlatograd_Bulgaria_3.jpg/100px-20100213_Zlatograd_Bulgaria_3.jpg">
|
||||
</a>
|
||||
<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">
|
||||
<img title="09-28-2001 in New York City"
|
||||
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"
|
||||
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">
|
||||
</a>
|
||||
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Antennae%2C_Hubble_images.jpg/1024px-Antennae%2C_Hubble_images.jpg">
|
||||
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Antennae%2C_Hubble_images.jpg/100px-Antennae%2C_Hubble_images.jpg">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p class="cred">Made by <a href="http://galleria.aino.se">Galleria</a>.</p>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
// Load the classic theme
|
||||
Galleria.loadTheme('../../themes/classic/galleria.classic.min.js');
|
||||
|
||||
// Initialize Galleria
|
||||
Galleria.run('#galleria');
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
320
galleria/plugins/picasa/galleria.picasa.js
Normal file
320
galleria/plugins/picasa/galleria.picasa.js
Normal file
@ -0,0 +1,320 @@
|
||||
/**
|
||||
* Galleria Picasa Plugin 2012-04-04
|
||||
* http://galleria.io
|
||||
*
|
||||
* Licensed under the MIT license
|
||||
* https://raw.github.com/aino/galleria/master/LICENSE
|
||||
*
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
/*global jQuery, Galleria, window */
|
||||
|
||||
Galleria.requires(1.25, 'The Picasa Plugin requires Galleria version 1.2.5 or later.');
|
||||
|
||||
// The script path
|
||||
var PATH = Galleria.utils.getScriptPath();
|
||||
|
||||
/**
|
||||
|
||||
@class
|
||||
@constructor
|
||||
|
||||
@example var picasa = new Galleria.Picasa();
|
||||
|
||||
@author http://aino.se
|
||||
|
||||
@requires jQuery
|
||||
@requires Galleria
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
Galleria.Picasa = function() {
|
||||
|
||||
this.options = {
|
||||
max: 30, // photos to return
|
||||
imageSize: 'medium', // photo size ( thumb,small,medium,big,original ) or a number
|
||||
thumbSize: 'thumb', // thumbnail size ( thumb,small,medium,big,original ) or a number
|
||||
complete: function(){} // callback to be called inside the Galleria.prototype.load
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
Galleria.Picasa.prototype = {
|
||||
|
||||
// bring back the constructor reference
|
||||
|
||||
constructor: Galleria.Picasa,
|
||||
|
||||
/**
|
||||
Search for anything at Picasa
|
||||
|
||||
@param {String} phrase The string to search for
|
||||
@param {Function} [callback] The callback to be called when the data is ready
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
search: function( phrase, callback ) {
|
||||
return this._call( 'search', 'all', {
|
||||
q: phrase
|
||||
}, callback );
|
||||
},
|
||||
|
||||
/**
|
||||
Get a user's public photos
|
||||
|
||||
@param {String} username The username to fetch photos from
|
||||
@param {Function} [callback] The callback to be called when the data is ready
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
user: function( username, callback ) {
|
||||
return this._call( 'user', 'user/' + username, callback );
|
||||
},
|
||||
|
||||
/**
|
||||
Get photos from an album
|
||||
|
||||
@param {String} username The username that owns the album
|
||||
@param {String} album The album ID
|
||||
@param {Function} [callback] The callback to be called when the data is ready
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
useralbum: function( username, album, callback ) {
|
||||
return this._call( 'useralbum', 'user/' + username + '/album/' + album, callback );
|
||||
},
|
||||
|
||||
/**
|
||||
Set picasa options
|
||||
|
||||
@param {Object} options The options object to blend
|
||||
|
||||
@returns Instance
|
||||
*/
|
||||
|
||||
setOptions: function( options ) {
|
||||
$.extend(this.options, options);
|
||||
return this;
|
||||
},
|
||||
|
||||
|
||||
// call Picasa
|
||||
|
||||
_call: function( type, url, params, callback ) {
|
||||
|
||||
url = 'https://picasaweb.google.com/data/feed/api/' + url + '?';
|
||||
|
||||
if (typeof params == 'function') {
|
||||
callback = params;
|
||||
params = {};
|
||||
}
|
||||
|
||||
var self = this;
|
||||
|
||||
params = $.extend({
|
||||
'kind': 'photo',
|
||||
'access': 'public',
|
||||
'max-results': this.options.max,
|
||||
'thumbsize': this._getSizes().join(','),
|
||||
'alt': 'json-in-script',
|
||||
'callback': '?'
|
||||
}, params );
|
||||
|
||||
$.each(params, function( key, value ) {
|
||||
url += '&' + key + '=' + value;
|
||||
});
|
||||
|
||||
// since Picasa throws 404 when the call is malformed, we must set a timeout here:
|
||||
|
||||
var data = false;
|
||||
|
||||
Galleria.utils.wait({
|
||||
until: function() {
|
||||
return data;
|
||||
},
|
||||
success: function() {
|
||||
self._parse.call( self, data.feed.entry, callback );
|
||||
},
|
||||
error: function() {
|
||||
var msg = '';
|
||||
if ( type == 'user' ) {
|
||||
msg = 'user not found.';
|
||||
} else if ( type == 'useralbum' ) {
|
||||
msg = 'album or user not found.';
|
||||
}
|
||||
Galleria.raise('Picasa request failed' + (msg ? ': ' + msg : '.'));
|
||||
},
|
||||
timeout: 5000
|
||||
});
|
||||
|
||||
$.getJSON( url, function( result ) {
|
||||
data = result;
|
||||
});
|
||||
|
||||
return self;
|
||||
},
|
||||
|
||||
|
||||
// parse image sizes and return an array of three
|
||||
|
||||
_getSizes: function() {
|
||||
|
||||
var self = this,
|
||||
norm = {
|
||||
small: '72c',
|
||||
thumb: '104u',
|
||||
medium: '640u',
|
||||
big: '1024u',
|
||||
original: '1600u'
|
||||
},
|
||||
op = self.options,
|
||||
t = {},
|
||||
n,
|
||||
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];
|
||||
|
||||
$(['thumbSize', 'imageSize']).each(function() {
|
||||
if( op[this] in norm ) {
|
||||
t[this] = norm[ op[this] ];
|
||||
} else {
|
||||
n = Galleria.utils.parseValue( op[this] );
|
||||
if (n > 1600) {
|
||||
n = 1600;
|
||||
} else {
|
||||
$.each( sz, function(i) {
|
||||
if ( n < this ) {
|
||||
n = sz[i-1];
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
t[this] = n;
|
||||
}
|
||||
});
|
||||
|
||||
return [ t.thumbSize, t.imageSize, '1280u'];
|
||||
|
||||
},
|
||||
|
||||
|
||||
// parse the result and call the callback with the galleria-ready data array
|
||||
|
||||
_parse: function( data, callback ) {
|
||||
|
||||
var self = this,
|
||||
gallery = [],
|
||||
img;
|
||||
|
||||
$.each( data, function() {
|
||||
|
||||
img = this.media$group.media$thumbnail;
|
||||
|
||||
gallery.push({
|
||||
thumb: img[0].url,
|
||||
image: img[1].url,
|
||||
big: img[2].url,
|
||||
title: this.summary.$t
|
||||
});
|
||||
});
|
||||
|
||||
callback.call( this, gallery );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
Galleria modifications
|
||||
We fake-extend the load prototype to make Picasa integration as simple as possible
|
||||
*/
|
||||
|
||||
|
||||
// save the old prototype in a local variable
|
||||
|
||||
var load = Galleria.prototype.load;
|
||||
|
||||
|
||||
// fake-extend the load prototype using the picasa data
|
||||
|
||||
Galleria.prototype.load = function() {
|
||||
|
||||
// pass if no data is provided or picasa option not found
|
||||
if ( arguments.length || typeof this._options.picasa !== 'string' ) {
|
||||
load.apply( this, Galleria.utils.array( arguments ) );
|
||||
return;
|
||||
}
|
||||
|
||||
// define some local vars
|
||||
var self = this,
|
||||
args = Galleria.utils.array( arguments ),
|
||||
picasa = this._options.picasa.split(':'),
|
||||
p,
|
||||
opts = $.extend({}, self._options.picasaOptions),
|
||||
loader = typeof opts.loader !== 'undefined' ?
|
||||
opts.loader : $('<div>').css({
|
||||
width: 48,
|
||||
height: 48,
|
||||
opacity: 0.7,
|
||||
background:'#000 url('+PATH+'loader.gif) no-repeat 50% 50%'
|
||||
});
|
||||
|
||||
if ( picasa.length ) {
|
||||
|
||||
// validate the method
|
||||
if ( typeof Galleria.Picasa.prototype[ picasa[0] ] !== 'function' ) {
|
||||
Galleria.raise( picasa[0] + ' method not found in Picasa plugin' );
|
||||
return load.apply( this, args );
|
||||
}
|
||||
|
||||
// validate the argument
|
||||
if ( !picasa[1] ) {
|
||||
Galleria.raise( 'No picasa argument found' );
|
||||
return load.apply( this, args );
|
||||
}
|
||||
|
||||
// apply the preloader
|
||||
window.setTimeout(function() {
|
||||
self.$( 'target' ).append( loader );
|
||||
},100);
|
||||
|
||||
// create the instance
|
||||
p = new Galleria.Picasa();
|
||||
|
||||
// apply Flickr options
|
||||
if ( typeof self._options.picasaOptions === 'object' ) {
|
||||
p.setOptions( self._options.picasaOptions );
|
||||
}
|
||||
|
||||
// call the picasa method and trigger the DATA event
|
||||
var arg = [];
|
||||
if ( picasa[0] == 'useralbum' ) {
|
||||
arg = picasa[1].split('/');
|
||||
if (arg.length != 2) {
|
||||
Galleria.raise( 'Picasa useralbum not correctly formatted (should be [user]/[album])');
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
arg.push( picasa[1] );
|
||||
}
|
||||
|
||||
arg.push(function(data) {
|
||||
self._data = data;
|
||||
loader.remove();
|
||||
self.trigger( Galleria.DATA );
|
||||
p.options.complete.call(p, data);
|
||||
});
|
||||
|
||||
p[ picasa[0] ].apply( p, arg );
|
||||
|
||||
} else {
|
||||
|
||||
// if flickr array not found, pass
|
||||
load.apply( this, args );
|
||||
}
|
||||
};
|
||||
|
||||
}( jQuery ) );
|
1
galleria/plugins/picasa/galleria.picasa.min.js
vendored
Normal file
1
galleria/plugins/picasa/galleria.picasa.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
!function(i){Galleria.requires(1.25,"The Picasa Plugin requires Galleria version 1.2.5 or later.");var e=Galleria.utils.getScriptPath();Galleria.Picasa=function(){this.options={max:30,imageSize:"medium",thumbSize:"thumb",complete:function(){}}};Galleria.Picasa.prototype={constructor:Galleria.Picasa,search:function(i,e){return this._call("search","all",{q:i},e)},user:function(i,e){return this._call("user","user/"+i,e)},useralbum:function(i,e,t){return this._call("useralbum","user/"+i+"/album/"+e,t)},setOptions:function(e){i.extend(this.options,e);return this},_call:function(e,t,a,s){t="https://picasaweb.google.com/data/feed/api/"+t+"?";if(typeof a=="function"){s=a;a={}}var r=this;a=i.extend({kind:"photo",access:"public","max-results":this.options.max,thumbsize:this._getSizes().join(","),alt:"json-in-script",callback:"?"},a);i.each(a,function(i,e){t+="&"+i+"="+e});var l=false;Galleria.utils.wait({until:function(){return l},success:function(){r._parse.call(r,l.feed.entry,s)},error:function(){var i="";if(e=="user"){i="user not found."}else if(e=="useralbum"){i="album or user not found."}Galleria.raise("Picasa request failed"+(i?": "+i:"."))},timeout:5e3});i.getJSON(t,function(i){l=i});return r},_getSizes:function(){var e=this,t={small:"72c",thumb:"104u",medium:"640u",big:"1024u",original:"1600u"},a=e.options,s={},r,l=[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];i(["thumbSize","imageSize"]).each(function(){if(a[this]in t){s[this]=t[a[this]]}else{r=Galleria.utils.parseValue(a[this]);if(r>1600){r=1600}else{i.each(l,function(i){if(r<this){r=l[i-1];return false}})}s[this]=r}});return[s.thumbSize,s.imageSize,"1280u"]},_parse:function(e,t){var a=this,s=[],r;i.each(e,function(){r=this.media$group.media$thumbnail;s.push({thumb:r[0].url,image:r[1].url,big:r[2].url,title:this.summary.$t})});t.call(this,s)}};var t=Galleria.prototype.load;Galleria.prototype.load=function(){if(arguments.length||typeof this._options.picasa!=="string"){t.apply(this,Galleria.utils.array(arguments));return}var a=this,s=Galleria.utils.array(arguments),r=this._options.picasa.split(":"),l,n=i.extend({},a._options.picasaOptions),u=typeof n.loader!=="undefined"?n.loader:i("<div>").css({width:48,height:48,opacity:.7,background:"#000 url("+e+"loader.gif) no-repeat 50% 50%"});if(r.length){if(typeof Galleria.Picasa.prototype[r[0]]!=="function"){Galleria.raise(r[0]+" method not found in Picasa plugin");return t.apply(this,s)}if(!r[1]){Galleria.raise("No picasa argument found");return t.apply(this,s)}window.setTimeout(function(){a.$("target").append(u)},100);l=new Galleria.Picasa;if(typeof a._options.picasaOptions==="object"){l.setOptions(a._options.picasaOptions)}var o=[];if(r[0]=="useralbum"){o=r[1].split("/");if(o.length!=2){Galleria.raise("Picasa useralbum not correctly formatted (should be [user]/[album])");return}}else{o.push(r[1])}o.push(function(i){a._data=i;u.remove();a.trigger(Galleria.DATA);l.options.complete.call(l,i)});l[r[0]].apply(l,o)}else{t.apply(this,s)}}}(jQuery);
|
BIN
galleria/plugins/picasa/loader.gif
Normal file
BIN
galleria/plugins/picasa/loader.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.8 KiB |
55
galleria/plugins/picasa/picasa-demo.html
Normal file
55
galleria/plugins/picasa/picasa-demo.html
Normal file
@ -0,0 +1,55 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Galleria Flickr Plugin</title>
|
||||
<style>
|
||||
|
||||
/* Demo styles */
|
||||
html,body{background:#222;margin:0;}
|
||||
body{border-top:4px solid #000;}
|
||||
.content{color:#777;font:12px/1.4 "helvetica neue",arial,sans-serif;width:620px;margin:20px auto;}
|
||||
h1{font-size:12px;font-weight:normal;color:#ddd;margin:0;}
|
||||
p{margin:0 0 20px}
|
||||
a {color:#22BCB9;text-decoration:none;}
|
||||
.cred{margin-top:20px;font-size:11px;}
|
||||
|
||||
/* This rule is read by Galleria to define the gallery height: */
|
||||
#galleria{height:320px;}
|
||||
|
||||
</style>
|
||||
|
||||
<!-- load jQuery -->
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
|
||||
|
||||
<!-- load Galleria -->
|
||||
<script src="../../galleria-1.4.2.min.js"></script>
|
||||
|
||||
<!-- load picasa plugin -->
|
||||
<script src="galleria.picasa.min.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1>Galleria Picasa Plugin Demo</h1>
|
||||
<p>Demonstrating a basic gallery example with photos from a Picasa album.</p>
|
||||
|
||||
<!-- Adding gallery images. This is just a container for the dynamic picasa images -->
|
||||
|
||||
<div id="galleria"></div>
|
||||
|
||||
<p class="cred">Made by <a href="http://galleria.aino.se">Galleria</a>.</p>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
// Load the classic theme
|
||||
Galleria.loadTheme('../../themes/classic/galleria.classic.min.js');
|
||||
|
||||
Galleria.run('#galleria', {
|
||||
// The user & album. This example fetches the album "Demo" from the user "galleriajs"
|
||||
picasa: 'useralbum:galleriajs/Demo'
|
||||
});
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user