Add featherlight for body copy images

This commit is contained in:
Ryan Watters committed 2017-02-19 01:51:29 -06:00
1 parent 44e00b623c
commit 3bedf1e23d
6 files changed
+716 -8

No files matched your search

+1 -1
View File
@@ -1 +1 @@
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box;border-radius:0px !important;outline:none}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}html,body{margin:0px;padding:0px;outline:none;border:none;font-size:18px;font-family:"muli","Helvetica Neue","Helvetica","Roboto","Arial",sans-serif;color:#222;line-height:1.6;font-weight:300;overflow-x:hidden}body{font-size:90%;overflow-x:hidden;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media only screen and (min-width: 760px){body{font-size:95%}}@media only screen and (min-width: 960px){body{font-size:100%}}strong{font-weight:600;color:#222}p{margin-top:0px;margin-bottom:1.5em;line-height:1.6}@font-face{font-family:'fontello';src:url("/fonts/fontello/fontello.eot");src:url("/fonts/fontello/fontello.woff2") format("woff2"),url("/fonts/fontello/fontello.woff") format("woff"),url("/fonts/fontello/fontello.ttf") format("truetype"),url("/fonts/fontello/fontello.svg?78165468#fontello") format("svg");font-weight:normal;font-style:normal}[class^="icon-"]:before,[class*=" icon-"]:before{font-family:"fontello";font-style:normal;font-weight:normal;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-alert:before{content:'\e810'}.icon-angle-double-right:before{content:'\f101'}.icon-attach:before{content:'\e820'}.icon-attention:before{content:'\e80f'}.icon-bash:before{content:'\e804'}.icon-bell:before{content:'\e80d'}.icon-cancel:before{content:'\e81e'}.icon-caution:before{content:'\e80f'}.icon-chrome:before{content:'\e841'}.icon-clipboard:before{content:'\e817'}.icon-code:before{content:'\f121'}.icon-cog-alt:before{content:'\e814'}.icon-css3:before{content:'\f13c'}.icon-docs:before{content:'\f15c'}.icon-download:before{content:'\e815'}.icon-facebook-official:before{content:'\f230'}.icon-firefox:before{content:'\e840'}.icon-flag:before{content:'\e813'}.icon-forum:before{content:'\f03d';margin-right:.3em}.icon-github:before{content:'\f09b'}.icon-gitter:before{content:'\e819'}.icon-go:before{content:'\e801'}.icon-golang:before{content:'\e801'}.icon-heart:before{content:'\e81d'}.icon-help:before{content:'\e81b'}.icon-home:before{content:'\e812'}.icon-html.input:before{content:'\e81f'}.icon-html5:before{content:'\e800'}.icon-html:before{content:'\e800'}.icon-hugo:before{content:'\e81f'}.icon-ie:before{content:'\e843'}.icon-info:before{content:'\e811'}.icon-instagram:before{content:'\f32d'}.icon-javascript:before{content:'\e802'}.icon-js:before{content:'\e802'}.icon-json:before{content:'\e81c'}.icon-link:before{content:'\e816'}.icon-linkedin:before{content:'\f30c'}.icon-love:before{content:'\e81d'}.icon-mail:before{content:'\e821'}.icon-markdown:before{content:'\e80e'}.icon-md:before{content:'\e80e'}.icon-note:before{content:'\e80d'}.icon-opera:before{content:'\e842'}.icon-pdf:before{content:'\f1c1'}.icon-pencil:before{content:'\e80c'}.icon-picture:before{content:'\e808'}.icon-quLine truncated /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box;border-radius:0px !important;outline:none}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}html,body{margin:0px;padding:0px;outline:none;border:none;font-size:18px;font-family:"muli","Helvetica Neue","Helvetica","Roboto","Arial",sans-serif;color:#222;line-height:1.6;font-weight:300;overflow-x:hidden}body{font-size:90%;overflow-x:hidden;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media only screen and (min-width: 760px){body{font-size:95%}}@media only screen and (min-width: 960px){body{font-size:100%}}strong{font-weight:600;color:#222}p{margin-top:0px;margin-bottom:1.5em;line-height:1.6}@font-face{font-family:'fontello';src:url("/fonts/fontello/fontello.eot");src:url("/fonts/fontello/fontello.woff2") format("woff2"),url("/fonts/fontello/fontello.woff") format("woff"),url("/fonts/fontello/fontello.ttf") format("truetype"),url("/fonts/fontello/fontello.svg?78165468#fontello") format("svg");font-weight:normal;font-style:normal}[class^="icon-"]:before,[class*=" icon-"]:before{font-family:"fontello";font-style:normal;font-weight:normal;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-alert:before{content:'\e810'}.icon-angle-double-right:before{content:'\f101'}.icon-attach:before{content:'\e820'}.icon-attention:before{content:'\e80f'}.icon-bash:before{content:'\e804'}.icon-bell:before{content:'\e80d'}.icon-cancel:before{content:'\e81e'}.icon-caution:before{content:'\e80f'}.icon-chrome:before{content:'\e841'}.icon-clipboard:before{content:'\e817'}.icon-code:before{content:'\f121'}.icon-cog-alt:before{content:'\e814'}.icon-css3:before{content:'\f13c'}.icon-docs:before{content:'\f15c'}.icon-download:before{content:'\e815'}.icon-facebook-official:before{content:'\f230'}.icon-firefox:before{content:'\e840'}.icon-flag:before{content:'\e813'}.icon-forum:before{content:'\f03d';margin-right:.3em}.icon-github:before{content:'\f09b'}.icon-gitter:before{content:'\e819'}.icon-go:before{content:'\e801'}.icon-golang:before{content:'\e801'}.icon-heart:before{content:'\e81d'}.icon-help:before{content:'\e81b'}.icon-home:before{content:'\e812'}.icon-html.input:before{content:'\e81f'}.icon-html5:before{content:'\e800'}.icon-html:before{content:'\e800'}.icon-hugo:before{content:'\e81f'}.icon-ie:before{content:'\e843'}.icon-info:before{content:'\e811'}.icon-instagram:before{content:'\f32d'}.icon-javascript:before{content:'\e802'}.icon-js:before{content:'\e802'}.icon-json:before{content:'\e81c'}.icon-link:before{content:'\e816'}.icon-linkedin:before{content:'\f30c'}.icon-love:before{content:'\e81d'}.icon-mail:before{content:'\e821'}.icon-markdown:before{content:'\e80e'}.icon-md:before{content:'\e80e'}.icon-note:before{content:'\e80d'}.icon-opera:before{content:'\e842'}.icon-pdf:before{content:'\f1c1'}.icon-pencil:before{content:'\e80c'}.icon-picture:before{content:'\e808'}.icon-quLine truncated
Vendored Regular → Executable
+4 -3
View File
@@ -1,3 +1,4 @@
"use strict";function showTooltip(e,t){e.setAttribute("class","copy-button tooltipped tooltipped-s"),e.setAttribute("aria-label",t)}function fallbackMessage(e){var t="",r="cut"===e?"X":"C";return t=isMac?"Press ⌘-"+r:"Press Ctrl-"+r}function toggleToc(e){e.preventDefault(),e.stopPropagation(),console.log("hello"),document.getElementById("toc").classList.toggle("toc-open"),document.getElementById("toc-toggle").classList.toggle("toc-open")}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e){if("object"==("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Clipboard=e()}}(function(){var e;return function t(e,r,n){function a(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){var r=e[o][1][t];return a(r?r:t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o<n.length;o++)a(n[o]);return a}({1:[function(e,t,r){var n=e("matches-selector");t.exports=function(e,t,r){for(var a=r?e:e.parentNode;a&&a!==document;){if(n(a,t))return a;a=a.parentNode}}},{"matches-selector":5}],2:[function(e,t,r){function n(e,t,r,n,i){var o=a.apply(this,arguments);return e.addEventListener(r,o,i),{destroy:function(){e.removeEventListener(r,o,i)}}}function a(e,t,r,n){return function(r){r.delegateTarget=i(r.target,t,!0),r.delegateTarget&&n.call(e,r)}}var i=e("closest");t.exports=n},{closest:1}],3:[function(e,t,r){r.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},r.nodeList=function(e){var t=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===t||"[object HTMLCollection]"===t)&&"length"in e&&(0===e.length||r.node(e[0]))},r.string=function(e){return"string"==typeof e||e instanceof String},r.fn=function(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t}},{}],4:[function(e,t,r){function n(e,t,r){if(!e&&!t&&!r)throw new Error("Missing required arguments");if(!s.string(t))throw new TypeError("Second argument must be a String");if(!s.fn(r))throw new TypeError("Third argument must be a Function");if(s.node(e))return a(e,t,r);if(s.nodeList(e))return i(e,t,r);if(s.string(e))return o(e,t,r);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function a(e,t,r){return e.addEventListener(t,r),{destroy:function(){e.removeEventListener(t,r)}}}function i(e,t,r){return Array.prototype.forEach.call(e,function(e){e.addEventListener(t,r)}),{destroy:function(){Array.prototype.forEach.call(e,function(e){e.removeEventListener(t,r)})}}}function o(e,t,r){return l(document.body,e,t,r)}var s=e("./is"),l=e("delegate");t.exports=n},{"./is":3,delegate:2}],5:[function(e,t,r){function n(e,t){if(i)return i.call(e,t);for(var r=e.parentNode.querySelectorAll(t),n=0;n<r.length;++n)if(r[n]==e)return!0;return!1}var a=Element.prototype,i=a.matchesSelector||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||a.oMatchesSelector;t.exports=n},{}],6:[function(e,t,r){function n(e){var t;if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName)e.focus(),e.setSelectionRange(0,e.value.length),t=e.value;else{e.hasAttribute("contenteditable")&&e.focus();var r=window.getSelection(),n=document.createRange();n.selectNodeContents(e),r.removeAllRanges(),r.addRange(n),t=r.toString()}return t}t.exports=n},{}],7:[function(e,t,r){function n(){}n.prototype={on:function(e,t,r){var n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:r}),this},once:function(e,t,r){function n(){a.off(e,n),t.apply(r,arguments)}var a=this;return n._=t,this.on(e,n,r)},emit:function(e){var t=[].slice.call(arguments,1),r=((this.e||(this.e={}))[e]||[]).slice(),n=0,a=r.length;for(n;a>n;n++)r[n].fn.apply(r[n].ctx,t);return this},off:function(e,t){var r=this.e||(this.e={}),n=r[e],a=[];if(n&&t)for(var i=0,o=n.length;o>i;i++)n[i].fn!==t&&n[i].fn._!==t&&a.push(n[i]);return a.length?r[e]=a:delete r[e],this}},t.exports=n},{}],8:[function(t,r,n){!function(a,i){if("function"==typeof e&&e.amd)e(["module","select"],i);else if("undefined"!=typeof n)i(r,t("select"));else{var o={exports:{}};i(o,a.select),a.clipboardAction=o.exports}}(this,function(e,t){function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=r(t),i="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return"undefined"==typeof e?"undefined":_typeof(e)}:function(e){return e&&"function"==typeofLine truncated "use strict";function showTooltip(e,t){e.setAttribute("class","copy-button tooltipped tooltipped-s"),e.setAttribute("aria-label",t)}function fallbackMessage(e){var t="",r="cut"===e?"X":"C";return t=isMac?"Press ⌘-"+r:"Press Ctrl-"+r}function toggleToc(e){e.preventDefault(),e.stopPropagation(),console.log("hello"),document.getElementById("toc").classList.toggle("toc-open"),document.getElementById("toc-toggle").classList.toggle("toc-open")}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e){if("object"==("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Clipboard=e()}}(function(){var e;return function t(e,r,n){function a(i,s){if(!r[i]){if(!e[i]){var l="function"==typeof require&&require;if(!s&&l)return l(i,!0);if(o)return o(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[i]={exports:{}};e[i][0].call(u.exports,function(t){var r=e[i][1][t];return a(r?r:t)},u,u.exports,t,e,r,n)}return r[i].exports}for(var o="function"==typeof require&&require,i=0;i<n.length;i++)a(n[i]);return a}({1:[function(e,t,r){var n=e("matches-selector");t.exports=function(e,t,r){for(var a=r?e:e.parentNode;a&&a!==document;){if(n(a,t))return a;a=a.parentNode}}},{"matches-selector":5}],2:[function(e,t,r){function n(e,t,r,n,o){var i=a.apply(this,arguments);return e.addEventListener(r,i,o),{destroy:function(){e.removeEventListener(r,i,o)}}}function a(e,t,r,n){return function(r){r.delegateTarget=o(r.target,t,!0),r.delegateTarget&&n.call(e,r)}}var o=e("closest");t.exports=n},{closest:1}],3:[function(e,t,r){r.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},r.nodeList=function(e){var t=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===t||"[object HTMLCollection]"===t)&&"length"in e&&(0===e.length||r.node(e[0]))},r.string=function(e){return"string"==typeof e||e instanceof String},r.fn=function(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t}},{}],4:[function(e,t,r){function n(e,t,r){if(!e&&!t&&!r)throw new Error("Missing required arguments");if(!s.string(t))throw new TypeError("Second argument must be a String");if(!s.fn(r))throw new TypeError("Third argument must be a Function");if(s.node(e))return a(e,t,r);if(s.nodeList(e))return o(e,t,r);if(s.string(e))return i(e,t,r);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function a(e,t,r){return e.addEventListener(t,r),{destroy:function(){e.removeEventListener(t,r)}}}function o(e,t,r){return Array.prototype.forEach.call(e,function(e){e.addEventListener(t,r)}),{destroy:function(){Array.prototype.forEach.call(e,function(e){e.removeEventListener(t,r)})}}}function i(e,t,r){return l(document.body,e,t,r)}var s=e("./is"),l=e("delegate");t.exports=n},{"./is":3,delegate:2}],5:[function(e,t,r){function n(e,t){if(o)return o.call(e,t);for(var r=e.parentNode.querySelectorAll(t),n=0;n<r.length;++n)if(r[n]==e)return!0;return!1}var a=Element.prototype,o=a.matchesSelector||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||a.oMatchesSelector;t.exports=n},{}],6:[function(e,t,r){function n(e){var t;if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName)e.focus(),e.setSelectionRange(0,e.value.length),t=e.value;else{e.hasAttribute("contenteditable")&&e.focus();var r=window.getSelection(),n=document.createRange();n.selectNodeContents(e),r.removeAllRanges(),r.addRange(n),t=r.toString()}return t}t.exports=n},{}],7:[function(e,t,r){function n(){}n.prototype={on:function(e,t,r){var n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:r}),this},once:function(e,t,r){function n(){a.off(e,n),t.apply(r,arguments)}var a=this;return n._=t,this.on(e,n,r)},emit:function(e){var t=[].slice.call(arguments,1),r=((this.e||(this.e={}))[e]||[]).slice(),n=0,a=r.length;for(n;a>n;n++)r[n].fn.apply(r[n].ctx,t);return this},off:function(e,t){var r=this.e||(this.e={}),n=r[e],a=[];if(n&&t)for(var o=0,i=n.length;i>o;o++)n[o].fn!==t&&n[o].fn._!==t&&a.push(n[o]);return a.length?r[e]=a:delete r[e],this}},t.exports=n},{}],8:[function(t,r,n){!function(a,o){if("function"==typeof e&&e.amd)e(["module","select"],o);else if("undefined"!=typeof n)o(r,t("select"));else{var i={exports:{}};o(i,a.select),a.clipboardAction=i.exports}}(this,function(e,t){function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=r(t),o="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return"undefined"==typeof e?"undefined":_typeof(e)}:function(e){return e&&"function"==typeofLine truncated
}return a}var l;if(w.Hooks.registered[r]){var c=r,u=w.Hooks.getRoot(c);a===n&&(a=w.getPropertyValue(e,w.Names.prefixCheck(u)[0])),w.Normalizations.registered[u]&&(a=w.Normalizations.registered[u]("extract",e,a)),l=w.Hooks.extractValue(c,a)}else if(w.Normalizations.registered[r]){var p,g;p=w.Normalizations.registered[r]("name",e),"transform"!==p&&(g=s(e,w.Names.prefixCheck(p)[0]),w.Values.isCSSNullValue(g)&&w.Hooks.templates[r]&&(g=w.Hooks.templates[r][1])),l=w.Normalizations.registered[r]("extract",e,g)}if(!/^[\d-]/.test(l)){var m=o(e);if(m&&m.isSVG&&w.Names.SVGAttribute(r))if(/^(height|width)$/i.test(r))try{l=e.getBBox()[r]}catch(b){l=0}else l=e.getAttribute(r);else l=s(e,w.Names.prefixCheck(r)[0])}return w.Values.isCSSNullValue(l)&&(l=0),v.debug>=2&&console.log("Get "+r+": "+l),l},setPropertyValue:function(e,r,n,a,i){var s=r;if("scroll"===r)i.container?i.container["scroll"+i.direction]=n:"Left"===i.direction?t.scrollTo(n,i.alternateValue):t.scrollTo(i.alternateValue,n);else if(w.Normalizations.registered[r]&&"transform"===w.Normalizations.registered[r]("name",e))w.Normalizations.registered[r]("inject",e,n),s="transform",n=o(e).transformCache[r];else{if(w.Hooks.registered[r]){var l=r,c=w.Hooks.getRoot(r);a=a||w.getPropertyValue(e,c),n=w.Hooks.injectValue(l,n,a),r=c}if(w.Normalizations.registered[r]&&(n=w.Normalizations.registered[r]("inject",e,n),r=w.Normalizations.registered[r]("name",e)),s=w.Names.prefixCheck(r)[0],d<=8)try{e.style[s]=n}catch(u){v.debug&&console.log("Browser does not support ["+n+"] for ["+s+"]")}else{var p=o(e);p&&p.isSVG&&w.Names.SVGAttribute(r)?e.setAttribute(r,n):e.style[s]=n}v.debug>=2&&console.log("Set "+r+" ("+s+"): "+n)}return[s,n]},flushTransformCache:function(e){var t="",r=o(e);if((d||v.State.isAndroid&&!v.State.isChrome)&&r&&r.isSVG){var n=function(t){return parseFloat(w.getPropertyValue(e,t))},a={translate:[n("translateX"),n("translateY")],skewX:[n("skewX")],skewY:[n("skewY")],scale:1!==n("scale")?[n("scale"),n("scale")]:[n("scaleX"),n("scaleY")],rotate:[n("rotateZ"),0,0]};f.each(o(e).transformCache,function(e){/^translate/i.test(e)?e="translate":/^scale/i.test(e)?e="scale":/^rotate/i.test(e)&&(e="rotate"),a[e]&&(t+=e+"("+a[e].join(" ")+") ",delete a[e])})}else{var i,s;f.each(o(e).transformCache,function(r){return i=o(e).transformCache[r],"transformPerspective"===r?(s=i,!0):(9===d&&"rotateZ"===r&&(r="rotate"),void(t+=r+i+" "))}),s&&(t="perspective"+s+" "+t)}w.setPropertyValue(e,"transform",t)}};w.Hooks.register(),w.Normalizations.register(),v.hook=function(e,t,r){var a;return e=i(e),f.each(e,function(e,i){if(o(i)===n&&v.init(i),r===n)a===n&&(a=v.CSS.getPropertyValue(i,t));else{var s=v.CSS.setPropertyValue(i,t,r);"transform"===s[0]&&v.CSS.flushTransformCache(i),a=s}}),a};var x=function k(){function e(){return l?T.promise||null:d}function a(e,a){function i(i){var d,g;if(l.begin&&0===P)try{l.begin.call(b,b)}catch(h){setTimeout(function(){throw h},1)}if("scroll"===O){var x,k,N,E=/^x$/i.test(l.axis)?"Left":"Top",M=parseFloat(l.offset)||0;l.container?m.isWrapped(l.container)||m.isNode(l.container)?(l.container=l.container[0]||l.container,x=l.container["scroll"+E],N=x+f(e).position()[E.toLowerCase()]+M):l.container=null:(x=v.State.scrollAnchor[v.State["scrollProperty"+E]],k=v.State.scrollAnchor[v.State["scrollProperty"+("Left"===E?"Top":"Left")]],N=f(e).offset()[E.toLowerCase()]+M),p={scroll:{rootPropertyValue:!1,startValue:x,currentValue:x,endValue:N,unitType:"",easing:l.easing,scrollData:{container:l.container,direction:E,alternateValue:k}},element:e},v.debug&&console.log("tweensContainer (scroll): ",p.scroll,e)}else if("reverse"===O){if(d=o(e),!d)return;if(!d.tweensContainer)return void f.dequeue(e,l.queue);"none"===d.opts.display&&(d.opts.display="auto"),"hidden"===d.opts.visibility&&(d.opts.visibility="visible"),d.opts.loop=!1,d.opts.begin=null,d.opts.complete=null,S.easing||delete l.easing,S.duration||delete l.duration,l=f.extend({},d.opts,l),g=f.extend(!0,{},d?d.tweensContainer:null);for(var I in g)if("element"!==I){var A=g[I].startValue;g[I].startValue=g[I].currentValue=g[I].endValue,g[I].endValue=A,m.isEmptyObject(S)||(g[I].easing=l.easing),v.debug&&console.log("reverse tweensContainer ("+I+"): "+JSON.stringify(g[I]),e)}p=g}else if("start"===O){d=o(e),d&&d.tweensContainer&&d.isAnimating===!0&&(g=d.tweensContainer);var D=function(t,r){var i,o,s;return m.isArray(t)?(i=t[0],!m.isArray(t[1])&&/^[\d-]/.test(t[1])||m.isFunction(t[1])||w.RegEx.isHex.test(t[1])?s=t[1]:(m.isString(t[1])&&!w.RegEx.isHex.test(t[1])||m.isArray(t[1]))&&(o=r?t[1]:c(t[1],l.duration),t[2]!==n&&(s=t[2]))):i=t,r||(o=o||l.easing),m.isFunction(i)&&(i=i.call(e,a,C)),m.isFunction(s)&&(s=s.call(e,a,C)),[i||0,o,s]};f.each(y,function(e,t){if(RegExp("^"+w.Lists.colors.join("$|^")+"$").test(w.Names.camelCase(e))){var r=D(t,!0),a=r[0],i=r[1],o=r[2];if(w.RegEx.isHex.test(a)){for(var s=["Red","Green","Blue"],l=w.Values.hexToRgb(a),c=o?w.Values.hexToRgb(o):n,u=0;u<s.length;u++){var p=[l[u]];i&&p.push(i),c!==n&&p.push(c[Line truncated }return a}var l;if(w.Hooks.registered[r]){var c=r,u=w.Hooks.getRoot(c);a===n&&(a=w.getPropertyValue(e,w.Names.prefixCheck(u)[0])),w.Normalizations.registered[u]&&(a=w.Normalizations.registered[u]("extract",e,a)),l=w.Hooks.extractValue(c,a)}else if(w.Normalizations.registered[r]){var f,g;f=w.Normalizations.registered[r]("name",e),"transform"!==f&&(g=s(e,w.Names.prefixCheck(f)[0]),w.Values.isCSSNullValue(g)&&w.Hooks.templates[r]&&(g=w.Hooks.templates[r][1])),l=w.Normalizations.registered[r]("extract",e,g)}if(!/^[\d-]/.test(l)){var m=i(e);if(m&&m.isSVG&&w.Names.SVGAttribute(r))if(/^(height|width)$/i.test(r))try{l=e.getBBox()[r]}catch(b){l=0}else l=e.getAttribute(r);else l=s(e,w.Names.prefixCheck(r)[0])}return w.Values.isCSSNullValue(l)&&(l=0),v.debug>=2&&console.log("Get "+r+": "+l),l},setPropertyValue:function(e,r,n,a,o){var s=r;if("scroll"===r)o.container?o.container["scroll"+o.direction]=n:"Left"===o.direction?t.scrollTo(n,o.alternateValue):t.scrollTo(o.alternateValue,n);else if(w.Normalizations.registered[r]&&"transform"===w.Normalizations.registered[r]("name",e))w.Normalizations.registered[r]("inject",e,n),s="transform",n=i(e).transformCache[r];else{if(w.Hooks.registered[r]){var l=r,c=w.Hooks.getRoot(r);a=a||w.getPropertyValue(e,c),n=w.Hooks.injectValue(l,n,a),r=c}if(w.Normalizations.registered[r]&&(n=w.Normalizations.registered[r]("inject",e,n),r=w.Normalizations.registered[r]("name",e)),s=w.Names.prefixCheck(r)[0],d<=8)try{e.style[s]=n}catch(u){v.debug&&console.log("Browser does not support ["+n+"] for ["+s+"]")}else{var f=i(e);f&&f.isSVG&&w.Names.SVGAttribute(r)?e.setAttribute(r,n):e.style[s]=n}v.debug>=2&&console.log("Set "+r+" ("+s+"): "+n)}return[s,n]},flushTransformCache:function(e){var t="",r=i(e);if((d||v.State.isAndroid&&!v.State.isChrome)&&r&&r.isSVG){var n=function(t){return parseFloat(w.getPropertyValue(e,t))},a={translate:[n("translateX"),n("translateY")],skewX:[n("skewX")],skewY:[n("skewY")],scale:1!==n("scale")?[n("scale"),n("scale")]:[n("scaleX"),n("scaleY")],rotate:[n("rotateZ"),0,0]};p.each(i(e).transformCache,function(e){/^translate/i.test(e)?e="translate":/^scale/i.test(e)?e="scale":/^rotate/i.test(e)&&(e="rotate"),a[e]&&(t+=e+"("+a[e].join(" ")+") ",delete a[e])})}else{var o,s;p.each(i(e).transformCache,function(r){return o=i(e).transformCache[r],"transformPerspective"===r?(s=o,!0):(9===d&&"rotateZ"===r&&(r="rotate"),void(t+=r+o+" "))}),s&&(t="perspective"+s+" "+t)}w.setPropertyValue(e,"transform",t)}};w.Hooks.register(),w.Normalizations.register(),v.hook=function(e,t,r){var a;return e=o(e),p.each(e,function(e,o){if(i(o)===n&&v.init(o),r===n)a===n&&(a=v.CSS.getPropertyValue(o,t));else{var s=v.CSS.setPropertyValue(o,t,r);"transform"===s[0]&&v.CSS.flushTransformCache(o),a=s}}),a};var x=function k(){function e(){return l?T.promise||null:d}function a(e,a){function o(o){var d,g;if(l.begin&&0===P)try{l.begin.call(b,b)}catch(h){setTimeout(function(){throw h},1)}if("scroll"===O){var x,k,N,E=/^x$/i.test(l.axis)?"Left":"Top",M=parseFloat(l.offset)||0;l.container?m.isWrapped(l.container)||m.isNode(l.container)?(l.container=l.container[0]||l.container,x=l.container["scroll"+E],N=x+p(e).position()[E.toLowerCase()]+M):l.container=null:(x=v.State.scrollAnchor[v.State["scrollProperty"+E]],k=v.State.scrollAnchor[v.State["scrollProperty"+("Left"===E?"Top":"Left")]],N=p(e).offset()[E.toLowerCase()]+M),f={scroll:{rootPropertyValue:!1,startValue:x,currentValue:x,endValue:N,unitType:"",easing:l.easing,scrollData:{container:l.container,direction:E,alternateValue:k}},element:e},v.debug&&console.log("tweensContainer (scroll): ",f.scroll,e)}else if("reverse"===O){if(d=i(e),!d)return;if(!d.tweensContainer)return void p.dequeue(e,l.queue);"none"===d.opts.display&&(d.opts.display="auto"),"hidden"===d.opts.visibility&&(d.opts.visibility="visible"),d.opts.loop=!1,d.opts.begin=null,d.opts.complete=null,S.easing||delete l.easing,S.duration||delete l.duration,l=p.extend({},d.opts,l),g=p.extend(!0,{},d?d.tweensContainer:null);for(var I in g)if("element"!==I){var A=g[I].startValue;g[I].startValue=g[I].currentValue=g[I].endValue,g[I].endValue=A,m.isEmptyObject(S)||(g[I].easing=l.easing),v.debug&&console.log("reverse tweensContainer ("+I+"): "+JSON.stringify(g[I]),e)}f=g}else if("start"===O){d=i(e),d&&d.tweensContainer&&d.isAnimating===!0&&(g=d.tweensContainer);var D=function(t,r){var o,i,s;return m.isArray(t)?(o=t[0],!m.isArray(t[1])&&/^[\d-]/.test(t[1])||m.isFunction(t[1])||w.RegEx.isHex.test(t[1])?s=t[1]:(m.isString(t[1])&&!w.RegEx.isHex.test(t[1])||m.isArray(t[1]))&&(i=r?t[1]:c(t[1],l.duration),t[2]!==n&&(s=t[2]))):o=t,r||(i=i||l.easing),m.isFunction(o)&&(o=o.call(e,a,C)),m.isFunction(s)&&(s=s.call(e,a,C)),[o||0,i,s]};p.each(y,function(e,t){if(RegExp("^"+w.Lists.colors.join("$|^")+"$").test(w.Names.camelCase(e))){var r=D(t,!0),a=r[0],o=r[1],i=r[2];if(w.RegEx.isHex.test(a)){for(var s=["Red","Green","Blue"],l=w.Values.hexToRgb(a),c=i?w.Values.hexToRgb(i):n,u=0;u<s.length;u++){var f=[l[u]];o&&f.push(o),c!==n&&f.push(c[Line truncated
}function d(e,t,r,n){var a=n?"":O.classPrefix,i='<span class="'+a,o=r?"":T;return i+=e+'">',i+t+o}function g(){var e,r,n,a;if(!x.k)return t(N);for(a="",r=0,x.lR.lastIndex=0,n=x.lR.exec(N);n;)a+=t(N.substring(r,n.index)),e=f(x,n),e?(E+=e[1],a+=d(e[0],t(n[0]))):a+=t(n[0]),r=x.lR.lastIndex,n=x.lR.exec(N);return a+t(N.substr(r))}function m(){var e="string"==typeof x.sL;if(e&&!C[x.sL])return t(N);var r=e?u(x.sL,N,!0,k[x.sL]):p(N,x.sL.length?x.sL:void 0);return x.r>0&&(E+=r.r),e&&(k[x.sL]=r.top),d(r.language,r.value,!1,!0)}function b(){P+=null!=x.sL?m():g(),N=""}function h(e){P+=e.cN?d(e.cN,"",!0):"",x=Object.create(e,{parent:{value:x}})}function y(e,t){if(N+=e,null==t)return b(),0;var r=o(t,x);if(r)return r.skip?N+=t:(r.eB&&(N+=t),b(),r.rB||r.eB||(N=t)),h(r,t),r.rB?0:t.length;var n=s(x,t);if(n){var a=x;a.skip?N+=t:(a.rE||a.eE||(N+=t),b(),a.eE&&(N=t));do x.cN&&(P+=T),x.skip||(E+=x.r),x=x.parent;while(x!==n.parent);return n.starts&&h(n.starts,""),a.rE?0:t.length}if(l(t,x))throw new Error('Illegal lexeme "'+t+'" for mode "'+(x.cN||"<unnamed>")+'"');return N+=t,t.length||1}var v=S(e);if(!v)throw new Error('Unknown language: "'+e+'"');c(v);var w,x=i||v,k={},P="";for(w=x;w!==v;w=w.parent)w.cN&&(P=d(w.cN,"",!0)+P);var N="",E=0;try{for(var M,I,A=0;x.t.lastIndex=A,M=x.t.exec(r),M;)I=y(r.substring(A,M.index),M[0]),A=M.index+I;for(y(r.substr(A)),w=x;w.parent;w=w.parent)w.cN&&(P+=T);return{r:E,value:P,language:e,top:x}}catch(D){if(D.message&&-1!==D.message.indexOf("Illegal"))return{r:0,value:t(r)};throw D}}function p(e,r){r=r||O.languages||x(C);var n={r:0,value:t(e)},a=n;return r.filter(S).forEach(function(t){var r=u(t,e,!1);r.language=t,r.r>a.r&&(a=r),r.r>n.r&&(a=n,n=r)}),a.language&&(n.second_best=a),n}function f(e){return O.tabReplace||O.useBR?e.replace(E,function(e,t){return O.useBR&&"\n"===e?"<br>":O.tabReplace?t.replace(/\t/g,O.tabReplace):void 0}):e}function d(e,t,r){var n=t?k[t]:r,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(n)&&a.push(n),a.join(" ").trim()}function g(e){var t,r,n,o,c,g=i(e);a(g)||(O.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):t=e,c=t.textContent,n=g?u(g,c,!0):p(c),r=s(t),r.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=n.value,n.value=l(r,s(o),c)),n.value=f(n.value),e.innerHTML=n.value,e.className=d(e.className,g,n.language),e.result={language:n.language,re:n.r},n.second_best&&(e.second_best={language:n.second_best.language,re:n.second_best.r}))}function m(e){O=o(O,e)}function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll("pre code");w.forEach.call(e,g)}}function h(){addEventListener("DOMContentLoaded",b,!1),addEventListener("load",b,!1)}function y(t,r){var n=C[t]=r(e);n.aliases&&n.aliases.forEach(function(e){k[e]=t})}function v(){return x(C)}function S(e){return e=(e||"").toLowerCase(),C[e]||C[k[e]]}var w=[],x=Object.keys,C={},k={},P=/^(no-?highlight|plain|text)$/i,N=/\blang(?:uage)?-([\w-]+)\b/i,E=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,T="</span>",O={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},M={"&":"&amp;","<":"&lt;",">":"&gt;"};return e.highlight=u,e.highlightAuto=p,e.fixMarkup=f,e.highlightBlock=g,e.configure=m,e.initHighlighting=b,e.initHighlightingOnLoad=h,e.registerLanguage=y,e.listLanguages=v,e.getLanguage=S,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},e.C=function(t,r,n){var a=e.inherit({cN:"comment",b:t,e:r,c:[]},n||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e}),hljs.registerLanguage("xml",function(e){var t="[A-Za-z0-9\\._:-]+",r={eW:!0,i:/</,r:0,c:[{cN:"attr",b:t,r:0},{b:/=\s*/,r:0,c:[{cN:"string",endsParent:!0,v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},e.C("<!--","-->",{r:10}),{b:"<\\!\\[CDATA\Line truncated var r=this;return(t.is("iframe")||e("iframe",t).length>0)&&r.$instance.addClass(r.namespace+"-iframe"),r.$instance.removeClass(r.namespace+"-loading"),r.$instance.find("."+r.namespace+"-inner").not(t).slice(1).remove().end().replaceWith(e.contains(r.$instance[0],t[0])?"":t),r.$content=t.addClass(r.namespace+"-inner"),r},open:function(t){var n=this;if(n.$instance.hide().appendTo(n.root),!(t&&t.isDefaultPrevented()||n.beforeOpen(t)===!1)){t&&t.preventDefault();var a=n.getContent();if(a)return r.push(n),s(!0),n.$instance.fadeIn(n.openSpeed),n.beforeContent(t),e.when(a).always(function(e){n.setContent(e),n.afterContent(t)}).then(n.$instance.promise()).done(function(){n.afterOpen(t)})}return n.$instance.detach(),e.Deferred().reject().promise()},close:function(t){var r=this,a=e.Deferred();return r.beforeClose(t)===!1?a.reject():(0===n(r).length&&s(!1),r.$instance.fadeOut(r.closeSpeed,function(){r.$instance.detach(),r.afterClose(t),a.resolve()})),a.promise()},resize:function(e,t){if(e&&t){this.$content.css("width","").css("height","");var r=Math.max(e/(parseInt(this.$content.parent().css("width"),10)-1),t/(parseInt(this.$content.parent().css("height"),10)-1));r>1&&(r=t/Math.floor(t/r),this.$content.css("width",""+e/r+"px").css("height",""+t/r+"px"))}},chainCallbacks:function(t){for(var r in t)this[r]=e.proxy(t[r],this,e.proxy(this[r],this))}},e.extend(t,{id:0,autoBind:"[data-featherlight]",defaults:t.prototype,contentFilters:{jquery:{regex:/^[#.]\w/,test:function(t){return t instanceof e&&t},process:function(t){return this.persist!==!1?e(t):e(t).clone(!0)}},image:{regex:/\.(png|jpg|jpeg|gif|tiff|bmp|svg)(\?\S*)?$/i,process:function(t){var r=this,n=e.Deferred(),a=new Image,o=e('<img src="'+t+'" alt="" class="'+r.namespace+'-image" />');return a.onload=function(){o.naturalWidth=a.width,o.naturalHeight=a.height,n.resolve(o)},a.onerror=function(){n.reject(o)},a.src=t,n.promise()}},html:{regex:/^\s*<[\w!][^<]*>/,process:function(t){return e(t)}},ajax:{regex:/./,process:function(t){var r=e.Deferred(),n=e("<div></div>").load(t,function(e,t){"error"!==t&&r.resolve(n.contents()),r.fail()});return r.promise()}},iframe:{process:function(t){var r=new e.Deferred,n=e("<iframe/>").hide().attr("src",t).css(a(this,"iframe")).on("load",function(){r.resolve(n.show())}).appendTo(this.$instance.find("."+this.namespace+"-content"));return r.promise()}},text:{process:function(t){return e("<div>",{text:t})}}},functionAttributes:["beforeOpen","afterOpen","beforeContent","afterContent","beforeClose","afterClose"],readElementConfig:function(t,r){var n=this,a=new RegExp("^data-"+r+"-(.*)"),o={};return t&&t.attributes&&e.each(t.attributes,function(){var t=this.name.match(a);if(t){var r=this.value,i=e.camelCase(t[1]);if(e.inArray(i,n.functionAttributes)>=0)r=new Function(r);else try{r=e.parseJSON(r)}catch(s){}o[i]=r}}),o},extend:function(t,r){var n=function(){this.constructor=t};return n.prototype=this.prototype,t.prototype=new n,t.__super__=this.prototype,e.extend(t,this,r),t.defaults=t.prototype,t},attach:function(t,r,n){var a=this;"object"!==("undefined"==typeof r?"undefined":_typeof(r))||r instanceof e!=!1||n||(n=r,r=void 0),n=e.extend({},n);var o,i=n.namespace||a.defaults.namespace,s=e.extend({},a.defaults,a.readElementConfig(t[0],i),n);return t.on(s.openTrigger+"."+s.namespace,s.filter,function(i){var l=e.extend({$source:t,$currentTarget:e(this)},a.readElementConfig(t[0],s.namespace),a.readElementConfig(this,s.namespace),n),c=o||e(this).data("featherlight-persisted")||new a(r,l);"shared"===c.persist?o=c:c.persist!==!1&&e(this).data("featherlight-persisted",c),l.$currentTarget.blur(),c.open(i)}),t},current:function(){var e=this.opened();return e[e.length-1]||null},opened:function(){var t=this;return n(),e.grep(r,function(e){return e instanceof t})},close:function(e){var t=this.current();if(t)return t.close(e)},_onReady:function(){var t=this;t.autoBind&&(e(t.autoBind).each(function(){t.attach(e(this))}),e(document).on("click",t.autoBind,function(r){r.isDefaultPrevented()||"featherlight"===r.namespace||(r.preventDefault(),t.attach(e(r.currentTarget)),e(r.target).trigger("click.featherlight"))}))},_callbackChain:{onKeyUp:function(t,r){return 27===r.keyCode?(this.closeOnEsc&&e.featherlight.close(r),!1):t(r)},onResize:function(e,t){return this.resize(this.$content.naturalWidth,this.$content.naturalHeight),e(t)},afterContent:function(e,t){var r=e(t);return this.onResize(t),r}}}),e.featherlight=t,e.fn.featherlight=function(e,r){return t.attach(this,e,r)},e(document).ready(function(){t._onReady()})}(jQuery);var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e){var t="object"==("undefined"==typeof window?"undefined":_typeof(window))&&window||"object"==("undefined"==typeof self?"undefined":_typeof(self))&&self;"undefined"!=typeof exports?e(exports):t&&(t.hljs=e({}),"function"==Line truncated
},{b:":",e:";",c:[r,n,e.CSSNM,e.QSM,e.ASM,{cN:"meta",b:"!important"}]},{b:"@",e:"[{;]",k:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",c:[r,e.QSM,e.ASM,n,e.CSSNM,{b:"\\s[A-Za-z0-9_.-]+",r:0}]}]}}),hljs.registerLanguage("json",function(e){var t={literal:"true false null"},r=[e.QSM,e.CNM],n={e:",",eW:!0,eE:!0,c:r,k:t},a={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(n,{b:/:/})],i:"\\S"},o={b:"\\[",e:"\\]",c:[e.inherit(n)],i:"\\S"};return r.splice(r.length,0,a,o),{c:r,k:t,i:"\\S"}}),hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},r={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},n={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh","git"],l:/-?[a-z\._]+/,k:{keyword:"hugo if | then else elif fi for while in do done case esac function yoursite.com",literal:"true -b branch false posts events authors",built_in:"break cd checkout continue eval exec exit export getopts hash pwd readonly new return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which yoursite zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,r,n,t]}}),hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}}),hljs.registerLanguage("javascript",function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",r={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},n={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},a={cN:"subst",b:"\\$\\{",e:"\\}",k:r,c:[]},o={cN:"string",b:"`",e:"`",c:[e.BE,a]};a.c=[e.ASM,e.QSM,o,n,e.RM];var i=a.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:r,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,o,e.CLCM,e.CBCM,n,{b:/[{,]\s*/,r:0,c:[{b:t+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:t,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+t+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:t},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:i}]}]},{b:/</,e:/(\/\w+|\w+\/)>/,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:t}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:i}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}}),hljs.initHighlightingOnLoad(),function(){function e(e){for(var t=0;t<e.length;t++)if(e[t].alt.indexOf("class=")>0){var r=e[t].alt.split("class=")[0],n=e[t].alt.split("class=")[1];e[t].setAttribute("alt",r),e[t].classList.add(n)}else if(e[t].alt.indexOf("id=")>0){var r=e[t].alt.split("id=")[0],a=e[t].alt.split("id=")[1];e[t].setAttribute("alt",r),e[t].id=a}}var t=document.querySelectorAll(".body-copy img");t.length<1||e(t)}(),$(".top-menu-item-link.true").on("click",function(e){e.preventDefault(),e.stopPropagation();var t=$(this).next("ul"),r=t.is(":visible"),n=r?"slideUp":"slideDown",a=r?200:400;t.velocity(n,{easing:"easeOutQuart",duration:a})}),$("#navigation-toggle").on("click",funcLine truncated
+565
View File
@@ -0,0 +1,565 @@
/**
* Featherlight - ultra slim jQuery lightbox
* Version 1.5.0 - http://noelboss.github.io/featherlight/
*
* Copyright 2016, Noël Raoul Bossart (http://www.noelboss.com)
* MIT Licensed.
**/
// Modification IIFE for digital.cap.org to wrap all images in feather anchor first
(function() {
$('.body-copy img').each(function() {
$(this).wrap('<a class=\"image-link\" data-featherlight=\"image\" href=\"' + $(this).attr('src') + '\"></a>');
});
})();
(function($) {
"use strict";
if('undefined' === typeof $) {
if('console' in window){ window.console.info('Too much lightness, Featherlight needs jQuery.'); }
return;
}
/* Featherlight is exported as $.featherlight.
It is a function used to open a featherlight lightbox.
[tech]
Featherlight uses prototype inheritance.
Each opened lightbox will have a corresponding object.
That object may have some attributes that override the
prototype's.
Extensions created with Featherlight.extend will have their
own prototype that inherits from Featherlight's prototype,
thus attributes can be overriden either at the object level,
or at the extension level.
To create callbacks that chain themselves instead of overriding,
use chainCallbacks.
For those familiar with CoffeeScript, this correspond to
Featherlight being a class and the Gallery being a class
extending Featherlight.
The chainCallbacks is used since we don't have access to
CoffeeScript's `super`.
*/
function Featherlight($content, config) {
if(this instanceof Featherlight) { /* called with new */
this.id = Featherlight.id++;
this.setup($content, config);
this.chainCallbacks(Featherlight._callbackChain);
} else {
var fl = new Featherlight($content, config);
fl.open();
return fl;
}
}
var opened = [],
pruneOpened = function(remove) {
opened = $.grep(opened, function(fl) {
return fl !== remove && fl.$instance.closest('body').length > 0;
} );
return opened;
};
// structure({iframeMinHeight: 44, foo: 0}, 'iframe')
// #=> {min-height: 44}
var structure = function(obj, prefix) {
var result = {},
regex = new RegExp('^' + prefix + '([A-Z])(.*)');
for (var key in obj) {
var match = key.match(regex);
if (match) {
var dasherized = (match[1] + match[2].replace(/([A-Z])/g, '-$1')).toLowerCase();
result[dasherized] = obj[key];
}
}
return result;
};
/* document wide key handler */
var eventMap = { keyup: 'onKeyUp', resize: 'onResize' };
var globalEventHandler = function(event) {
$.each(Featherlight.opened().reverse(), function() {
if (!event.isDefaultPrevented()) {
if (false === this[eventMap[event.type]](event)) {
event.preventDefault(); event.stopPropagation(); return false;
}
}
});
};
var toggleGlobalEvents = function(set) {
if(set !== Featherlight._globalHandlerInstalled) {
Featherlight._globalHandlerInstalled = set;
var events = $.map(eventMap, function(_, name) { return name+'.'+Featherlight.prototype.namespace; } ).join(' ');
$(window)[set ? 'on' : 'off'](events, globalEventHandler);
}
};
Featherlight.prototype = {
constructor: Featherlight,
/*** defaults ***/
/* extend featherlight with defaults and methods */
namespace: 'featherlight', /* Name of the events and css class prefix */
targetAttr: 'data-featherlight', /* Attribute of the triggered element that contains the selector to the lightbox content */
variant: null, /* Class that will be added to change look of the lightbox */
resetCss: false, /* Reset all css */
background: null, /* Custom DOM for the background, wrapper and the closebutton */
openTrigger: 'click', /* Event that triggers the lightbox */
closeTrigger: 'click', /* Event that triggers the closing of the lightbox */
filter: null, /* Selector to filter events. Think $(...).on('click', filter, eventHandler) */
root: 'body', /* Where to append featherlights */
openSpeed: 250, /* Duration of opening animation */
closeSpeed: 250, /* Duration of closing animation */
closeOnClick: 'background', /* Close lightbox on click ('background', 'anywhere' or false) */
closeOnEsc: true, /* Close lightbox when pressing esc */
closeIcon: '&#10005;', /* Close icon */
loading: '', /* Content to show while initial content is loading */
persist: false, /* If set, the content will persist and will be shown again when opened again. 'shared' is a special value when binding multiple elements for them to share the same content */
otherClose: null, /* Selector for alternate close buttons (e.g. "a.close") */
beforeOpen: $.noop, /* Called before open. can return false to prevent opening of lightbox. Gets event as parameter, this contains all data */
beforeContent: $.noop, /* Called when content is loaded. Gets event as parameter, this contains all data */
beforeClose: $.noop, /* Called before close. can return false to prevent opening of lightbox. Gets event as parameter, this contains all data */
afterOpen: $.noop, /* Called after open. Gets event as parameter, this contains all data */
afterContent: $.noop, /* Called after content is ready and has been set. Gets event as parameter, this contains all data */
afterClose: $.noop, /* Called after close. Gets event as parameter, this contains all data */
onKeyUp: $.noop, /* Called on key up for the frontmost featherlight */
onResize: $.noop, /* Called after new content and when a window is resized */
type: null, /* Specify type of lightbox. If unset, it will check for the targetAttrs value. */
contentFilters: ['jquery', 'image', 'html', 'ajax', 'iframe', 'text'], /* List of content filters to use to determine the content */
/*** methods ***/
/* setup iterates over a single instance of featherlight and prepares the background and binds the events */
setup: function(target, config){
/* all arguments are optional */
if (typeof target === 'object' && target instanceof $ === false && !config) {
config = target;
target = undefined;
}
var self = $.extend(this, config, {target: target}),
css = !self.resetCss ? self.namespace : self.namespace+'-reset', /* by adding -reset to the classname, we reset all the default css */
$background = $(self.background || [
'<div class="'+css+'-loading '+css+'">',
'<div class="'+css+'-content">',
'<span class="'+css+'-close-icon '+ self.namespace + '-close">',
self.closeIcon,
'</span>',
'<div class="'+self.namespace+'-inner">' + self.loading + '</div>',
'</div>',
'</div>'].join('')),
closeButtonSelector = '.'+self.namespace+'-close' + (self.otherClose ? ',' + self.otherClose : '');
self.$instance = $background.clone().addClass(self.variant); /* clone DOM for the background, wrapper and the close button */
/* close when click on background/anywhere/null or closebox */
self.$instance.on(self.closeTrigger+'.'+self.namespace, function(event) {
var $target = $(event.target);
if( ('background' === self.closeOnClick && $target.is('.'+self.namespace))
|| 'anywhere' === self.closeOnClick
|| $target.closest(closeButtonSelector).length ){
self.close(event);
event.preventDefault();
}
});
return this;
},
/* this method prepares the content and converts it into a jQuery object or a promise */
getContent: function(){
if(this.persist !== false && this.$content) {
return this.$content;
}
var self = this,
filters = this.constructor.contentFilters,
readTargetAttr = function(name){ return self.$currentTarget && self.$currentTarget.attr(name); },
targetValue = readTargetAttr(self.targetAttr),
data = self.target || targetValue || '';
/* Find which filter applies */
var filter = filters[self.type]; /* check explicit type like {type: 'image'} */
/* check explicit type like data-featherlight="image" */
if(!filter && data in filters) {
filter = filters[data];
data = self.target && targetValue;
}
data = data || readTargetAttr('href') || '';
/* check explicity type & content like {image: 'photo.jpg'} */
if(!filter) {
for(var filterName in filters) {
if(self[filterName]) {
filter = filters[filterName];
data = self[filterName];
}
}
}
/* otherwise it's implicit, run checks */
if(!filter) {
var target = data;
data = null;
$.each(self.contentFilters, function() {
filter = filters[this];
if(filter.test) {
data = filter.test(target);
}
if(!data && filter.regex && target.match && target.match(filter.regex)) {
data = target;
}
return !data;
});
if(!data) {
if('console' in window){ window.console.error('Featherlight: no content filter found ' + (target ? ' for "' + target + '"' : ' (no target specified)')); }
return false;
}
}
/* Process it */
return filter.process.call(self, data);
},
/* sets the content of $instance to $content */
setContent: function($content){
var self = this;
/* we need a special class for the iframe */
if($content.is('iframe') || $('iframe', $content).length > 0){
self.$instance.addClass(self.namespace+'-iframe');
}
self.$instance.removeClass(self.namespace+'-loading');
/* replace content by appending to existing one before it is removed
this insures that featherlight-inner remain at the same relative
position to any other items added to featherlight-content */
self.$instance.find('.'+self.namespace+'-inner')
.not($content) /* excluded new content, important if persisted */
.slice(1).remove().end() /* In the unexpected event where there are many inner elements, remove all but the first one */
.replaceWith($.contains(self.$instance[0], $content[0]) ? '' : $content);
self.$content = $content.addClass(self.namespace+'-inner');
return self;
},
/* opens the lightbox. "this" contains $instance with the lightbox, and with the config.
Returns a promise that is resolved after is successfully opened. */
open: function(event){
var self = this;
self.$instance.hide().appendTo(self.root);
if((!event || !event.isDefaultPrevented())
&& self.beforeOpen(event) !== false) {
if(event){
event.preventDefault();
}
var $content = self.getContent();
if($content) {
opened.push(self);
toggleGlobalEvents(true);
self.$instance.fadeIn(self.openSpeed);
self.beforeContent(event);
/* Set content and show */
return $.when($content)
.always(function($content){
self.setContent($content);
self.afterContent(event);
})
.then(self.$instance.promise())
/* Call afterOpen after fadeIn is done */
.done(function(){ self.afterOpen(event); });
}
}
self.$instance.detach();
return $.Deferred().reject().promise();
},
/* closes the lightbox. "this" contains $instance with the lightbox, and with the config
returns a promise, resolved after the lightbox is successfully closed. */
close: function(event){
var self = this,
deferred = $.Deferred();
if(self.beforeClose(event) === false) {
deferred.reject();
} else {
if (0 === pruneOpened(self).length) {
toggleGlobalEvents(false);
}
self.$instance.fadeOut(self.closeSpeed,function(){
self.$instance.detach();
self.afterClose(event);
deferred.resolve();
});
}
return deferred.promise();
},
/* resizes the content so it fits in visible area and keeps the same aspect ratio.
Does nothing if either the width or the height is not specified.
Called automatically on window resize.
Override if you want different behavior. */
resize: function(w, h) {
if (w && h) {
/* Reset apparent image size first so container grows */
this.$content.css('width', '').css('height', '');
/* Calculate the worst ratio so that dimensions fit */
/* Note: -1 to avoid rounding errors */
var ratio = Math.max(
w / (parseInt(this.$content.parent().css('width'),10)-1),
h / (parseInt(this.$content.parent().css('height'),10)-1));
/* Resize content */
if (ratio > 1) {
ratio = h / Math.floor(h / ratio); /* Round ratio down so height calc works */
this.$content.css('width', '' + w / ratio + 'px').css('height', '' + h / ratio + 'px');
}
}
},
/* Utility function to chain callbacks
[Warning: guru-level]
Used be extensions that want to let users specify callbacks but
also need themselves to use the callbacks.
The argument 'chain' has callback names as keys and function(super, event)
as values. That function is meant to call `super` at some point.
*/
chainCallbacks: function(chain) {
for (var name in chain) {
this[name] = $.proxy(chain[name], this, $.proxy(this[name], this));
}
}
};
$.extend(Featherlight, {
id: 0, /* Used to id single featherlight instances */
autoBind: '[data-featherlight]', /* Will automatically bind elements matching this selector. Clear or set before onReady */
defaults: Featherlight.prototype, /* You can access and override all defaults using $.featherlight.defaults, which is just a synonym for $.featherlight.prototype */
/* Contains the logic to determine content */
contentFilters: {
jquery: {
regex: /^[#.]\w/, /* Anything that starts with a class name or identifiers */
test: function(elem) { return elem instanceof $ && elem; },
process: function(elem) { return this.persist !== false ? $(elem) : $(elem).clone(true); }
},
image: {
regex: /\.(png|jpg|jpeg|gif|tiff|bmp|svg)(\?\S*)?$/i,
process: function(url) {
var self = this,
deferred = $.Deferred(),
img = new Image(),
$img = $('<img src="'+url+'" alt="" class="'+self.namespace+'-image" />');
img.onload = function() {
/* Store naturalWidth & height for IE8 */
$img.naturalWidth = img.width; $img.naturalHeight = img.height;
deferred.resolve( $img );
};
img.onerror = function() { deferred.reject($img); };
img.src = url;
return deferred.promise();
}
},
html: {
regex: /^\s*<[\w!][^<]*>/, /* Anything that starts with some kind of valid tag */
process: function(html) { return $(html); }
},
ajax: {
regex: /./, /* At this point, any content is assumed to be an URL */
process: function(url) {
var self = this,
deferred = $.Deferred();
/* we are using load so one can specify a target with: url.html #targetelement */
var $container = $('<div></div>').load(url, function(response, status){
if ( status !== "error" ) {
deferred.resolve($container.contents());
}
deferred.fail();
});
return deferred.promise();
}
},
iframe: {
process: function(url) {
var deferred = new $.Deferred();
var $content = $('<iframe/>')
.hide()
.attr('src', url)
.css(structure(this, 'iframe'))
.on('load', function() { deferred.resolve($content.show()); })
// We can't move an <iframe> and avoid reloading it,
// so let's put it in place ourselves right now:
.appendTo(this.$instance.find('.' + this.namespace + '-content'));
return deferred.promise();
}
},
text: {
process: function(text) { return $('<div>', {text: text}); }
}
},
functionAttributes: ['beforeOpen', 'afterOpen', 'beforeContent', 'afterContent', 'beforeClose', 'afterClose'],
/*** class methods ***/
/* read element's attributes starting with data-featherlight- */
readElementConfig: function(element, namespace) {
var Klass = this,
regexp = new RegExp('^data-' + namespace + '-(.*)'),
config = {};
if (element && element.attributes) {
$.each(element.attributes, function(){
var match = this.name.match(regexp);
if (match) {
var val = this.value,
name = $.camelCase(match[1]);
if ($.inArray(name, Klass.functionAttributes) >= 0) { /* jshint -W054 */
val = new Function(val); /* jshint +W054 */
} else {
try { val = $.parseJSON(val); }
catch(e) {}
}
config[name] = val;
}
});
}
return config;
},
/* Used to create a Featherlight extension
[Warning: guru-level]
Creates the extension's prototype that in turn
inherits Featherlight's prototype.
Could be used to extend an extension too...
This is pretty high level wizardy, it comes pretty much straight
from CoffeeScript and won't teach you anything about Featherlight
as it's not really specific to this library.
My suggestion: move along and keep your sanity.
*/
extend: function(child, defaults) {
/* Setup class hierarchy, adapted from CoffeeScript */
var Ctor = function(){ this.constructor = child; };
Ctor.prototype = this.prototype;
child.prototype = new Ctor();
child.__super__ = this.prototype;
/* Copy class methods & attributes */
$.extend(child, this, defaults);
child.defaults = child.prototype;
return child;
},
attach: function($source, $content, config) {
var Klass = this;
if (typeof $content === 'object' && $content instanceof $ === false && !config) {
config = $content;
$content = undefined;
}
/* make a copy */
config = $.extend({}, config);
/* Only for openTrigger and namespace... */
var namespace = config.namespace || Klass.defaults.namespace,
tempConfig = $.extend({}, Klass.defaults, Klass.readElementConfig($source[0], namespace), config),
sharedPersist;
$source.on(tempConfig.openTrigger+'.'+tempConfig.namespace, tempConfig.filter, function(event) {
/* ... since we might as well compute the config on the actual target */
var elemConfig = $.extend(
{$source: $source, $currentTarget: $(this)},
Klass.readElementConfig($source[0], tempConfig.namespace),
Klass.readElementConfig(this, tempConfig.namespace),
config);
var fl = sharedPersist || $(this).data('featherlight-persisted') || new Klass($content, elemConfig);
if(fl.persist === 'shared') {
sharedPersist = fl;
} else if(fl.persist !== false) {
$(this).data('featherlight-persisted', fl);
}
elemConfig.$currentTarget.blur(); // Otherwise 'enter' key might trigger the dialog again
fl.open(event);
});
return $source;
},
current: function() {
var all = this.opened();
return all[all.length - 1] || null;
},
opened: function() {
var klass = this;
pruneOpened();
return $.grep(opened, function(fl) { return fl instanceof klass; } );
},
close: function(event) {
var cur = this.current();
if(cur) { return cur.close(event); }
},
/* Does the auto binding on startup.
Meant only to be used by Featherlight and its extensions
*/
_onReady: function() {
var Klass = this;
if(Klass.autoBind){
/* Bind existing elements */
$(Klass.autoBind).each(function(){
Klass.attach($(this));
});
/* If a click propagates to the document level, then we have an item that was added later on */
$(document).on('click', Klass.autoBind, function(evt) {
if (evt.isDefaultPrevented() || evt.namespace === 'featherlight') {
return;
}
evt.preventDefault();
/* Bind featherlight */
Klass.attach($(evt.currentTarget));
/* Click again; this time our binding will catch it */
$(evt.target).trigger('click.featherlight');
});
}
},
/* Featherlight uses the onKeyUp callback to intercept the escape key.
Private to Featherlight.
*/
_callbackChain: {
onKeyUp: function(_super, event){
if(27 === event.keyCode) {
if (this.closeOnEsc) {
$.featherlight.close(event);
}
return false;
} else {
return _super(event);
}
},
onResize: function(_super, event){
this.resize(this.$content.naturalWidth, this.$content.naturalHeight);
return _super(event);
},
afterContent: function(_super, event){
var r = _super(event);
this.onResize(event);
return r;
}
}
});
$.featherlight = Featherlight;
/* bind jQuery elements to trigger featherlight */
$.fn.featherlight = function($content, config) {
return Featherlight.attach(this, $content, config);
};
/* bind featherlight on ready if config autoBind is set */
$(document).ready(function(){ Featherlight._onReady(); });
}(jQuery));
@@ -1,4 +1,7 @@
img { .body-copy {
width:100%; img {
height:auto; width: 100%;
} max-width: 100%;
height: auto;
}
}
+2
View File
@@ -17,6 +17,7 @@
@import 'components/buttons'; @import 'components/buttons';
@import 'components/lists'; @import 'components/lists';
@import 'components/anchors'; @import 'components/anchors';
@import 'components/images';
@import 'components/note-caution-and-warning-shortcodes'; @import 'components/note-caution-and-warning-shortcodes';
@import 'vendor/highlightjs'; @import 'vendor/highlightjs';
@import 'components/code'; @import 'components/code';
@@ -31,6 +32,7 @@
@import 'components/blockquotes'; @import 'components/blockquotes';
@import 'components/breadcrumb'; @import 'components/breadcrumb';
@import 'components/tables'; @import 'components/tables';
@import 'vendor/featherlight.scss';
//major layout parts/chrome //major layout parts/chrome
@import 'layout/site-header'; @import 'layout/site-header';
+137
View File
@@ -0,0 +1,137 @@
/**
* Featherlight – ultra slim jQuery lightbox
* Version 1.5.0 - http://noelboss.github.io/featherlight/
*
* Copyright 2016, Noël Raoul Bossart (http://www.noelboss.com)
* MIT Licensed.
**/
@media all {
.featherlight {
display: none;
/* dimensions: spanning the background from edge to edge */
position:fixed;
top: 0; right: 0; bottom: 0; left: 0;
z-index: 2147483647; /* z-index needs to be >= elements on the site. */
/* position: centering content */
text-align: center;
/* insures that the ::before pseudo element doesn't force wrap with fixed width content; */
white-space: nowrap;
/* styling */
cursor: pointer;
background: #333;
}
/* support for nested featherlights. Does not work in IE8 (use JS to fix) */
.featherlight:last-of-type {
background: rgba(0, 0, 0, 0.8);
}
.featherlight:before {
/* position: trick to center content vertically */
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -0.25em;
}
.featherlight .featherlight-content {
/* make content container for positioned elements (close button) */
position: relative;
/* position: centering vertical and horizontal */
text-align: left;
vertical-align: middle;
display: inline-block;
/* dimensions: cut off images */
overflow: auto;
border-radius:0px;
// padding: 1px 1px 0;
padding: 0px;
// border-bottom: 1px solid transparent;
border-bottom: 0px solid transparent;
/* dimensions: handling large content */
margin-left: 5%;
margin-right: 5%;
max-height: 95%;
/* styling */
background: $body-bg-color;
cursor: auto;
/* reset white-space wrapping */
white-space: normal;
}
/* contains the content */
.featherlight .featherlight-inner {
/* make sure its visible */
display: block;
}
.featherlight .featherlight-close-icon {
/* position: centering vertical and horizontal */
position: absolute;
z-index: 9999;
top: 0;
right: 0;
font-size: 1.1em;
/* dimensions: 25px x 25px */
line-height: 2em;
width: 2em;
/* styling */
cursor: pointer;
text-align: center;
font-family: Arial, sans-serif;
background-color: rgba(255,255,255,0.8);
color: $base-font-color;
}
.featherlight .featherlight-image {
/* styling */
width: 100%;
}
.featherlight-iframe .featherlight-content {
/* removed the border for image croping since iframe is edge to edge */
border-bottom: 0;
padding: 0;
}
.featherlight iframe {
/* styling */
border: none;
}
.featherlight * { /* See https://github.com/noelboss/featherlight/issues/42 */
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
}
/* handling phones and small screens */
@media only screen and (max-width: 1024px) {
.featherlight .featherlight-content {
/* dimensions: maximize lightbox with for small screens */
margin-left: 10px;
margin-right: 10px;
max-height: 98%;
}
}
a.image-link:hover {
border-bottom:0px solid transparent!important;
cursor: zoom-in;
}