From af93ab079269d77b318fdbcca09f96a9b41f2e83 Mon Sep 17 00:00:00 2001 From: Laurent Peuch Date: Tue, 8 Dec 2015 06:50:13 +0100 Subject: [PATCH] [enh] include baguetteBox --- static/css/baguetteBox.min.css | 6 ++++++ static/js/baguetteBox.min.js | 7 +++++++ templates/page-example.html | 2 ++ 3 files changed, 15 insertions(+) create mode 100644 static/css/baguetteBox.min.css create mode 100644 static/js/baguetteBox.min.js diff --git a/static/css/baguetteBox.min.css b/static/css/baguetteBox.min.css new file mode 100644 index 0000000..9991993 --- /dev/null +++ b/static/css/baguetteBox.min.css @@ -0,0 +1,6 @@ +/*! + * baguetteBox.js + * @author feimosi + * @version 1.4.2 + * @url https://github.com/feimosi/baguetteBox.js + */#baguetteBox-overlay{display:none;opacity:0;position:fixed;overflow:hidden;top:0;left:0;width:100%;height:100%;z-index:1000000;background-color:#222;background-color:rgba(0,0,0,.8);-webkit-transition:opacity .5s ease;transition:opacity .5s ease}#baguetteBox-overlay.visible{opacity:1}#baguetteBox-overlay .full-image{display:inline-block;position:relative;width:100%;height:100%;text-align:center}#baguetteBox-overlay .full-image figure{display:inline;margin:0;height:100%}#baguetteBox-overlay .full-image img{display:inline-block;width:auto;height:auto;max-height:100%;max-width:100%;vertical-align:middle;-moz-box-shadow:0 0 8px rgba(0,0,0,.6);box-shadow:0 0 8px rgba(0,0,0,.6)}#baguetteBox-overlay .full-image figcaption{display:block;position:absolute;bottom:0;width:100%;text-align:center;line-height:1.8;white-space:normal;color:#ccc;background-color:#000;background-color:rgba(0,0,0,.6);font-family:sans-serif}#baguetteBox-overlay .full-image:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}#baguetteBox-slider{position:absolute;left:0;top:0;height:100%;width:100%;white-space:nowrap;-webkit-transition:left .4s ease,-webkit-transform .4s ease;transition:left .4s ease,-moz-transform .4s ease;transition:left .4s ease,transform .4s ease}#baguetteBox-slider.bounce-from-right{-webkit-animation:bounceFromRight .4s ease-out;animation:bounceFromRight .4s ease-out}#baguetteBox-slider.bounce-from-left{-webkit-animation:bounceFromLeft .4s ease-out;animation:bounceFromLeft .4s ease-out}@-webkit-keyframes bounceFromRight{0%,100%{margin-left:0}50%{margin-left:-30px}}@keyframes bounceFromRight{0%,100%{margin-left:0}50%{margin-left:-30px}}@-webkit-keyframes bounceFromLeft{0%,100%{margin-left:0}50%{margin-left:30px}}@keyframes bounceFromLeft{0%,100%{margin-left:0}50%{margin-left:30px}}.baguetteBox-button#next-button,.baguetteBox-button#previous-button{top:50%;top:calc(50% - 30px);width:44px;height:60px}.baguetteBox-button{position:absolute;cursor:pointer;outline:0;padding:0;margin:0;border:0;-moz-border-radius:15%;border-radius:15%;background-color:#323232;background-color:rgba(50,50,50,.5);color:#ddd;font:1.6em sans-serif;-webkit-transition:background-color .4s ease;transition:background-color .4s ease}.baguetteBox-button:hover{background-color:rgba(50,50,50,.9)}.baguetteBox-button#next-button{right:2%}.baguetteBox-button#previous-button{left:2%}.baguetteBox-button#close-button{top:20px;right:2%;right:calc(2% + 6px);width:30px;height:30px}.baguetteBox-button svg{position:absolute;left:0;top:0}.spinner{width:40px;height:40px;display:inline-block;position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-20px}.double-bounce1,.double-bounce2{width:100%;height:100%;-moz-border-radius:50%;border-radius:50%;background-color:#fff;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:bounce 2s infinite ease-in-out;animation:bounce 2s infinite ease-in-out}.double-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounce{0%,100%{-webkit-transform:scale(0);-moz-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1)}} \ No newline at end of file diff --git a/static/js/baguetteBox.min.js b/static/js/baguetteBox.min.js new file mode 100644 index 0000000..53943eb --- /dev/null +++ b/static/js/baguetteBox.min.js @@ -0,0 +1,7 @@ +/*! + * baguetteBox.js + * @author feimosi + * @version 1.4.2 + * @url https://github.com/feimosi/baguetteBox.js + */ +!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.baguetteBox=t()}(this,function(){function e(e,n){D.transforms=m(),D.svg=v(),o(),t(e,n)}function t(e,t){var n=document.querySelectorAll(e);R.push(n),[].forEach.call(n,function(e){t&&t.filter&&(O=t.filter);var n=e.getElementsByTagName("a");n=[].filter.call(n,function(e){return O.test(e.href)});var o=V.length;V.push(n),V[o].options=t,[].forEach.call(V[o],function(e,t){var n=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1,s(o),c(t)};F[o+"_"+e]=n,k(e,"click",n)})})}function n(){R.forEach(function(e){[].forEach.call(e,function(e){var t=V.length-1;[].forEach.call(V[t],function(e,n){w(e,"click",F[t+"_"+e])}),V.pop()})})}function o(){return(N=C("baguetteBox-overlay"))?(x=C("baguetteBox-slider"),B=C("previous-button"),I=C("next-button"),void(L=C("close-button"))):(N=E("div"),N.id="baguetteBox-overlay",document.getElementsByTagName("body")[0].appendChild(N),x=E("div"),x.id="baguetteBox-slider",N.appendChild(x),B=E("button"),B.id="previous-button",B.innerHTML=D.svg?H:"<",N.appendChild(B),I=E("button"),I.id="next-button",I.innerHTML=D.svg?M:">",N.appendChild(I),L=E("button"),L.id="close-button",L.innerHTML=D.svg?S:"X",N.appendChild(L),B.className=I.className=L.className="baguetteBox-button",void a())}function i(e){switch(e.keyCode){case 37:p();break;case 39:g();break;case 27:u()}}function a(){k(N,"click",U),k(B,"click",W),k(I,"click",z),k(L,"click",J),k(N,"touchstart",K),k(N,"touchmove",Q),k(N,"touchend",Y)}function r(){w(N,"click",U),w(B,"click",W),w(I,"click",z),w(L,"click",J),w(N,"touchstart",K),w(N,"touchmove",Q),w(N,"touchend",Y)}function s(e){if(q!==e){for(q=e,l(V[e].options);x.firstChild;)x.removeChild(x.firstChild);_.length=0;for(var t,n=0;n
',i.onload=function(){var n=document.querySelector("#baguette-img-"+e+" .spinner");o.removeChild(n),!A.async&&t&&t()},i.setAttribute("src",imageSrc),o.appendChild(i),A.captions&&imageCaption&&(a.innerHTML=imageCaption,o.appendChild(a)),A.async&&t&&t()}}function f(e){var t=imageElement.href;if(e.dataset){var n=[];for(var o in e.dataset)"at-"!==o.substring(0,3)||isNaN(o.substring(3))||(n[o.replace("at-","")]=e.dataset[o]);keys=Object.keys(n).sort(function(e,t){return parseInt(e)=1?(X--,h(),b(X),e=!0):A.animation&&(x.className="bounce-from-left",setTimeout(function(){x.className=""},400),e=!1),A.onChange&&A.onChange(X,_.length),e}function h(){var e=100*-X+"%";"fadeIn"===A.animation?(x.style.opacity=0,setTimeout(function(){D.transforms?x.style.transform=x.style.webkitTransform="translate3d("+e+",0,0)":x.style.left=e,x.style.opacity=1},400)):D.transforms?x.style.transform=x.style.webkitTransform="translate3d("+e+",0,0)":x.style.left=e}function m(){var e=E("div");return"undefined"!=typeof e.style.perspective||"undefined"!=typeof e.style.webkitPerspective}function v(){var e=E("div");return e.innerHTML="","http://www.w3.org/2000/svg"==(e.firstChild&&e.firstChild.namespaceURI)}function y(e){e-X>=A.preload||d(e+1,function(){y(e+1)})}function b(e){X-e>=A.preload||d(e-1,function(){b(e-1)})}function k(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent("on"+t,n)}function w(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent("on"+t,n)}function C(e){return document.getElementById(e)}function E(e){return document.createElement(e)}function T(){r(),n(),w(document,"keydown",i),document.getElementsByTagName("body")[0].removeChild(document.getElementById("baguetteBox-overlay")),X=0,q=-1,R.length=0,V.length=0}var N,x,B,I,L,P,H='',M='',S='',A={},j={captions:!0,buttons:"auto",async:!1,preload:2,animation:"slideIn",afterShow:null,afterHide:null,onChange:null},D={},X=0,q=-1,G=!1,O=/.+\.(gif|jpe?g|png|webp)/i,R=[],V=[],_=[],F={},U=function(e){e.target&&"IMG"!==e.target.nodeName&&"FIGCAPTION"!==e.target.nodeName&&u()},W=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,p()},z=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,g()},J=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,u()},K=function(e){P=e.changedTouches[0].pageX},Q=function(e){G||(e.preventDefault?e.preventDefault():e.returnValue=!1,touch=e.touches[0]||e.changedTouches[0],touch.pageX-P>40?(G=!0,p()):touch.pageX-P<-40&&(G=!0,g()))},Y=function(e){G=!1};return[].forEach||(Array.prototype.forEach=function(e,t){for(var n=0;n + @@ -73,6 +74,7 @@ +