Initial commit
No files matched your search
@@ -0,0 +1,28 @@
|
||||
b-cov
|
||||
*.seed
|
||||
*.log
|
||||
*.csv
|
||||
*.dat
|
||||
*.out
|
||||
*.pid
|
||||
*.gz
|
||||
|
||||
pids
|
||||
logs
|
||||
results
|
||||
|
||||
npm-debug.log
|
||||
node_modules
|
||||
package-lock.json
|
||||
|
||||
.idea/*
|
||||
*.iml
|
||||
projectFilesBackup
|
||||
|
||||
.DS_Store
|
||||
|
||||
dist/
|
||||
|
||||
config.json
|
||||
changelog.md
|
||||
changelog.md.bk
|
||||
@@ -0,0 +1,2 @@
|
||||
!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){var i;if(e&&t)return-1==(i=(i=this._events=this._events||{})[e]=i[e]||[]).indexOf(t)&&i.push(t),this},t.once=function(e,t){var i;if(e&&t)return this.on(e,t),((i=this._onceEvents=this._onceEvents||{})[e]=i[e]||{})[t]=!0,this},t.off=function(e,t){e=this._events&&this._events[e];if(e&&e.length)return-1!=(t=e.indexOf(t))&&e.splice(t,1),this},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o<i.length;o++){var s=i[o];n&&n[s]&&(this.off(e,s),delete n[s]),s.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e}),function(t,i){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(e){return i(t,e)}):"object"==typeof module&&module.exports?module.exports=i(t,require("ev-emitter")):t.imagesLoaded=i(t,t.EvEmitter)}("undefined"!=typeof window?window:this,function(t,e){function s(e,t){for(var i in t)e[i]=t[i];return e}function r(e,t,i){var n,o;return this instanceof r?(n="string"==typeof(n=e)?document.querySelectorAll(e):n)?(this.elements=(o=n,Array.isArray(o)?o:"object"==typeof o&&"number"==typeof o.length?h.call(o):[o]),this.options=s({},this.options),"function"==typeof t?i=t:s(this.options,t),i&&this.on("always",i),this.getImages(),a&&(this.jqDeferred=new a.Deferred),void setTimeout(this.check.bind(this))):void d.error("Bad element for imagesLoaded "+(n||e)):new r(e,t,i)}function i(e){this.img=e}function n(e,t){this.url=e,this.element=t,this.img=new Image}var a=t.jQuery,d=t.console,h=Array.prototype.slice,c=((r.prototype=Object.create(e.prototype)).options={},r.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},r.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),!0===this.options.background&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&c[t]){for(var i=e.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background)for(var s=e.querySelectorAll(this.options.background),n=0;n<s.length;n++){var r=s[n];this.addElementBackgroundImages(r)}}},{1:!0,9:!0,11:!0});return r.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(t.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,e),n=i.exec(t.backgroundImage)}},r.prototype.addImage=function(e){e=new i(e);this.images.push(e)},r.prototype.addBackground=function(e,t){e=new n(e,t);this.images.push(e)},r.prototype.check=function(){function t(e,t,i){setTimeout(function(){n.progress(e,t,i)})}var n=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(e){e.once("progress",t),e.check()}):void this.complete()},r.prototype.progress=function(e,t,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&d&&d.log("progress: "+i,e,t)},r.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred&&(e=this.hasAnyBroken?"reject":"resolve",this.jqDeferred[e](this))},(i.prototype=Object.create(e.prototype)).check=function(){return this.getIsImageComplete()?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},i.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},i.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},i.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},i.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},i.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},i.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},(n.prototype=Object.create(i.prototype)).check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},n.prototype.unbindEvents=function(){this.img.rLine truncated
|
||||
//# sourceMappingURL=casper.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["imagesloaded.pkgd.min.js","casper.js"],"names":["e","t","define","amd","module","exports","EvEmitter","window","this","prototype","on","n","i","_events","indexOf","push","once","_onceEvents","off","length","splice","emitEvent","slice","o","r","apply","allOff","require","imagesLoaded","s","document","querySelectorAll","elements","Array","isArray","d","call","options","getImages","h","jqDeferred","Deferred","setTimeout","check","bind","a","error","img","url","element","Image","jQuery","console","u","Object","create","images","forEach","addElementImages","nodeName","addImage","background","addElementBackgroundImages","nodeType","1","9","11","getComputedStyle","exec","backgroundImage","addBackground","progress","progressedCount","hasAnyBroken","complete","isLoaded","notify","debug","log","isComplete","getIsImageComplete","confirm","naturalWidth","proxyImage","addEventListener","src","handleEvent","type","onload","unbindEvents","onerror","removeEventListener","makeJQueryPlugin","fn","promise","mediaQuery","matchMedia","head","querySelector","menu","nav","logo","navHTML","innerHTML","matches","item","index","style","transitionDelay","makeDropdown","submenuItems","offsetWidth","lastElementChild","unshift","remove","toggle","createElement","wrapper","setAttribute","classList","add","gridTemplateRows","Math","ceil","child","appendChild","contains","target","navigation","burger"],"mappings":"AAMA,CAAA,SAAAA,EAAAC,GAAA,YAAA,OAAAC,QAAAA,OAAAC,IAAAD,OAAA,wBAAAD,CAAA,EAAA,UAAA,OAAAG,QAAAA,OAAAC,QAAAD,OAAAC,QAAAJ,EAAA,EAAAD,EAAAM,UAAAL,EAAA,CAAA,EAAA,aAAA,OAAAM,OAAAA,OAAAC,KAAA,WAAA,SAAAR,KAAA,IAAAC,EAAAD,EAAAS,UAAA,OAAAR,EAAAS,GAAA,SAAAV,EAAAC,GAAA,IAAAU,EAAA,GAAAX,GAAAC,EAAA,MAAA,CAAA,IAAAU,GAAAC,EAAAJ,KAAAK,QAAAL,KAAAK,SAAA,IAAAb,GAAAY,EAAAZ,IAAA,IAAAc,QAAAb,CAAA,GAAAU,EAAAI,KAAAd,CAAA,EAAAO,IAAA,EAAAP,EAAAe,KAAA,SAAAhB,EAAAC,GAAA,IAAAW,EAAA,GAAAZ,GAAAC,EAAA,OAAAO,KAAAE,GAAAV,EAAAC,CAAA,IAAAW,EAAAJ,KAAAS,YAAAT,KAAAS,aAAA,IAAAjB,GAAAY,EAAAZ,IAAA,IAAAC,GAAA,CAAA,EAAAO,IAAA,EAAAP,EAAAiB,IAAA,SAAAlB,EAAAC,GAAAW,EAAAJ,KAAAK,SAAAL,KAAAK,QAAAb,GAAA,GAAAY,GAAAA,EAAAO,OAAA,MAAA,CAAA,IAAAR,EAAAC,EAAAE,QAAAb,CAAA,IAAAW,EAAAQ,OAAAT,EAAA,CAAA,EAAAH,IAAA,EAAAP,EAAAoB,UAAA,SAAArB,EAAAC,GAAA,IAAAW,EAAAJ,KAAAK,SAAAL,KAAAK,QAAAb,GAAA,GAAAY,GAAAA,EAAAO,OAAA,CAAAP,EAAAA,EAAAU,MAAA,CAAA,EAAArB,EAAAA,GAAA,GAAA,IAAA,IAAAU,EAAAH,KAAAS,aAAAT,KAAAS,YAAAjB,GAAAuB,EAAA,EAAAA,EAAAX,EAAAO,OAAAI,CAAA,GAAA,CAAA,IAAAC,EAAAZ,EAAAW,GAAAZ,GAAAA,EAAAa,KAAAhB,KAAAU,IAAAlB,EAAAwB,CAAA,EAAA,OAAAb,EAAAa,IAAAA,EAAAC,MAAAjB,KAAAP,CAAA,CAAA,CAAA,OAAAO,IAAA,CAAA,EAAAP,EAAAyB,OAAA,WAAA,OAAAlB,KAAAK,QAAA,OAAAL,KAAAS,WAAA,EAAAjB,CAAA,CAAA,EAAA,SAAAA,EAAAC,GAAA,aAAA,YAAA,OAAAC,QAAAA,OAAAC,IAAAD,OAAA,CAAA,yBAAA,SAAAU,GAAA,OAAAX,EAAAD,EAAAY,CAAA,CAAA,CAAA,EAAA,UAAA,OAAAR,QAAAA,OAAAC,QAAAD,OAAAC,QAAAJ,EAAAD,EAAA2B,QAAA,YAAA,CAAA,EAAA3B,EAAA4B,aAAA3B,EAAAD,EAAAA,EAAAM,SAAA,CAAA,EAAA,aAAA,OAAAC,OAAAA,OAAAC,KAAA,SAAAR,EAAAC,GAAA,SAAAW,EAAAZ,EAAAC,GAAA,IAAA,IAAAW,KAAAX,EAAAD,EAAAY,GAAAX,EAAAW,GAAA,OAAAZ,CAAA,CAAA,SAAAuB,EAAAvB,EAAAC,EAAAuB,GAAA,IAAAK,EAAA7B,EAAA,OAAAQ,gBAAAe,GAAAM,EAAA,UAAA,OAAAA,EAAA7B,GAAA8B,SAAAC,iBAAA/B,CAAA,EAAA6B,IAAArB,KAAAwB,UAAAhC,EAAA6B,EAAAI,MAAAC,QAAAlC,CAAA,EAAAA,EAAA,UAAA,OAAAA,GAAA,UAAA,OAAAA,EAAAmB,OAAAgB,EAAAC,KAAApC,CAAA,EAAA,CAAAA,IAAAQ,KAAA6B,QAAAzB,EAAA,GAAAJ,KAAA6B,OAAA,EAAA,YAAA,OAAApC,EAAAuB,EAAAvB,EAAAW,EAAAJ,KAAA6B,QAAApC,CAAA,EAAAuB,GAAAhB,KAAAE,GAAA,SAAAc,CAAA,EAAAhB,KAAA8B,UAAA,EAAAC,IAAA/B,KAAAgC,WAAA,IAAAD,EAAAE,UAAA,KAAAC,WAAAlC,KAAAmC,MAAAC,KAAApC,IAAA,CAAA,GAAA,KAAAqC,EAAAC,MAAA,iCAAAjB,GAAA7B,EAAA,EAAA,IAAAuB,EAAAvB,EAAAC,EAAAuB,CAAA,CAAA,CAAA,SAAAA,EAAAxB,GAAAQ,KAAAuC,IAAA/C,CAAA,CAAA,SAAA6B,EAAA7B,EAAAC,GAAAO,KAAAwC,IAAAhD,EAAAQ,KAAAyC,QAAAhD,EAAAO,KAAAuC,IAAA,IAAAG,KAAA,CAAA,IAAAX,EAAAvC,EAAAmD,OAAAN,EAAA7C,EAAAoD,QAAAjB,EAAAF,MAAAxB,UAAAa,MAAA+B,IAAA9B,EAAAd,UAAA6C,OAAAC,OAAAtD,EAAAQ,SAAA,GAAA4B,QAAA,GAAAd,EAAAd,UAAA6B,UAAA,WAAA9B,KAAAgD,OAAA,GAAAhD,KAAAwB,SAAAyB,QAAAjD,KAAAkD,iBAAAlD,IAAA,CAAA,EAAAe,EAAAd,UAAAiD,iBAAA,SAAA1D,GAAA,OAAAA,EAAA2D,UAAAnD,KAAAoD,SAAA5D,CAAA,EAAA,CAAA,IAAAQ,KAAA6B,QAAAwB,YAAArD,KAAAsD,2BAAA9D,CAAA,EAAA,IAAAC,EAAAD,EAAA+D,SAAA,GAAA9D,GAAAoD,EAAApD,GAAA,CAAA,IAAA,IAAAW,EAAAZ,EAAA+B,iBAAA,KAAA,EAAApB,EAAA,EAAAA,EAAAC,EAAAO,OAAAR,CAAA,GAAA,CAAA,IAAAY,EAAAX,EAAAD,GAAAH,KAAAoD,SAAArC,CAAA,CAAA,CAAA,GAAA,UAAA,OAAAf,KAAA6B,QAAAwB,WAAA,IAAA,IAAArC,EAAAxB,EAAA+B,iBAAAvB,KAAA6B,QAAAwB,UAAA,EAAAlD,EAAA,EAAAA,EAAAa,EAAAL,OAAAR,CAAA,GAAA,CAAA,IAAAkB,EAAAL,EAAAb,GAAAH,KAAAsD,2BAAAjC,CAAA,CAAA,CAAA,CAAA,EAAA,CAAAmC,EAAA,CAAA,EAAAC,EAAA,CAAA,EAAAC,GAAA,CAAA,CAAA,GAAA,OAAA3C,EAAAd,UAAAqD,2BAAA,SAAA9D,GAAA,IAAAC,EAAAkE,iBAAAnE,CAAA,EAAA,GAAAC,EAAA,IAAA,IAAAW,EAAA,0BAAAD,EAAAC,EAAAwD,KAAAnE,EAAAoE,eAAA,EAAA,OAAA1D,GAAA,CAAA,IAAAY,EAAAZ,GAAAA,EAAA,GAAAY,GAAAf,KAAA8D,cAAA/C,EAAAvB,CAAA,EAAAW,EAAAC,EAAAwD,KAAAnE,EAAAoE,eAAA,CAAA,CAAA,EAAA9C,EAAAd,UAAAmD,SAAA,SAAA5D,GAAAC,EAAA,IAAAuB,EAAAxB,CAAA,EAAAQ,KAAAgD,OAAAzC,KAAAd,CAAA,CAAA,EAAAsB,EAAAd,UAAA6D,cAAA,SAAAtE,EAAAC,GAAAW,EAAA,IAAAiB,EAALine truncated
|
||||
@@ -0,0 +1,2 @@
|
||||
:root{--color-white:#fff;--color-lighter-gray:#f6f6f6;--color-light-gray:#e6e6e6;--color-mid-gray:#ccc;--color-dark-gray:#444;--color-darker-gray:#15171a;--color-black:#000;--color-primary-text:var(--color-darker-gray);--color-secondary-text:rgba(0,0,0,.4);--color-border:rgba(0,0,0,.08);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-serif:Georgia,Times,serif;--font-mono:Menlo,Courier,monospace;--gap:clamp(24px,1.7032rem + 1.9355vw,48px)}*,:after,:before{box-sizing:border-box}*{margin:0}html{font-size:62.5%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}canvas,img,picture,svg,video{display:block;height:auto;max-width:100%}iframe{display:block}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{line-height:1.3}body{font-family:var(--font-sans);font-size:1.6rem}a{color:var(--color-darker-gray);text-decoration:none}.gh-viewport{display:flex;flex-direction:column;min-height:100vh;position:relative}.gh-content{flex-grow:1}.gh-outer{padding:0 max(4vmin,20px);position:relative}.gh-inner{margin:0 auto;max-width:1200px;width:100%}.gh-navigation{height:100px}.gh-navigation-inner{align-items:center;-moz-column-gap:24px;column-gap:24px;display:grid;grid-auto-flow:row dense;height:100%}.gh-navigation-brand{line-height:1}.gh-navigation-logo{font-size:2.6rem;font-weight:700;letter-spacing:-.015em;position:relative;white-space:nowrap}.gh-navigation-logo img{max-height:40px}.gh-navigation-members a[data-portal=signin],.gh-navigation-menu{font-size:1.6rem;font-weight:500}.gh-navigation-menu{align-items:center;display:flex;gap:24px}.gh-navigation .nav{align-items:center;display:inline-flex;gap:24px;list-style:none;margin:0;padding:0;white-space:nowrap}.gh-navigation .gh-more-toggle{font-size:inherit;margin:0 -6px;position:relative;text-transform:inherit}.gh-navigation .gh-more-toggle svg{height:24px;width:24px}.gh-navigation-actions{align-items:center;display:flex;gap:24px;justify-content:flex-end}.gh-navigation-members{align-items:center;display:flex;gap:20px;white-space:nowrap}.gh-navigation-members .gh-button{font-size:inherit;font-weight:600}.gh-search{margin-left:-6px;margin-right:-6px}.gh-search:hover{opacity:.9}.gh-navigation-brand .gh-search{margin-right:8px}@media (max-width:767px){.gh-navigation-members{flex-direction:column-reverse;gap:16px;width:100%}.gh-navigation-actions .gh-search{display:none}}@media (min-width:768px){.gh-navigation-brand .gh-search{display:none}.gh-navigation:not(.is-dropdown-loaded) .gh-navigation-menu .nav>li{opacity:0}}.is-navigation-left-logo .gh-navigation-inner{grid-template-columns:auto 1fr auto}@media (min-width:992px){.is-navigation-left-logo .gh-navigation-menu{margin-left:16px;margin-right:64px}}.is-navigation-middle-logo .gh-navigation-inner{grid-template-columns:1fr auto 1fr}.is-navigation-middle-logo .gh-navigation-brand{grid-column-start:2}.is-navigation-middle-logo .gh-navigation-actions{gap:28px}@media (min-width:992px){.is-navigation-middle-logo .gh-navigation-menu{margin-right:64px}}.is-navigation-stacked.gh-navigation{height:auto;position:relative}.is-navigation-stacked .gh-navigation-inner{grid-template-columns:1fr auto 1fr}.is-navigation-stacked .gh-navigation-brand{display:flex;grid-column-start:2;grid-row-start:1;min-height:80px}@media (min-width:992px){.is-navigation-stacked .gh-navigation-inner{padding:0}.is-navigation-stacked .gh-navigation-brand{align-items:center;display:flex;height:80px}.is-navigation-stacked .gh-navigation-menu{grid-column:1/4;grid-row-start:2;height:56px;justify-content:center;margin:0 48px}.is-navigation-stacked .gh-navigation-menu:after,.is-navigation-stacked .gh-navigation-menu:before{background-color:var(--color-border);content:"";height:1px;left:0;position:absolute;top:80px;width:100%}.is-navigation-stacked .gh-navigation-menu:after{top:136px}.is-navigation-stacked .gh-navigation-actions{grid-column:1/4;grid-row-start:1;justify-content:space-between}}.gh-dropdown{background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 7px 20px -5px rgba(0,0,0,.15);margin-top:24px;opacity:0;padding:12px 0;position:absolute;right:-16px;text-align:left;top:100%;transform:translate3d(0,6px,0);transition:opacity .3s,transform .2s;visibility:hidden;width:200px;z-index:90}.is-navigation-middle-logo .gh-dropdown{left:-24px;right:auto}.is-dropdown-mega .gh-dropdown{-moz-column-gap:40px;column-gap:40px;display:grid;grid-auto-flow:column;grid-template-columns:1fr 1fr;padding:20px 32px;width:auto}.is-dropdown-open .gh-dropdown{opacity:1;transform:translateY(0);visibility:visible}.gh-dropdown li a{color:#15171a!important;display:block;padding:6px 20px}.is-dropdown-mega .gh-dropdown li a{padding:8px 0}.gh-burger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0;cursor:pointer;display:none;height:30pLine truncated
|
||||
/*# sourceMappingURL=screen.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["screen.css"],"names":[],"mappings":"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","file":"screen.css","sourcesContent":["/* 1. Variables */\n\n:root {\n --color-white: #fff;\n --color-lighter-gray: #f6f6f6;\n --color-light-gray: #e6e6e6;\n --color-mid-gray: #ccc;\n --color-dark-gray: #444;\n --color-darker-gray: #15171a;\n --color-black: #000;\n --color-primary-text: var(--color-darker-gray);\n --color-secondary-text: rgba(0, 0, 0, 0.4);\n --color-border: rgba(0, 0, 0, 0.08);\n --font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n --font-serif: Georgia, Times, serif;\n --font-mono: Menlo, Courier, monospace;\n --gap: clamp(24px, 1.7032rem + 1.9355vw, 48px);\n}\n\n/* 2. Resets */\n\n*, *::before, *::after {\n box-sizing: border-box;\n}\n\n* {\n margin: 0;\n}\n\nhtml {\n font-size: 62.5%;\n}\n\nbody {\n line-height: 1.6;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nimg, picture, video, canvas, svg {\n display: block;\n height: auto;\n max-width: 100%;\n}\n\niframe {\n display: block;\n}\n\ninput, button, textarea, select {\n font: inherit;\n}\n\np, h1, h2, h3Line truncated
|
||||
@@ -0,0 +1,597 @@
|
||||
/* 1. Variables */
|
||||
|
||||
:root {
|
||||
--color-white: #fff;
|
||||
--color-lighter-gray: #f6f6f6;
|
||||
--color-light-gray: #e6e6e6;
|
||||
--color-mid-gray: #ccc;
|
||||
--color-dark-gray: #444;
|
||||
--color-darker-gray: #15171a;
|
||||
--color-black: #000;
|
||||
--color-primary-text: var(--color-darker-gray);
|
||||
--color-secondary-text: rgba(0, 0, 0, 0.4);
|
||||
--color-border: rgba(0, 0, 0, 0.08);
|
||||
--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
|
||||
--font-serif: Georgia, Times, serif;
|
||||
--font-mono: Menlo, Courier, monospace;
|
||||
--gap: clamp(24px, 1.7032rem + 1.9355vw, 48px);
|
||||
}
|
||||
|
||||
/* 2. Resets */
|
||||
|
||||
*, *::before, *::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 62.5%;
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: 1.6;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
img, picture, video, canvas, svg {
|
||||
display: block;
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
iframe {
|
||||
display: block;
|
||||
}
|
||||
|
||||
input, button, textarea, select {
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
p, h1, h2, h3, h4, h5, h6 {
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
/* 3. Globals */
|
||||
|
||||
body {
|
||||
font-family: var(--font-sans);
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--color-darker-gray);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* 4. Layout */
|
||||
|
||||
.gh-viewport {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.gh-content {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.gh-outer {
|
||||
position: relative;
|
||||
padding: 0 max(4vmin, 20px);
|
||||
}
|
||||
|
||||
.gh-inner {
|
||||
margin: 0 auto;
|
||||
max-width: 1200px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* 5. Navigation */
|
||||
|
||||
.gh-navigation {
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.gh-navigation-inner {
|
||||
display: grid;
|
||||
grid-auto-flow: row dense;
|
||||
column-gap: 24px;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.gh-navigation-brand {
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.gh-navigation-logo {
|
||||
position: relative;
|
||||
font-size: 2.6rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: -0.015em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.gh-navigation-logo img {
|
||||
max-height: 40px;
|
||||
}
|
||||
|
||||
.gh-navigation-menu,
|
||||
.gh-navigation-members a[data-portal="signin"] {
|
||||
font-size: 1.6rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.gh-navigation-menu {
|
||||
display: flex;
|
||||
gap: 24px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.gh-navigation .nav {
|
||||
display: inline-flex;
|
||||
gap: 24px;
|
||||
align-items: center;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.gh-navigation .gh-more-toggle {
|
||||
position: relative;
|
||||
margin: 0 -6px;
|
||||
font-size: inherit;
|
||||
text-transform: inherit;
|
||||
}
|
||||
|
||||
.gh-navigation .gh-more-toggle svg {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.gh-navigation-actions {
|
||||
display: flex;
|
||||
gap: 24px;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.gh-navigation-members {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
align-items: center;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.gh-navigation-members .gh-button {
|
||||
font-size: inherit;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.gh-search {
|
||||
margin-right: -6px;
|
||||
margin-left: -6px;
|
||||
}
|
||||
|
||||
.gh-search:hover {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.gh-navigation-brand .gh-search {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.gh-navigation-members {
|
||||
flex-direction: column-reverse;
|
||||
gap: 16px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.gh-navigation-actions .gh-search {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.gh-navigation-brand .gh-search {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.gh-navigation:not(.is-dropdown-loaded) .gh-navigation-menu .nav > li {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* 5.1. Navigation variants */
|
||||
|
||||
/*
|
||||
======================================================================
|
||||
LOGO Home About Collection Author Portal Login Subscribe
|
||||
======================================================================
|
||||
*/
|
||||
|
||||
.is-navigation-left-logo .gh-navigation-inner {
|
||||
grid-template-columns: auto 1fr auto;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.is-navigation-left-logo .gh-navigation-menu {
|
||||
margin-right: 64px;
|
||||
margin-left: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
======================================================================
|
||||
Home About Collection LOGO Login Subscribe
|
||||
======================================================================
|
||||
*/
|
||||
|
||||
.is-navigation-middle-logo .gh-navigation-inner {
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
}
|
||||
|
||||
.is-navigation-middle-logo .gh-navigation-brand {
|
||||
grid-column-start: 2;
|
||||
}
|
||||
|
||||
.is-navigation-middle-logo .gh-navigation-actions {
|
||||
gap: 28px;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.is-navigation-middle-logo .gh-navigation-menu {
|
||||
margin-right: 64px;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
======================================================================
|
||||
Search LOGO Login Subscribe
|
||||
Home About Collection Author Portal
|
||||
======================================================================
|
||||
*/
|
||||
|
||||
.is-navigation-stacked.gh-navigation {
|
||||
position: relative;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.is-navigation-stacked .gh-navigation-inner {
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
}
|
||||
|
||||
.is-navigation-stacked .gh-navigation-brand {
|
||||
display: flex;
|
||||
grid-row-start: 1;
|
||||
grid-column-start: 2;
|
||||
min-height: 80px;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.is-navigation-stacked .gh-navigation-inner {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.is-navigation-stacked .gh-navigation-brand {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
.is-navigation-stacked .gh-navigation-menu {
|
||||
grid-row-start: 2;
|
||||
grid-column: 1 / 4;
|
||||
justify-content: center;
|
||||
height: 56px;
|
||||
margin: 0 48px;
|
||||
}
|
||||
|
||||
.is-navigation-stacked .gh-navigation-menu::before,
|
||||
.is-navigation-stacked .gh-navigation-menu::after {
|
||||
position: absolute;
|
||||
top: 80px;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
content: "";
|
||||
background-color: var(--color-border);
|
||||
}
|
||||
|
||||
.is-navigation-stacked .gh-navigation-menu::after {
|
||||
top: 136px;
|
||||
}
|
||||
|
||||
.is-navigation-stacked .gh-navigation-actions {
|
||||
grid-row-start: 1;
|
||||
grid-column: 1 / 4;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
|
||||
/* 5.2. Dropdown menu */
|
||||
|
||||
.gh-dropdown {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
right: -16px;
|
||||
z-index: 90;
|
||||
width: 200px;
|
||||
padding: 12px 0;
|
||||
margin-top: 24px;
|
||||
text-align: left;
|
||||
visibility: hidden;
|
||||
background-color: #fff;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 7px 20px -5px rgba(0, 0, 0, 0.15);
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s, transform 0.2s;
|
||||
transform: translate3d(0, 6px, 0);
|
||||
}
|
||||
|
||||
.is-navigation-middle-logo .gh-dropdown {
|
||||
right: auto;
|
||||
left: -24px;
|
||||
}
|
||||
|
||||
.is-dropdown-mega .gh-dropdown {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-auto-flow: column;
|
||||
column-gap: 40px;
|
||||
width: auto;
|
||||
padding: 20px 32px;
|
||||
}
|
||||
|
||||
.is-dropdown-open .gh-dropdown {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.gh-dropdown li a {
|
||||
display: block;
|
||||
padding: 6px 20px;
|
||||
color: #15171a !important;
|
||||
}
|
||||
|
||||
.is-dropdown-mega .gh-dropdown li a {
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
/* 5.3. Burger icon */
|
||||
|
||||
.gh-burger {
|
||||
position: relative;
|
||||
display: none;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
padding: 0;
|
||||
margin-right: -3px;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.gh-burger::before,
|
||||
.gh-burger::after {
|
||||
position: absolute;
|
||||
left: 3px;
|
||||
width: 24px;
|
||||
height: 1px;
|
||||
content: "";
|
||||
background-color: var(--color-darker-gray);
|
||||
transition: all 0.2s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
|
||||
}
|
||||
|
||||
.gh-burger::before {
|
||||
top: 11px;
|
||||
}
|
||||
|
||||
.gh-burger::after {
|
||||
bottom: 11px;
|
||||
}
|
||||
|
||||
.is-navigation-open .gh-burger::before {
|
||||
top: 15px;
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
.is-navigation-open .gh-burger::after {
|
||||
bottom: 14px;
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.gh-burger {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
/* 5.4. Mobile menu */
|
||||
|
||||
@media (max-width: 767px) {
|
||||
#gh-navigation {
|
||||
height: 64px;
|
||||
}
|
||||
|
||||
#gh-navigation .gh-navigation-inner {
|
||||
grid-template-rows: auto 1fr auto;
|
||||
grid-template-columns: 1fr;
|
||||
gap: 48px;
|
||||
}
|
||||
|
||||
#gh-navigation .gh-navigation-brand {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto auto;
|
||||
grid-column-start: 1;
|
||||
align-items: center;
|
||||
height: 64px;
|
||||
}
|
||||
|
||||
#gh-navigation .gh-navigation-logo {
|
||||
font-size: 2.2rem;
|
||||
}
|
||||
|
||||
#gh-navigation .gh-navigation-menu,
|
||||
#gh-navigation .gh-navigation-actions {
|
||||
position: fixed;
|
||||
justify-content: center;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#gh-navigation .gh-navigation-menu {
|
||||
transition: none;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
#gh-navigation .nav {
|
||||
gap: 20px;
|
||||
align-items: center;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
#gh-navigation .nav a {
|
||||
font-size: 2.6rem;
|
||||
font-weight: 600;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
#gh-navigation .nav li {
|
||||
opacity: 0;
|
||||
transform: translateY(-4px);
|
||||
}
|
||||
|
||||
#gh-navigation .gh-navigation-actions {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#gh-navigation :is(.gh-button, a[data-portal="signin"]) {
|
||||
opacity: 0;
|
||||
transform: translateY(8px);
|
||||
}
|
||||
|
||||
#gh-navigation .gh-button {
|
||||
width: 100%;
|
||||
font-size: 1.8rem;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
#gh-navigation a[data-portal="signin"] {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
#gh-main {
|
||||
transition: opacity 0.4s;
|
||||
}
|
||||
|
||||
.is-navigation-open#gh-navigation {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 3999999;
|
||||
height: 100%;
|
||||
overflow-y: scroll;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
.is-navigation-open#gh-navigation .gh-navigation-menu,
|
||||
.is-navigation-open#gh-navigation .gh-navigation-actions {
|
||||
position: static;
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.is-navigation-open#gh-navigation .nav {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.is-navigation-open#gh-navigation .nav li {
|
||||
opacity: 1;
|
||||
transition: transform 0.2s, opacity 0.2s;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.is-navigation-open#gh-navigation .gh-navigation-actions {
|
||||
position: sticky;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: inline-flex;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
align-items: center;
|
||||
padding: var(--gap) 0 calc(var(--gap) + 8px);
|
||||
background-color: var(--color-white);
|
||||
}
|
||||
|
||||
.is-navigation-open#gh-navigation :is(.gh-button, a[data-portal="signin"]) {
|
||||
opacity: 1;
|
||||
transition: transform 0.4s, opacity 0.4s;
|
||||
transition-delay: 0.2s;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.is-navigation-open#gh-navigation a[data-portal="signin"] {
|
||||
transition-delay: 0.4s;
|
||||
}
|
||||
|
||||
.is-navigation-open#gh-main {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Buttons */
|
||||
|
||||
.gh-button {
|
||||
display: inline-flex;
|
||||
gap: 0.4em;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0.75em 1.15em;
|
||||
font-size: 1.6rem;
|
||||
font-weight: 700;
|
||||
line-height: 1;
|
||||
color: var(--color-white);
|
||||
letter-spacing: inherit;
|
||||
cursor: pointer;
|
||||
background-color: var(--ghost-accent-color);
|
||||
border: 0;
|
||||
border-radius: 100px;
|
||||
}
|
||||
|
||||
.gh-button:hover {
|
||||
opacity: 0.95;
|
||||
}
|
||||
|
||||
.gh-icon-button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
padding: 0;
|
||||
color: var(--color-darker-gray);
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.gh-icon-button svg {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
/* Dropdown menu */
|
||||
(function () {
|
||||
const mediaQuery = window.matchMedia('(max-width: 767px)');
|
||||
|
||||
const head = document.querySelector('.gh-navigation');
|
||||
const menu = head.querySelector('.gh-navigation-menu');
|
||||
const nav = menu?.querySelector('.nav');
|
||||
if (!nav) return;
|
||||
|
||||
const logo = document.querySelector('.gh-navigation-logo');
|
||||
const navHTML = nav.innerHTML;
|
||||
|
||||
if (mediaQuery.matches) {
|
||||
const items = nav.querySelectorAll('li');
|
||||
items.forEach(function (item, index) {
|
||||
item.style.transitionDelay = `${0.03 * (index + 1)}s`;
|
||||
});
|
||||
}
|
||||
|
||||
const makeDropdown = function () {
|
||||
if (mediaQuery.matches) return;
|
||||
const submenuItems = [];
|
||||
|
||||
while ((nav.offsetWidth + 64) > menu.offsetWidth) {
|
||||
if (nav.lastElementChild) {
|
||||
submenuItems.unshift(nav.lastElementChild);
|
||||
nav.lastElementChild.remove();
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!submenuItems.length) {
|
||||
head.classList.add('is-dropdown-loaded');
|
||||
return;
|
||||
}
|
||||
|
||||
const toggle = document.createElement('button');
|
||||
toggle.setAttribute('class', 'gh-more-toggle gh-icon-button');
|
||||
toggle.setAttribute('aria-label', 'More');
|
||||
toggle.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="currentColor"><path d="M21.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0zM13.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0zM5.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0z"></path></svg>';
|
||||
|
||||
const wrapper = document.createElement('div');
|
||||
wrapper.setAttribute('class', 'gh-dropdown');
|
||||
|
||||
if (submenuItems.length >= 10) {
|
||||
head.classList.add('is-dropdown-mega');
|
||||
wrapper.style.gridTemplateRows = `repeat(${Math.ceil(submenuItems.length / 2)}, 1fr)`;
|
||||
} else {
|
||||
head.classList.remove('is-dropdown-mega');
|
||||
}
|
||||
|
||||
submenuItems.forEach(function (child) {
|
||||
wrapper.appendChild(child);
|
||||
});
|
||||
|
||||
toggle.appendChild(wrapper);
|
||||
nav.appendChild(toggle);
|
||||
|
||||
head.classList.add('is-dropdown-loaded');
|
||||
|
||||
window.addEventListener('click', function (e) {
|
||||
if (head.classList.contains('is-dropdown-open')) {
|
||||
head.classList.remove('is-dropdown-open');
|
||||
} else if (toggle.contains(e.target)) {
|
||||
head.classList.add('is-dropdown-open');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
imagesLoaded(logo, function () {
|
||||
makeDropdown();
|
||||
});
|
||||
|
||||
window.addEventListener('load', function () {
|
||||
if (!logo) {
|
||||
makeDropdown();
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('resize', function () {
|
||||
setTimeout(() => {
|
||||
nav.innerHTML = navHTML;
|
||||
makeDropdown();
|
||||
}, 1);
|
||||
});
|
||||
})();
|
||||
|
||||
/* Mobile menu burger toggle */
|
||||
(function () {
|
||||
const navigation = document.querySelector('.gh-navigation');
|
||||
const burger = navigation.querySelector('.gh-burger');
|
||||
if (!burger) return;
|
||||
|
||||
burger.addEventListener('click', function () {
|
||||
if (!navigation.classList.contains('is-navigation-open')) {
|
||||
navigation.classList.add('is-navigation-open');
|
||||
} else {
|
||||
navigation.classList.remove('is-navigation-open');
|
||||
}
|
||||
});
|
||||
})();
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* imagesLoaded PACKAGED v4.1.4
|
||||
* JavaScript is all like "You images are done yet or what?"
|
||||
* MIT License
|
||||
*/
|
||||
|
||||
!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(e,r),delete n[r]),r.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e}),function(e,t){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return t(e,i)}):"object"==typeof module&&module.exports?module.exports=t(e,require("ev-emitter")):e.imagesLoaded=t(e,e.EvEmitter)}("undefined"!=typeof window?window:this,function(e,t){function i(e,t){for(var i in t)e[i]=t[i];return e}function n(e){if(Array.isArray(e))return e;var t="object"==typeof e&&"number"==typeof e.length;return t?d.call(e):[e]}function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);var s=e;return"string"==typeof e&&(s=document.querySelectorAll(e)),s?(this.elements=n(s),this.options=i({},this.options),"function"==typeof t?r=t:i(this.options,t),r&&this.on("always",r),this.getImages(),h&&(this.jqDeferred=new h.Deferred),void setTimeout(this.check.bind(this))):void a.error("Bad element for imagesLoaded "+(s||e))}function r(e){this.img=e}function s(e,t){this.url=e,this.element=t,this.img=new Image}var h=e.jQuery,a=e.console,d=Array.prototype.slice;o.prototype=Object.create(t.prototype),o.prototype.options={},o.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},o.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),this.options.background===!0&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&u[t]){for(var i=e.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=e.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var u={1:!0,9:!0,11:!0};return o.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(t.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,e),n=i.exec(t.backgroundImage)}},o.prototype.addImage=function(e){var t=new r(e);this.images.push(t)},o.prototype.addBackground=function(e,t){var i=new s(e,t);this.images.push(i)},o.prototype.check=function(){function e(e,i,n){setTimeout(function(){t.progress(e,i,n)})}var t=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(t){t.once("progress",e),t.check()}):void this.complete()},o.prototype.progress=function(e,t,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&a&&a.log("progress: "+i,e,t)},o.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},r.prototype=Object.create(t.prototype),r.prototype.check=function(){var e=this.getIsImageComplete();return e?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},r.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},r.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},r.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},r.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},r.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},r.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype=Object.create(r.prototype),s.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var e=this.getIsImageCompleteLine truncated
|
||||
@@ -0,0 +1,38 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{@site.locale}}">
|
||||
<head>
|
||||
|
||||
{{!-- Basic meta - advanced meta is output with {{ghost_head}} below --}}
|
||||
<title>{{meta_title}}</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
{{!-- Preload main styles and scripts for better performance --}}
|
||||
<link rel="preload" as="style" href="{{asset "built/screen.css"}}">
|
||||
<link rel="preload" as="script" href="{{asset "built/casper.js"}}">
|
||||
|
||||
{{!-- Theme assets - use the {{asset}} helper to reference styles & scripts, this will take care of caching and cache-busting automatically --}}
|
||||
<link rel="stylesheet" type="text/css" href="{{asset "built/screen.css"}}">
|
||||
|
||||
{{!-- This tag outputs all your advanced SEO meta, structured data, and other important settings, it should always be the last tag before the closing head tag --}}
|
||||
{{ghost_head}}
|
||||
|
||||
</head>
|
||||
<body class="{{body_class}}">
|
||||
|
||||
<div class="gh-viewport">
|
||||
|
||||
{{> "components/navigation" navigationLayout=@custom.navigation_layout}}
|
||||
|
||||
{{{body}}}
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Scripts - handle responsive videos, infinite scroll, and navigation dropdowns --}}
|
||||
<script src="{{asset "built/casper.js"}}"></script>
|
||||
|
||||
{{!-- Ghost outputs required functional scripts with this tag, it should always be the last thing before the closing body tag --}}
|
||||
{{ghost_foot}}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,174 @@
|
||||
const {series, watch, src, dest, parallel} = require('gulp');
|
||||
const pump = require('pump');
|
||||
const path = require('path');
|
||||
const releaseUtils = require('@tryghost/release-utils');
|
||||
const inquirer = require('inquirer');
|
||||
|
||||
// gulp plugins and utils
|
||||
const livereload = require('gulp-livereload');
|
||||
const postcss = require('gulp-postcss');
|
||||
const zip = require('gulp-zip');
|
||||
const concat = require('gulp-concat');
|
||||
const uglify = require('gulp-uglify');
|
||||
const beeper = require('beeper');
|
||||
const fs = require('fs');
|
||||
|
||||
// postcss plugins
|
||||
const autoprefixer = require('autoprefixer');
|
||||
const cssnano = require('cssnano');
|
||||
const easyimport = require('postcss-easy-import');
|
||||
|
||||
const REPO = 'TryGhost/Casper';
|
||||
const REPO_READONLY = 'TryGhost/Casper';
|
||||
const CHANGELOG_PATH = path.join(process.cwd(), '.', 'changelog.md');
|
||||
|
||||
function serve(done) {
|
||||
livereload.listen();
|
||||
done();
|
||||
}
|
||||
|
||||
const handleError = (done) => {
|
||||
return function (err) {
|
||||
if (err) {
|
||||
beeper();
|
||||
}
|
||||
return done(err);
|
||||
};
|
||||
};
|
||||
|
||||
function hbs(done) {
|
||||
pump([
|
||||
src(['*.hbs', 'partials/**/*.hbs']),
|
||||
livereload()
|
||||
], handleError(done));
|
||||
}
|
||||
|
||||
function css(done) {
|
||||
pump([
|
||||
src('assets/css/screen.css', {sourcemaps: true}),
|
||||
postcss([
|
||||
easyimport,
|
||||
autoprefixer(),
|
||||
cssnano()
|
||||
]),
|
||||
dest('assets/built/', {sourcemaps: '.'}),
|
||||
livereload()
|
||||
], handleError(done));
|
||||
}
|
||||
|
||||
function js(done) {
|
||||
pump([
|
||||
src([
|
||||
// pull in lib files first so our own code can depend on it
|
||||
'assets/js/lib/*.js',
|
||||
'assets/js/*.js'
|
||||
], {sourcemaps: true}),
|
||||
concat('casper.js'),
|
||||
uglify(),
|
||||
dest('assets/built/', {sourcemaps: '.'}),
|
||||
livereload()
|
||||
], handleError(done));
|
||||
}
|
||||
|
||||
function zipper(done) {
|
||||
const filename = require('./package.json').name + '.zip';
|
||||
|
||||
pump([
|
||||
src([
|
||||
'**',
|
||||
'!node_modules', '!node_modules/**',
|
||||
'!dist', '!dist/**',
|
||||
'!yarn-error.log',
|
||||
'!yarn.lock',
|
||||
'!gulpfile.js'
|
||||
]),
|
||||
zip(filename),
|
||||
dest('dist/')
|
||||
], handleError(done));
|
||||
}
|
||||
|
||||
const cssWatcher = () => watch('assets/css/**', css);
|
||||
const jsWatcher = () => watch('assets/js/**', js);
|
||||
const hbsWatcher = () => watch(['*.hbs', 'partials/**/*.hbs'], hbs);
|
||||
const watcher = parallel(cssWatcher, jsWatcher, hbsWatcher);
|
||||
const build = series(css, js);
|
||||
|
||||
exports.build = build;
|
||||
exports.zip = series(build, zipper);
|
||||
exports.default = series(build, serve, watcher);
|
||||
|
||||
exports.release = async () => {
|
||||
// @NOTE: https://yarnpkg.com/lang/en/docs/cli/version/
|
||||
// require(./package.json) can run into caching issues, this re-reads from file everytime on release
|
||||
let packageJSON = JSON.parse(fs.readFileSync('./package.json'));
|
||||
const newVersion = packageJSON.version;
|
||||
|
||||
if (!newVersion || newVersion === '') {
|
||||
console.log(`Invalid version: ${newVersion}`);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(`\nCreating release for ${newVersion}...`);
|
||||
|
||||
const githubToken = process.env.GST_TOKEN;
|
||||
|
||||
if (!githubToken) {
|
||||
console.log('Please configure your environment with a GitHub token located in GST_TOKEN');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const result = await inquirer.prompt([{
|
||||
type: 'input',
|
||||
name: 'compatibleWithGhost',
|
||||
message: 'Which version of Ghost is it compatible with?',
|
||||
default: '5.0.0'
|
||||
}]);
|
||||
|
||||
const compatibleWithGhost = result.compatibleWithGhost;
|
||||
|
||||
const releasesResponse = await releaseUtils.releases.get({
|
||||
userAgent: 'Casper',
|
||||
uri: `https://api.github.com/repos/${REPO_READONLY}/releases`
|
||||
});
|
||||
|
||||
if (!releasesResponse || !releasesResponse) {
|
||||
console.log('No releases found. Skipping...');
|
||||
return;
|
||||
}
|
||||
|
||||
let previousVersion = releasesResponse[0].tag_name || releasesResponse[0].name;
|
||||
console.log(`Previous version: ${previousVersion}`);
|
||||
|
||||
const changelog = new releaseUtils.Changelog({
|
||||
changelogPath: CHANGELOG_PATH,
|
||||
folder: path.join(process.cwd(), '.')
|
||||
});
|
||||
|
||||
changelog
|
||||
.write({
|
||||
githubRepoPath: `https://github.com/${REPO}`,
|
||||
lastVersion: previousVersion
|
||||
})
|
||||
.sort()
|
||||
.clean();
|
||||
|
||||
const newReleaseResponse = await releaseUtils.releases.create({
|
||||
draft: true,
|
||||
preRelease: false,
|
||||
tagName: 'v' + newVersion,
|
||||
releaseName: newVersion,
|
||||
userAgent: 'Casper',
|
||||
uri: `https://api.github.com/repos/${REPO}/releases`,
|
||||
github: {
|
||||
token: githubToken
|
||||
},
|
||||
content: [`**Compatible with Ghost ≥ ${compatibleWithGhost}**\n\n`],
|
||||
changelogPath: CHANGELOG_PATH
|
||||
});
|
||||
console.log(`\nRelease draft generated: ${newReleaseResponse.releaseUrl}\n`);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,2 @@
|
||||
{{!< default}}
|
||||
{{!-- The tag above means: insert everything in this file into the body of the default.hbs template --}}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"name": "casper-2023",
|
||||
"description": "A default theme for the Ghost publishing platform",
|
||||
"demo": "https://demo.ghost.io",
|
||||
"version": "6.0.0",
|
||||
"engines": {
|
||||
"ghost": ">=5.0.0"
|
||||
},
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"dev": "gulp",
|
||||
"zip": "gulp zip",
|
||||
"test": "gscan .",
|
||||
"test:ci": "gscan --fatal --verbose .",
|
||||
"pretest": "gulp build",
|
||||
"preship": "yarn test",
|
||||
"ship": "STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn version && git push --follow-tags; else echo \"Uncomitted changes found.\" && exit 1; fi",
|
||||
"postship": "git fetch && gulp release"
|
||||
},
|
||||
"author": {
|
||||
"name": "Ghost Foundation",
|
||||
"email": "hello@ghost.org",
|
||||
"url": "https://ghost.org/"
|
||||
},
|
||||
"gpm": {
|
||||
"type": "theme",
|
||||
"categories": [
|
||||
"Minimal",
|
||||
"Magazine"
|
||||
]
|
||||
},
|
||||
"keywords": [
|
||||
"ghost",
|
||||
"theme",
|
||||
"ghost-theme"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/TryGhost/Casper.git"
|
||||
},
|
||||
"bugs": "https://github.com/TryGhost/Casper/issues",
|
||||
"contributors": "https://github.com/TryGhost/Casper/graphs/contributors",
|
||||
"devDependencies": {
|
||||
"@tryghost/release-utils": "0.8.1",
|
||||
"autoprefixer": "10.4.7",
|
||||
"beeper": "2.1.0",
|
||||
"cssnano": "5.1.12",
|
||||
"gscan": "4.36.1",
|
||||
"gulp": "4.0.2",
|
||||
"gulp-concat": "2.6.1",
|
||||
"gulp-livereload": "4.0.2",
|
||||
"gulp-postcss": "9.0.1",
|
||||
"gulp-uglify": "3.0.2",
|
||||
"gulp-zip": "5.1.0",
|
||||
"inquirer": "8.2.4",
|
||||
"postcss": "8.2.13",
|
||||
"postcss-color-mod-function": "3.0.3",
|
||||
"postcss-easy-import": "4.0.0",
|
||||
"pump": "3.0.0"
|
||||
},
|
||||
"browserslist": [
|
||||
"defaults"
|
||||
],
|
||||
"config": {
|
||||
"posts_per_page": 25,
|
||||
"image_sizes": {
|
||||
"xxs": {
|
||||
"width": 30
|
||||
},
|
||||
"xs": {
|
||||
"width": 100
|
||||
},
|
||||
"s": {
|
||||
"width": 300
|
||||
},
|
||||
"m": {
|
||||
"width": 600
|
||||
},
|
||||
"l": {
|
||||
"width": 1000
|
||||
},
|
||||
"xl": {
|
||||
"width": 2000
|
||||
}
|
||||
},
|
||||
"card_assets": true,
|
||||
"custom": {
|
||||
"navigation_layout": {
|
||||
"type": "select",
|
||||
"options": [
|
||||
"Logo in the middle",
|
||||
"Logo on the left",
|
||||
"Stacked"
|
||||
],
|
||||
"default": "Logo in the middle"
|
||||
}
|
||||
}
|
||||
},
|
||||
"renovate": {
|
||||
"extends": [
|
||||
"@tryghost:theme"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<header id="gh-navigation" class="gh-navigation gh-outer is-navigation-{{#match navigationLayout "Logo on the left"}}left-logo{{else match navigationLayout "Stacked"}}stacked{{else}}middle-logo{{/match}}">
|
||||
<div class="gh-navigation-inner gh-inner">
|
||||
|
||||
<div class="gh-navigation-brand">
|
||||
<a class="gh-navigation-logo" href="{{@site.url}}">
|
||||
{{#if @site.logo}}
|
||||
<img src="{{@site.logo}}" alt="{{@site.title}}">
|
||||
{{else}}
|
||||
{{@site.title}}
|
||||
{{/if}}
|
||||
</a>
|
||||
{{> "search-toggle"}}
|
||||
<button class="gh-burger"></button>
|
||||
</div>
|
||||
|
||||
<nav class="gh-navigation-menu">
|
||||
{{navigation}}
|
||||
{{#unless @site.members_enabled}}
|
||||
{{#match navigationLayout "Stacked"}}
|
||||
{{> "search-toggle"}}
|
||||
{{/match}}
|
||||
{{/unless}}
|
||||
</nav>
|
||||
|
||||
<div class="gh-navigation-actions">
|
||||
{{#unless @site.members_enabled}}
|
||||
{{^match navigationLayout "Stacked"}}
|
||||
{{> "search-toggle"}}
|
||||
{{/match}}
|
||||
{{else}}
|
||||
{{> "search-toggle"}}
|
||||
<div class="gh-navigation-members">
|
||||
{{#unless @member}}
|
||||
{{#unless @site.members_invite_only}}
|
||||
<a href="#/portal/signin" data-portal="signin">Sign in</a>
|
||||
{{#unless hideSubscribeButton}}
|
||||
<a class="gh-button" href="#/portal/signup" data-portal="signup">Subscribe</a>
|
||||
{{/unless}}
|
||||
{{else}}
|
||||
<a class="gh-button" href="#/portal/signin" data-portal="signin">Sign in</a>
|
||||
{{/unless}}
|
||||
{{else}}
|
||||
<a class="gh-button" href="#/portal/account" data-portal="account">Account</a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M3.513 18.998C4.749 15.504 8.082 13 12 13s7.251 2.504 8.487 5.998C18.47 21.442 15.417 23 12 23s-6.47-1.558-8.487-4.002zM12 12c2.21 0 4-2.79 4-5s-1.79-4-4-4-4 1.79-4 4 1.79 5 4 5z" fill="#FFF"/></g></svg>
|
||||
|
After Width: | Height: | Size: 308 B |
@@ -0,0 +1 @@
|
||||
<svg class="icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path d="M23.9981 11.9991C23.9981 5.37216 18.626 0 11.9991 0C5.37216 0 0 5.37216 0 11.9991C0 17.9882 4.38789 22.9522 10.1242 23.8524V15.4676H7.07758V11.9991H10.1242V9.35553C10.1242 6.34826 11.9156 4.68714 14.6564 4.68714C15.9692 4.68714 17.3424 4.92149 17.3424 4.92149V7.87439H15.8294C14.3388 7.87439 13.8739 8.79933 13.8739 9.74824V11.9991H17.2018L16.6698 15.4676H13.8739V23.8524C19.6103 22.9522 23.9981 17.9882 23.9981 11.9991Z"/></svg>
|
||||
|
After Width: | Height: | Size: 531 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M4.49365 4.58752C3.53115 6.03752 2.74365 7.70002 2.74365 9.25002C2.74365 10.6424 3.29678 11.9778 4.28134 12.9623C5.26591 13.9469 6.60127 14.5 7.99365 14.5C9.38604 14.5 10.7214 13.9469 11.706 12.9623C12.6905 11.9778 13.2437 10.6424 13.2437 9.25002C13.2437 6.00002 10.9937 3.50002 9.16865 1.68127L6.99365 6.25002L4.49365 4.58752Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 538 B |
@@ -0,0 +1,11 @@
|
||||
<svg version="1.1" id="loader-1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
||||
y="0px" width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
|
||||
<path opacity="0.2" fill="#000" d="M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946
|
||||
s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634
|
||||
c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z" />
|
||||
<path fill="#000" d="M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0
|
||||
C22.32,8.481,24.301,9.057,26.013,10.047z">
|
||||
<animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 20 20" to="360 20 20"
|
||||
dur="0.5s" repeatCount="indefinite" />
|
||||
</path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 923 B |
@@ -0,0 +1,5 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16.25 6.875H3.75C3.40482 6.875 3.125 7.15482 3.125 7.5V16.25C3.125 16.5952 3.40482 16.875 3.75 16.875H16.25C16.5952 16.875 16.875 16.5952 16.875 16.25V7.5C16.875 7.15482 16.5952 6.875 16.25 6.875Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<path d="M7.1875 6.875V4.0625C7.1875 3.31658 7.48382 2.60121 8.01126 2.07376C8.53871 1.54632 9.25408 1.25 10 1.25C10.7459 1.25 11.4613 1.54632 11.9887 2.07376C12.5162 2.60121 12.8125 3.31658 12.8125 4.0625V6.875" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<path d="M10 13.125C10.6904 13.125 11.25 12.5654 11.25 11.875C11.25 11.1846 10.6904 10.625 10 10.625C9.30964 10.625 8.75 11.1846 8.75 11.875C8.75 12.5654 9.30964 13.125 10 13.125Z" fill="currentColor"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 932 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="6.18" cy="17.82" r="2.18"/><path d="M4 4.44v2.83c7.03 0 12.73 5.7 12.73 12.73h2.83c0-8.59-6.97-15.56-15.56-15.56zm0 5.66v2.83c3.9 0 7.07 3.17 7.07 7.07h2.83c0-5.47-4.43-9.9-9.9-9.9z"/></svg>
|
||||
|
After Width: | Height: | Size: 263 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width="20" height="20"><path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg>
|
||||
|
After Width: | Height: | Size: 248 B |
@@ -0,0 +1 @@
|
||||
<svg class="icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z"/></svg>
|
||||
|
After Width: | Height: | Size: 752 B |
@@ -0,0 +1 @@
|
||||
<button class="gh-search gh-icon-button" aria-label="Search this site" data-ghost-search>{{> "icons/search"}}</button>
|
||||