kaschber 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +23 -3
- data/_config.yml +1 -0
- data/_includes/dynamic_title.html +8 -8
- data/_includes/head.html +13 -11
- data/_includes/post-card.html +48 -55
- data/_layouts/author.html +51 -50
- data/_layouts/default.html +101 -102
- data/_layouts/home.html +26 -30
- data/_layouts/page.html +22 -26
- data/_layouts/post.html +94 -91
- data/_layouts/tag.html +37 -40
- data/assets/built/kaschber.js +1 -1
- data/assets/built/kaschber.js.map +1 -1
- data/assets/built/screen.css +1 -1
- data/assets/built/screen.css.map +1 -1
- metadata +4 -4
data/_layouts/home.html
CHANGED
@@ -4,42 +4,38 @@ current: home
|
|
4
4
|
class: 'home-template'
|
5
5
|
---
|
6
6
|
|
7
|
-
<div class="site-header-content outer{% if site.header_style ==
|
7
|
+
<div class="site-header-content outer{% if site.header_style == 'Left aligned' %} left-aligned{% endif %}{% unless site.cover %}{% if site.header_style == 'Hidden' %} no-content{% endif %}{% endunless %}">
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
style="{% unless page.cover or site.cover %} no-cover {% endunless %}"
|
13
|
-
alt="{{ site.title }}"
|
14
|
-
/>
|
15
|
-
{% endif %}
|
9
|
+
{% if site.cover or page.cover %}
|
10
|
+
<img class="site-header-cover" src="{{ site.baseurl }}{% if page.cover %}{{ page.cover }}{% elsif site.cover %}{{ site.cover }}{% endif %}" style="{% unless page.cover or site.cover %} no-cover {% endunless %}" alt="{{ site.title }}">
|
11
|
+
{% endif %}
|
16
12
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
13
|
+
{% if site.header_style != "Hidden" %}
|
14
|
+
<div class="site-header-inner inner">
|
15
|
+
{% if site.navigation_layout == "Logo on cover" %}
|
16
|
+
{% if site.logo %}
|
17
|
+
<img class="site-logo" src="{{ site.logo }}" alt="{{ site.title }}">
|
18
|
+
{% else %}
|
19
|
+
<h1 class="site-title">{{ site.title }}</h1>
|
20
|
+
{% endif %}
|
21
|
+
{% endif %}
|
22
|
+
{% if site.description %}
|
23
|
+
<p class="site-description">{{ site.description }}</p>
|
24
|
+
{% endif %}
|
25
|
+
</div>
|
26
|
+
{% endif %}
|
31
27
|
|
32
28
|
</div>
|
33
29
|
|
34
30
|
<main id="site-main" class="site-main outer">
|
35
|
-
<div class="inner posts">
|
31
|
+
<div class="inner posts">
|
36
32
|
|
37
|
-
<div class="post-feed">
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
33
|
+
<div class="post-feed">
|
34
|
+
{% assign posts = paginator.posts | default: site.posts %}
|
35
|
+
{% for post in posts %}
|
36
|
+
{% include post-card.html post=post%}
|
37
|
+
{% endfor %}
|
42
38
|
</div>
|
43
39
|
|
44
|
-
</div>
|
45
|
-
</main>
|
40
|
+
</div>
|
41
|
+
</main>
|
data/_layouts/page.html
CHANGED
@@ -6,30 +6,26 @@ disqus: false
|
|
6
6
|
---
|
7
7
|
|
8
8
|
<main id="site-main" class="site-main">
|
9
|
-
|
10
|
-
|
11
|
-
<header class="article-header gh-canvas">
|
12
|
-
|
13
|
-
<h1 class="article-title">{{page.title}}</h1>
|
14
|
-
|
15
|
-
{% if page.cover %}
|
16
|
-
<figure class="article-image">
|
17
|
-
<img
|
18
|
-
src="{{ site.baseurl }}{{ page.cover }}"
|
19
|
-
alt="{% if page.cover_alt %}{{page.cover_alt}}{% else %}{{page.title}}{% endif %}"
|
20
|
-
/>
|
21
|
-
{% if page.cover_caption %}
|
22
|
-
<figcaption>{{page.cover_caption}}</figcaption>
|
23
|
-
{% endif %}
|
24
|
-
</figure>
|
25
|
-
{% endif %}
|
26
|
-
|
27
|
-
</header>
|
28
|
-
|
29
|
-
<section class="gh-content gh-canvas">
|
30
|
-
{{content}}
|
31
|
-
</section>
|
32
|
-
|
33
|
-
</article>
|
34
|
-
</main>
|
9
|
+
<article class="article {{post_class}}">
|
35
10
|
|
11
|
+
<header class="article-header gh-canvas">
|
12
|
+
|
13
|
+
<h1 class="article-title">{{page.title}}</h1>
|
14
|
+
|
15
|
+
{% if page.cover %}
|
16
|
+
<figure class="article-image">
|
17
|
+
<img src="{{ site.baseurl }}{{ page.cover }}" alt="{% if page.cover_alt %}{{page.cover_alt}}{% else %}{{page.title}}{% endif %}">
|
18
|
+
{% if page.cover_caption %}
|
19
|
+
<figcaption>{{page.cover_caption}}</figcaption>
|
20
|
+
{% endif %}
|
21
|
+
</figure>
|
22
|
+
{% endif %}
|
23
|
+
|
24
|
+
</header>
|
25
|
+
|
26
|
+
<section class="gh-content gh-canvas">
|
27
|
+
{{content}}
|
28
|
+
</section>
|
29
|
+
|
30
|
+
</article>
|
31
|
+
</main>
|
data/_layouts/post.html
CHANGED
@@ -6,118 +6,121 @@ disqus: false
|
|
6
6
|
---
|
7
7
|
|
8
8
|
<main id="site-main" class="site-main">
|
9
|
-
<article class="article {{page.class}} {% if page.post_image_style ==
|
9
|
+
<article class="article {{page.class}} {% if page.post_image_style == 'Full' %}image-full{% elsif page.post_image_style == 'Small' %}image-small{% endif %}">
|
10
10
|
|
11
11
|
<header class="article-header gh-canvas">
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
{% endif %}
|
21
|
-
{% endfor %}
|
22
|
-
{% endif %}
|
23
|
-
{% if page.featured %}
|
24
|
-
<span class="post-card-featured">{% include rss.html %} Featured</span>
|
13
|
+
<div class="article-tag post-card-tags">
|
14
|
+
{% if page.tags.size > 0 %}
|
15
|
+
{% for tag in page.tags %}
|
16
|
+
{% if forloop.first %}
|
17
|
+
<span class="post-card-primary-tag">
|
18
|
+
<a href="{{ site.baseurl }}tags/{{ tag | slugify: "latin" }}/">{{tag | capitalize}}</a>
|
19
|
+
</span>
|
25
20
|
{% endif %}
|
26
|
-
|
21
|
+
{% endfor %}
|
22
|
+
{% endif %}
|
23
|
+
{% if page.featured %}
|
24
|
+
<span class="post-card-featured">{% include rss.html %} Featured</span>
|
25
|
+
{% endif %}
|
26
|
+
</div>
|
27
27
|
|
28
|
-
|
28
|
+
<h1 class="article-title">{{page.title}}</h1>
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
{% if page.custom_excerpt %}
|
31
|
+
<p class="article-excerpt">{{page.custom_excerpt}}</p>
|
32
|
+
{% endif %}
|
33
33
|
|
34
|
-
|
34
|
+
<div class="article-byline">
|
35
35
|
<section class="article-byline-content">
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
{% if page.author contains author.username %}
|
42
|
-
<li class="author-list-item">
|
43
|
-
{% if author.picture %}
|
44
|
-
<a href="{{ site.baseurl }}authors/{{ author.username }}" class="author-avatar">
|
45
|
-
<img class="author-profile-image" src="{{ site.baseurl }}{{ author.picture }}" alt="{{ author.username }}" />
|
46
|
-
</a>
|
47
|
-
{% else %}
|
48
|
-
<a href="{{ site.baseurl }}authors/{{ author.username }}" class="author-avatar author-profile-image">{% include icons/avatar.html %}</a>
|
49
|
-
{% endif %}
|
50
|
-
</li>
|
51
|
-
{% endif %}
|
52
|
-
{% endfor %}
|
53
|
-
</ul>
|
54
|
-
{% endif %}
|
37
|
+
{% if page.author.size > 0 %}
|
38
|
+
<ul class="author-list">
|
39
|
+
{% for author in site.authors %}
|
55
40
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
{% unless forloop.last %},{% endunless %}
|
65
|
-
{% endif %}
|
66
|
-
{% endfor %}
|
67
|
-
</h4>
|
41
|
+
{% if page.author contains author.username %}
|
42
|
+
<li class="author-list-item">
|
43
|
+
{% if author.picture %}
|
44
|
+
<a href="{{ site.baseurl }}authors/{{ author.username }}" class="author-avatar">
|
45
|
+
<img class="author-profile-image" src="{{ site.baseurl }}{{ author.picture }}" alt="{{ author.username }}">
|
46
|
+
</a>
|
47
|
+
{% else %}
|
48
|
+
<a href="{{ site.baseurl }}authors/{{ author.username }}" class="author-avatar author-profile-image">{% include icons/avatar.html %}</a>
|
68
49
|
{% endif %}
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
</
|
83
|
-
|
50
|
+
</li>
|
51
|
+
{% endif %}
|
52
|
+
{% endfor %}
|
53
|
+
</ul>
|
54
|
+
{% endif %}
|
55
|
+
|
56
|
+
<div class="article-byline-meta">
|
57
|
+
{% if page.author.size > 0 %}
|
58
|
+
<h4 class="author-name">
|
59
|
+
{% for author in site.authors %}
|
60
|
+
{% if page.author contains author.username %}
|
61
|
+
<a href="{{ site.baseurl }}authors/{{ author.username }}">
|
62
|
+
{{author.name}}
|
63
|
+
</a>
|
64
|
+
{% unless forloop.last %},{% endunless %}
|
65
|
+
{% endif %}
|
66
|
+
{% endfor %}
|
67
|
+
</h4>
|
68
|
+
{% endif %}
|
69
|
+
<div class="byline-meta-content">
|
70
|
+
<time class="byline-meta-date" datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date:'%e %B %Y' }}</time>
|
71
|
+
{% if page.reading_time %}
|
72
|
+
<span class="byline-reading-time">
|
73
|
+
<span class="bull">•</span>
|
74
|
+
{{page.reading_time}}</span>
|
75
|
+
{% else %}
|
76
|
+
{% assign words_per_minute = site.words_per_minute | default: 200 %}
|
77
|
+
{% assign words = page.content | strip_html | number_of_words %}
|
78
|
+
{% if words <= words_per_minute %}
|
79
|
+
<span class="byline-reading-time">
|
80
|
+
<span class="bull">•</span>
|
81
|
+
1 min read</span>
|
82
|
+
{% else %}
|
83
|
+
<span class="byline-reading-time">
|
84
|
+
<span class="bull">•</span>
|
85
|
+
{{ words | divided_by:words_per_minute }} min read</span>
|
86
|
+
{% endif %}
|
87
|
+
{% endif %}
|
88
|
+
</div>
|
89
|
+
</div>
|
84
90
|
|
85
91
|
</section>
|
86
|
-
|
92
|
+
</div>
|
87
93
|
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
<figcaption>{{page.cover_caption}}</figcaption>
|
97
|
-
{% endif %}
|
98
|
-
</figure>
|
99
|
-
{% endif %}
|
94
|
+
{% if page.post_image_style != "Hidden" %}
|
95
|
+
{% if page.cover %}
|
96
|
+
<figure class="article-image">
|
97
|
+
<img src="{{ site.baseurl }}{{ page.cover }}" alt="{% if page.cover_alt %}{{page.cover_alt}}{% else %}{{page.title}}{% endif %}">
|
98
|
+
{% if page.cover_caption %}
|
99
|
+
<figcaption>{{page.cover_caption}}</figcaption>
|
100
|
+
{% endif %}
|
101
|
+
</figure>
|
100
102
|
{% endif %}
|
103
|
+
{% endif %}
|
101
104
|
|
102
105
|
</header>
|
103
106
|
<section class="gh-content gh-canvas">
|
104
|
-
|
107
|
+
{% include custom-post-content.html %}
|
105
108
|
|
106
|
-
|
109
|
+
{{content}}
|
107
110
|
</section>
|
111
|
+
</article>
|
108
112
|
</main>
|
109
113
|
|
110
114
|
{% if page.show_recent_posts_footer != false %}
|
111
115
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
{% endif %}
|
123
|
-
|
116
|
+
{% assign posts = paginator.posts | default: site.posts | where_exp: "item", "item.id != page.id" %}
|
117
|
+
{% if posts %}
|
118
|
+
<aside class="read-more-wrap outer">
|
119
|
+
<div class="read-more inner">
|
120
|
+
{% for post in posts limit: 3 %}
|
121
|
+
{% include post-card.html post=post %}
|
122
|
+
{% endfor %}
|
123
|
+
</div>
|
124
|
+
</aside>
|
125
|
+
{% endif %}
|
126
|
+
{% endif %}
|
data/_layouts/tag.html
CHANGED
@@ -5,51 +5,48 @@ layout: default
|
|
5
5
|
<!-- dynamically loading backgrounds for tags, descriptions and page titles -->
|
6
6
|
{% assign decoded_url = page.url | url_decode %}
|
7
7
|
{% for tag in site.tags %}
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
{% if decoded_url contains tag.name %}
|
9
|
+
{% assign cover = tag.cover %}
|
10
|
+
{% assign tag_description = tag.description %}
|
11
|
+
{% endif %}
|
12
12
|
{% endfor %}
|
13
13
|
|
14
14
|
{% assign filtered_posts = paginator.posts | default: site.posts | where_exp: 'items', 'items.tags contains page.title or items.tags contains page.tag' %}
|
15
15
|
<main id="site-main" class="site-main outer">
|
16
16
|
|
17
17
|
<div class="inner posts">
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
{% endif %}
|
43
|
-
</div>
|
44
|
-
</div>
|
45
|
-
</div>
|
46
|
-
|
47
|
-
</section>
|
48
|
-
|
49
|
-
{% for post in filtered_posts %}
|
50
|
-
{% include post-card.html post=post %}
|
51
|
-
{% endfor %}
|
52
|
-
|
18
|
+
<div class="post-feed">
|
19
|
+
|
20
|
+
<section class="post-card post-card-large">
|
21
|
+
|
22
|
+
{% if cover or page.cover %}
|
23
|
+
<div class="post-card-image-link">
|
24
|
+
<img class="post-card-image" src="{{ site.baseurl }}{% if cover %}{{ cover }}{% else %}{{ page.cover }}{% endif %} " alt="{{title}}">
|
25
|
+
</div>
|
26
|
+
{% endif %}
|
27
|
+
|
28
|
+
|
29
|
+
<div class="post-card-content">
|
30
|
+
<div class="post-card-content-link">
|
31
|
+
<header class="post-card-header">
|
32
|
+
<h2 class="post-card-title">{{ page.tag | default: page.name }}</h2>
|
33
|
+
</header>
|
34
|
+
<div class="post-card-excerpt">
|
35
|
+
{% if page.description %}
|
36
|
+
{{ page.description }}
|
37
|
+
{% elsif page.tag %}
|
38
|
+
A collection of {{ filtered_posts.size }} posts
|
39
|
+
{% endif %}
|
40
|
+
</div>
|
41
|
+
</div>
|
53
42
|
</div>
|
43
|
+
|
44
|
+
</section>
|
45
|
+
|
46
|
+
{% for post in filtered_posts %}
|
47
|
+
{% include post-card.html post=post %}
|
48
|
+
{% endfor %}
|
49
|
+
|
54
50
|
</div>
|
55
|
-
</
|
51
|
+
</div>
|
52
|
+
</main>
|
data/assets/built/kaschber.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(o){"use strict";o.fn.fitVids=function(e){var t,i,n={customSelector:null,ignore:null};return document.getElementById("fit-vids-style")||(t=document.head||document.getElementsByTagName("head")[0],(i=document.createElement("div")).innerHTML='<p>x</p><style id="fit-vids-style">.fluid-width-video-container{flex-grow: 1;width:100%;}.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}</style>',t.appendChild(i.childNodes[1])),e&&o.extend(n,e),this.each(function(){var e=['iframe[src*="player.vimeo.com"]','iframe[src*="youtube.com"]','iframe[src*="youtube-nocookie.com"]','iframe[src*="kickstarter.com"][src*="video.html"]',"object","embed"],r=(n.customSelector&&e.push(n.customSelector),".fitvidsignore"),e=(n.ignore&&(r=r+", "+n.ignore),o(this).find(e.join(",")));(e=(e=e.not("object object")).not(r)).each(function(){var e,t,i=o(this);0<i.parents(r).length||"embed"===this.tagName.toLowerCase()&&i.parent("object").length||i.parent(".fluid-width-video-wrapper").length||(i.css("height")||i.css("width")||!isNaN(i.attr("height"))&&!isNaN(i.attr("width"))||(i.attr("height",9),i.attr("width",16)),e=("object"===this.tagName.toLowerCase()||i.attr("height")&&!isNaN(parseInt(i.attr("height"),10))?parseInt(i.attr("height"),10):i.height())/(isNaN(parseInt(i.attr("width"),10))?i.width():parseInt(i.attr("width"),10)),i.attr("name")||(t="fitvid"+o.fn.fitVids._count,i.attr("name",t),o.fn.fitVids._count++),i.wrap('<div class="fluid-width-video-container"><div class="fluid-width-video-wrapper"></div></div>').parent(".fluid-width-video-wrapper").css("padding-top",100*e+"%"),i.removeAttr("height").removeAttr("width"))})})},o.fn.fitVids._count=0}(window.jQuery||window.Zepto),function(t,i){var r,n,o,d,s,a,c,l=i.querySelector("link[rel=next]");function h(){var e;404===this.status?(t.removeEventListener("scroll",p),t.removeEventListener("resize",m)):(this.response.querySelectorAll("article.post-card").forEach(function(e){r.appendChild(i.importNode(e,!0))}),(e=this.response.querySelector("link[rel=next]"))?l.href=e.href:(t.removeEventListener("scroll",p),t.removeEventListener("resize",m)),c=i.documentElement.scrollHeight,d=o=!1)}function e(){var e;d||(s+a<=c-n?o=!1:(d=!0,(e=new t.XMLHttpRequest).responseType="document",e.addEventListener("load",h),e.open("GET",l.href),e.send(null)))}function u(){o||t.requestAnimationFrame(e),o=!0}function p(){s=t.scrollY,u()}function m(){a=t.innerHeight,c=i.documentElement.scrollHeight,u()}l&&(r=i.querySelector(".post-feed"))&&(d=o=!(n=300),s=t.scrollY,a=t.innerHeight,c=i.documentElement.scrollHeight,t.addEventListener("scroll",p,{passive:!0}),t.addEventListener("resize",m),u())}(window,document);
|
1
|
+
!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 r=i[o];n&&n[r]&&(this.off(e,r),delete n[r]),r.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 r(e,t){for(var i in t)e[i]=t[i];return e}function s(e,t,i){var n,o;return this instanceof s?(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=r({},this.options),"function"==typeof t?i=t:r(this.options,t),i&&this.on("always",i),this.getImages(),d&&(this.jqDeferred=new d.Deferred),void setTimeout(this.check.bind(this))):void a.error("Bad element for imagesLoaded "+(n||e)):new s(e,t,i)}function i(e){this.img=e}function n(e,t){this.url=e,this.element=t,this.img=new Image}var d=t.jQuery,a=t.console,h=Array.prototype.slice,c=((s.prototype=Object.create(e.prototype)).options={},s.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},s.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 r=e.querySelectorAll(this.options.background),n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}},{1:!0,9:!0,11:!0});return s.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)}},s.prototype.addImage=function(e){e=new i(e);this.images.push(e)},s.prototype.addBackground=function(e,t){e=new n(e,t);this.images.push(e)},s.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()},s.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)},s.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.removeEventListener("load",this),this.img.removeEventListener("error",this)},n.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.element,t])},(s.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&((d=e).fn.imagesLoaded=function(e,t){return new s(this,e,t).jqDeferred.promise(d(this))})})(),s}),function(r){"use strict";r.fn.fitVids=function(e){var t,i,o={customSelector:null,ignore:null};return document.getElementById("fit-vids-style")||(t=document.head||document.getElementsByTagName("head")[0],(i=document.createElement("div")).innerHTML='<p>x</p><style id="fit-vids-style">.fluid-width-video-container{flex-grow: 1;width:100%;}.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}</style>',t.appendChild(i.childNodes[1])),e&&r.extend(o,e),this.each(function(){var e=['iframe[src*="player.vimeo.com"]','iframe[src*="youtube.com"]','iframe[src*="youtube-nocookie.com"]','iframe[src*="kickstarter.com"][src*="video.html"]',"object","embed"],n=(o.customSelector&&e.push(o.customSelector),".fitvidsignore"),e=(o.ignore&&(n=n+", "+o.ignore),r(this).find(e.join(",")));(e=(e=e.not("object object")).not(n)).each(function(){var e,t,i=r(this);0<i.parents(n).length||"embed"===this.tagName.toLowerCase()&&i.parent("object").length||i.parent(".fluid-width-video-wrapper").length||(i.css("height")||i.css("width")||!isNaN(i.attr("height"))&&!isNaN(i.attr("width"))||(i.attr("height",9),i.attr("width",16)),e=("object"===this.tagName.toLowerCase()||i.attr("height")&&!isNaN(parseInt(i.attr("height"),10))?parseInt(i.attr("height"),10):i.height())/(isNaN(parseInt(i.attr("width"),10))?i.width():parseInt(i.attr("width"),10)),i.attr("name")||(t="fitvid"+r.fn.fitVids._count,i.attr("name",t),r.fn.fitVids._count++),i.wrap('<div class="fluid-width-video-container"><div class="fluid-width-video-wrapper"></div></div>').parent(".fluid-width-video-wrapper").css("padding-top",100*e+"%"),i.removeAttr("height").removeAttr("width"))})})},r.fn.fitVids._count=0}(window.jQuery||window.Zepto),function(){const n=window.matchMedia("(max-width: 991px)"),o=document.querySelector(".gh-head-menu"),r=o.querySelector(".nav");if(r){var e=document.querySelector(".gh-head-logo");const t=r.innerHTML,i=(n.matches&&r.querySelectorAll("li").forEach(function(e,t){e.style.transitionDelay=.03*(t+1)+"s"}),function(){if(!n.matches){for(var e=[];r.offsetWidth+64>o.offsetWidth;){if(!r.lastElementChild)return;e.unshift(r.lastElementChild),r.lastElementChild.remove()}if(e.length){const t=document.createElement("button"),i=(t.setAttribute("class","nav-more-toggle"),t.setAttribute("aria-label","More"),t.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>',document.createElement("div"));i.setAttribute("class","gh-dropdown"),10<=e.length?(document.body.classList.add("is-dropdown-mega"),i.style.gridTemplateRows="repeat("+Math.ceil(e.length/2)+", 1fr)"):document.body.classList.remove("is-dropdown-mega"),e.forEach(function(e){i.appendChild(e)}),t.appendChild(i),r.appendChild(t),document.body.classList.add("is-dropdown-loaded"),t.addEventListener("click",function(){document.body.classList.toggle("is-dropdown-open")}),window.addEventListener("click",function(e){!t.contains(e.target)&&document.body.classList.contains("is-dropdown-open")&&document.body.classList.remove("is-dropdown-open")})}else document.body.classList.add("is-dropdown-loaded")}});imagesLoaded(e,function(){i()}),window.addEventListener("resize",function(){setTimeout(function(){r.innerHTML=t,i()},1)})}}(),function(t,i){var n,o,r,s,d,a,h,c;function l(){var e;404===this.status?(t.removeEventListener("scroll",m),t.removeEventListener("resize",p)):(this.response.querySelectorAll("article.post-card").forEach(function(e){o.appendChild(i.importNode(e,!0))}),(e=this.response.querySelector("link[rel=next]"))?n.href=e.href:(t.removeEventListener("scroll",m),t.removeEventListener("resize",p)),c=i.documentElement.scrollHeight,d=s=!1)}function e(){var e;d||(a+h<=c-r?s=!1:(d=!0,(e=new t.XMLHttpRequest).responseType="document",e.addEventListener("load",l),e.open("GET",n.href),e.send(null)))}function u(){s||t.requestAnimationFrame(e),s=!0}function m(){a=t.scrollY,u()}function p(){h=t.innerHeight,c=i.documentElement.scrollHeight,u()}i.documentElement.classList.contains("no-infinite-scroll")||(n=i.querySelector("link[rel=next]"))&&(o=i.querySelector(".post-feed"))&&(d=s=!(r=300),a=t.scrollY,h=t.innerHeight,c=i.documentElement.scrollHeight,t.addEventListener("scroll",m,{passive:!0}),t.addEventListener("resize",p),u())}(window,document);
|
2
2
|
//# sourceMappingURL=kaschber.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["jquery.fitvids.js","infinitescroll.js"],"names":["$","fn","fitVids","options","head","div","settings","customSelector","ignore","document","getElementById","getElementsByTagName","createElement","innerHTML","appendChild","childNodes","extend","this","each","selectors","ignoreList","push","$allVideos","find","join","not","aspectRatio","videoName","$this","parents","length","tagName","toLowerCase","parent","css","isNaN","attr","parseInt","height","width","_count","wrap","removeAttr","window","jQuery","Zepto","feedElement","buffer","ticking","loading","lastScrollY","lastWindowHeight","lastDocumentHeight","nextElement","querySelector","onPageLoad","resNextElement","status","removeEventListener","onScroll","onResize","response","querySelectorAll","forEach","item","importNode","href","documentElement","scrollHeight","onUpdate","xhr","XMLHttpRequest","responseType","addEventListener","open","send","requestTick","requestAnimationFrame","scrollY","innerHeight","passive"],"mappings":"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","file":"kaschber.js","sourcesContent":["/*jshint browser:true */\n/*!\n* FitVids 1.3\n*\n*\n* Copyright 2017, Chris Coyier + Dave Rupert + Ghost Foundation\n* This is an unofficial release, ported by John O'Nolan\n* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/\n* Released under the MIT license\n*\n*/\n\n;(function( $ ){\n\n 'use strict';\n\n $.fn.fitVids = function( options ) {\n var settings = {\n customSelector: null,\n ignore: null\n };\n\n if(!document.getElementById('fit-vids-style')) {\n // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js\n var head = document.head || document.getElementsByTagName('head')[0];\n var css = '.fluid-width-video-container{flex-grow: 1;width:100%;}.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';\n var div = document.createElement(\"div\");\n div.innerHTML = '<p>x</p><style id=\"fit-vids-style\">' + css + '</style>';\n head.appendChild(div.childNodes[1]);\n }\n\n if ( options ) {\n $.extend( settings, options );\n }\n\n return this.each(function(){\n var selectors = [\n 'iframe[src*=\"player.vimeo.com\"]',\n 'iframe[src*=\"youtube.com\"]',\n 'iframe[src*=\"youtube-nocookie.com\"]',\n 'iframe[src*=\"kickstarter.com\"][src*=\"video.html\"]',\n 'object',\n 'embed'\n ];\n\n if (settings.customSelector) {\n selectors.push(settings.customSelector);\n }\n\n var ignoreList = '.fitvidsignore';\n\n if(settings.ignore) {\n ignoreList = ignoreList + ', ' + settings.ignore;\n }\n\n var $allVideos = $(this).find(selectors.join(','));\n $allVideos = $allVideos.not('object object'); // SwfObj conflict patch\n $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.\n\n $allVideos.each(function(){\n var $this = $(this);\n if($this.parents(ignoreList).length > 0) {\n return; // Disable FitVids on this video.\n }\n if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }\n if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))\n {\n $this.attr('height', 9);\n $this.attr('width', 16);\n }\n var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),\n width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),\n aspectRatio = height / width;\n if(!$this.attr('name')){\n var videoName = 'fitvid' + $.fn.fitVids._count;\n $this.attr('name', videoName);\n $.fn.fitVids._count++;\n }\n $this.wrap('<div class=\"fluid-width-video-container\"><div class=\"fluid-width-video-wrapper\"></div></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');\n $this.removeAttr('height').removeAttr('width');\n });\n });\n };\n\n // Internal counter for unique video names.\n $.fn.fitVids._count = 0;\n\n// Works with either jQuery or Zepto\n})( window.jQuery || window.Zepto );\n","/* eslint-env browser */\n\n/**\n * Infinite Scroll\n * Used on all pages where there is a list of posts (homepage, tag index, etc).\n *\n * When the page is scrolled to 300px from the bottom, the next page of posts\n * is fetched by following the the <link rel=\"next\" href=\"...\"> that is output\n * by {{ghost_head}}.\n *\n * The individual post items are extracted from the fetched pages by looking for\n * a wrapper element with the class \"post-card\". Any found elements are appended\n * to the element with the class \"post-feed\" in the currently viewed page.\n */\n\n (function (window, document) {\n // next link element\n var nextElement = document.querySelector('link[rel=next]');\n if (!nextElement) {\n return;\n }\n\n // post feed element\n var feedElement = document.querySelector('.post-feed');\n if (!feedElement) {\n return;\n }\n\n var buffer = 300;\n\n var ticking = false;\n var loading = false;\n\n var lastScrollY = window.scrollY;\n var lastWindowHeight = window.innerHeight;\n var lastDocumentHeight = document.documentElement.scrollHeight;\n\n function onPageLoad() {\n if (this.status === 404) {\n window.removeEventListener('scroll', onScroll);\n window.removeEventListener('resize', onResize);\n return;\n }\n\n // append contents\n var postElements = this.response.querySelectorAll('article.post-card');\n postElements.forEach(function (item) {\n // document.importNode is important, without it the item's owner\n // document will be different which can break resizing of\n // `object-fit: cover` images in Safari\n feedElement.appendChild(document.importNode(item, true));\n });\n\n // set next link\n var resNextElement = this.response.querySelector('link[rel=next]');\n if (resNextElement) {\n nextElement.href = resNextElement.href;\n } else {\n window.removeEventListener('scroll', onScroll);\n window.removeEventListener('resize', onResize);\n }\n\n // sync status\n lastDocumentHeight = document.documentElement.scrollHeight;\n ticking = false;\n loading = false;\n }\n\n function onUpdate() {\n // return if already loading\n if (loading) {\n return;\n }\n\n // return if not scroll to the bottom\n if (lastScrollY + lastWindowHeight <= lastDocumentHeight - buffer) {\n ticking = false;\n return;\n }\n\n loading = true;\n\n var xhr = new window.XMLHttpRequest();\n xhr.responseType = 'document';\n\n xhr.addEventListener('load', onPageLoad);\n\n xhr.open('GET', nextElement.href);\n xhr.send(null);\n }\n\n function requestTick() {\n ticking || window.requestAnimationFrame(onUpdate);\n ticking = true;\n }\n\n function onScroll() {\n lastScrollY = window.scrollY;\n requestTick();\n }\n\n function onResize() {\n lastWindowHeight = window.innerHeight;\n lastDocumentHeight = document.documentElement.scrollHeight;\n requestTick();\n }\n\n window.addEventListener('scroll', onScroll, {passive: true});\n window.addEventListener('resize', onResize);\n\n requestTick();\n})(window, document);\n"]}
|
1
|
+
{"version":3,"sources":["imagesloaded.pkgd.min.js","jquery.fitvids.js","dropdown.js","infinitescroll.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","$","fitVids","head","div","settings","customSelector","ignore","getElementById","getElementsByTagName","createElement","innerHTML","appendChild","childNodes","extend","each","selectors","ignoreList","$allVideos","find","join","not","aspectRatio","videoName","$this","parents","tagName","toLowerCase","parent","css","isNaN","attr","parseInt","height","width","_count","wrap","removeAttr","Zepto","mediaQuery","matchMedia","menu","querySelector","nav","logo","navHTML","makeDropdown","matches","item","index","style","transitionDelay","submenuItems","offsetWidth","lastElementChild","unshift","remove","toggle","wrapper","setAttribute","body","classList","add","gridTemplateRows","Math","ceil","child","contains","target","nextElement","feedElement","buffer","ticking","loading","lastScrollY","lastWindowHeight","lastDocumentHeight","onPageLoad","resNextElement","status","onScroll","onResize","response","importNode","href","documentElement","scrollHeight","onUpdate","xhr","XMLHttpRequest","responseType","open","send","requestTick","requestAnimationFrame","scrollY","innerHeight","passive"],"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,EAAA7B,EAAAC,CAAA,EAAAO,KAAAgD,OAAAzC,KAAAH,CAAA,CAAA,EAAAW,EAAAd,UAAAkC,MAAA,WAAA,SAAA3C,EAAAA,EAAAY,EAAAD,GAAA+B,WAAA,WAAAzC,EAAAsE,SAAAvE,EAAAY,EAAAD,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAV,EAAAO,KAAA,OAAAA,KAAAgE,gBAAA,EAAAhE,KAAAiE,aAAA,CAAA,EAAAjE,KAAAgD,OAAArC,OAAA,KAAAX,KAAAgD,OAAAC,QAAA,SAAAxD,GAAAA,EAAAe,KAAA,WAAAhB,CAAA,EAAAC,EAAA0C,MAAA,CAAA,CAAA,EAAA,KAAAnC,KAAAkE,SAAA,CAAA,EAAAnD,EAAAd,UAAA8D,SAAA,SAAAvE,EAAAC,EAAAW,GAAAJ,KAAAgE,eAAA,GAAAhE,KAAAiE,aAAAjE,KAAAiE,cAAA,CAAAzE,EAAA2E,SAAAnE,KAAAa,UAAA,WAAA,CAAAb,KAAAR,EAAAC,EAAA,EAAAO,KAAAgC,YAAAhC,KAAAgC,WAAAoC,QAAApE,KAAAgC,WAAAoC,OAAApE,KAAAR,CAAA,EAAAQ,KAAAgE,iBAAAhE,KAAAgD,OAAArC,QAAAX,KAAAkE,SAAA,EAAAlE,KAAA6B,QAAAwC,OAAAhC,GAAAA,EAAAiC,IAAA,aAAAlE,EAAAZ,EAAAC,CAAA,CAAA,EAAAsB,EAAAd,UAAAiE,SAAA,WAAA,IAAA1E,EAAAQ,KAAAiE,aAAA,OAAA,OAAAjE,KAAAuE,WAAA,CAAA,EAAAvE,KAAAa,UAAArB,EAAA,CAAAQ,KAAA,EAAAA,KAAAa,UAAA,SAAA,CAAAb,KAAA,EAAAA,KAAAgC,aAAAvC,EAAAO,KAAAiE,aAAA,SAAA,UAAAjE,KAAAgC,WAAAvC,GAAAO,IAAA,EAAA,GAAAgB,EAAAf,UAAA6C,OAAAC,OAAAtD,EAAAQ,SAAA,GAAAkC,MAAA,WAAA,OAAAnC,KAAAwE,mBAAA,EAAA,KAAAxE,KAAAyE,QAAA,IAAAzE,KAAAuC,IAAAmC,aAAA,cAAA,GAAA1E,KAAA2E,WAAA,IAAAjC,MAAA1C,KAAA2E,WAAAC,iBAAA,OAAA5E,IAAA,EAAAA,KAAA2E,WAAAC,iBAAA,QAAA5E,IAAA,EAAAA,KAAAuC,IAAAqC,iBAAA,OAAA5E,IAAA,EAAAA,KAAAuC,IAAAqC,iBAAA,QAAA5E,IAAA,EAAA,KAAAA,KAAA2E,WAAAE,IAAA7E,KAAAuC,IAAAsC,KAAA,EAAA7D,EAAAf,UAAAuE,mBAAA,WAAA,OAAAxE,KAAAuC,IAAA2B,UAAAlE,KAAAuC,IAAAmC,YAAA,EAAA1D,EAAAf,UAAAwE,QAAA,SAAAjF,EAAAC,GAAAO,KAAAmE,SAAA3E,EAAAQ,KAAAa,UAAA,WAAA,CAAAb,KAAAA,KAAAuC,IAAA9C,EAAA,CAAA,EAAAuB,EAAAf,UAAA6E,YAAA,SAAAtF,GAAA,IAAAC,EAAA,KAAAD,EAAAuF,KAAA/E,KAAAP,IAAAO,KAAAP,GAAAD,CAAA,CAAA,EAAAwB,EAAAf,UAAA+E,OAAA,WAAAhF,KAAAyE,QAAA,CAAA,EAAA,QAAA,EAAAzE,KAAAiF,aAAA,CAAA,EAAAjE,EAAAf,UAAAiF,QAAA,WAAAlF,KAAAyE,QAAA,CAAA,EAAA,SAAA,EAAAzE,KAAAiF,aAAA,CAAA,EAAAjE,EAAAf,UAAAgF,aAAA,WAAAjF,KAAA2E,WAAAQ,oBAAA,OAAAnF,IAAA,EAAAA,KAAA2E,WAAAQ,oBAAA,QAAAnF,IAAA,EAAAA,KAAAuC,IAAA4C,oBAAA,OAAAnF,IAAA,EAAAA,KAAAuC,IAAA4C,oBAAA,QAAAnF,IAAA,CAAA,GAAAqB,EAAApB,UAAA6C,OAAAC,OAAA/B,EAAAf,SAAA,GAAAkC,MAAA,WAAAnC,KAAAuC,IAAAqC,iBAAA,OAAA5E,IAAA,EAAAA,KAAAuC,IAAAqC,iBAAA,QAAA5E,IAAA,EAAAA,KAAAuC,IAAAsC,IAAA7E,KAAAwC,IAAAxC,KAAAwE,mBAAA,IAAAxE,KAAAyE,QAAA,IAAAzE,KAAAuC,IAAAmC,aAAA,cAAA,EAAA1E,KAAAiF,aAAA,EAAA,EAAA5D,EAAApB,UAAAgF,aAAA,WAAAjF,KAAAuC,IAAA4C,oBAAA,OAAAnF,IAAA,EAAAA,KAAAuC,IAAA4C,oBAAA,QAAAnF,IAAA,CAAA,EAAAqB,EAAApB,UAAAwE,QAAA,SAAAjF,EAAAC,GAAAO,KAAAmE,SAAA3E,EAAAQ,KAAAa,UAAA,WAAA,CAAAb,KAAAA,KAAAyC,QAAAhD,EAAA,CAAA,GAAAsB,EAAAqE,iBAAA,SAAA3F,IAAAA,EAAAA,GAAAD,EAAAmD,WAAAZ,EAAAtC,GAAA4F,GAAAjE,aAAA,SAAA5B,EAAAC,GAAA,OAAA,IAAAsB,EAAAf,KAAAR,EAAAC,CAAA,EAAAuC,WAAAsD,QAAAvD,EAAA/B,IAAA,CAAA,CAAA,EAAA,GAAA,EAAAe,CAAA,CAAA,ECMA,SAAAwE,GAEA,aAEAA,EAAAF,GAAAG,QAAA,SAAA3D,GACA,IAOA4D,EAEAC,EATAC,EAAA,CACAC,eAAA,KACAC,OAAA,IACA,EAeA,OAbAvE,SAAAwE,eAAA,gBAAA,IAEAL,EAAAnE,SAAAmE,MAAAnE,SAAAyE,qBAAA,MAAA,EAAA,IAEAL,EAAApE,SAAA0E,cAAA,KAAA,GACAC,UAAA,oUACAR,EAAAS,YAAAR,EAAAS,WAAA,EAAA,GAGAtE,GACA0D,EAAAa,OAAAT,EAAA9D,CAAA,EAGA7B,KAAAqG,KAAA,WACA,IAAAC,EAAA,CACA,kCACA,6BACA,sCACA,oDACA,SACA,SAOAC,GAJAZ,EAAAC,gBACAU,EAAA/F,KAAAoF,EAAAC,cAAA,EAGA,kBAMAY,GAJAb,EAAAE,SACAU,EAAAA,EAAA,KAAAZ,EAAAE,QAGAN,EAAAvF,IAAA,EAAAyG,KAAAH,EAAAI,KAAA,GAAA,CAAA,IAEAF,GAAAA,EADAA,EAAAG,IAAA,eAAA,GACAA,IAAAJ,CAAA,GAEAF,KAAA,WACA,IAYAO,EAEAC,EAdAC,EAAAvB,EAAAvF,IAAA,EACA,EAAA8G,EAAAC,QAAAR,CAAA,EAAA5F,QAGA,UAAAX,KAAAgH,QAAAC,YAAA,GAAAH,EAAAI,OAAA,QAAA,EAAAvG,QAAAmG,EAAAI,OAAA,4BAAA,EAAAvG,SACAmG,EAAAK,IAAA,QAAA,GAAAL,EAAAK,IAAA,OAAA,GAAAC,CAAAA,MAAAN,EAAAO,KAAA,QAAA,CAAA,GAAAD,CAAAA,MAAAN,EAAAO,KAAA,OAAA,CAAA,IAEAP,EAAAO,KAAA,SAAA,CAAA,EACAP,EAAAO,KAAA,QAAA,EAAA,GAIAT,GAFA,WAAA5G,KAAAgH,QAAAC,YAAA,GAAAH,EAAAO,KAAA,QAAA,GAAA,CAAAD,MAAAE,SAAAR,EAAAO,KAAA,QAAA,EAAA,EAAA,CAAA,EAAAC,SAAAR,EAAAO,KAAA,QAAA,EAAA,EAAA,EAAAP,EAAAS,OAAA,IACAH,MAAAE,SAAAR,EAAAO,KAAA,OAAA,EAAA,EAAA,CAAA,EAAAP,EAAAU,MAAA,EAAAF,SAAAR,EAAAO,KAAA,OAAA,EAAA,EAAA,GAEAP,EAAAO,KAAA,MAAA,IACAR,EAAA,SAAAtB,EAAAF,GAAAG,QAAAiC,OACAX,EAAAO,KAAA,OAAAR,CAAA,EACAtB,EAAAF,GAAAG,QAAAiC,MAAA,IAEAX,EAAAY,KAAA,8FAAA,EAAAR,OAAA,4BAAA,EAAAC,IAAA,cAAA,IAAAP,EAAA,GAAA,EACAE,EAAAa,WAAA,QAAA,EAAAA,WAAA,OAAA,EACA,CAAA,CACA,CAAA,CACA,EAGApC,EAAAF,GAAAG,QAAAiC,OAAA,CAGA,EAAA1H,OAAA4C,QAAA5C,OAAA6H,KAAA,ECxFA,WACA,MAAAC,EAAA9H,OAAA+H,WAAA,oBAAA,EAEAC,EAAAzG,SAAA0G,cAAA,eAAA,EACAC,EAAAF,EAAAC,cAAA,MAAA,EACA,GAAAC,EAAA,CAEA,IAAAC,EAAA5G,SAAA0G,cAAA,eAAA,EACA,MAAAG,EAAAF,EAAAhC,UASAmC,GAPAP,EAAAQ,SACAJ,EAAA1G,iBAAA,IAAA,EACA0B,QAAA,SAAAqF,EAAAC,GACAD,EAAAE,MAAAC,gBAAA,KAAAF,EAAA,GAAA,GACA,CAAA,EAGA,WACA,GAAAV,CAAAA,EAAAQ,QAAA,CAGA,IAFA,IAAAK,EAAA,GAEAT,EAAAU,YAAA,GAAAZ,EAAAY,aAAA,CACA,GAAAV,CAAAA,EAAAW,iBAIA,OAHAF,EAAAG,QAAAZ,EAAAW,gBAAA,EACAX,EAAAW,iBAAAE,OAAA,CAIA,CAEA,GAAAJ,EAAA/H,OAAA,CAKA,MAAAoI,EAAAzH,SAAA0E,cAAA,QAAA,EAKAgD,GAJAD,EAAAE,aAAA,QAAA,iBAAA,EACAF,EAAAE,aAAA,aAAA,MAAA,EACAF,EAAA9C,UAAA,siBAEA3E,SAAA0E,cAAA,KAAA,GACAgD,EAAAC,aAAA,QAAA,aAAA,EAEA,IAAAP,EAAA/H,QACAW,SAAA4H,KAAAC,UAAAC,IAAA,kBAAA,EACAJ,EAAAR,MAAAa,iBAAA,UAAAC,KAAAC,KAAAb,EAAA/H,OAAA,CAAA,EAAA,UAEAW,SAAA4H,KAAAC,UAAAL,OAAA,kBAAA,EAGAJ,EAAAzF,QAAA,SAAAuG,GACAR,EAAA9C,YAAAsD,CAAA,CACA,CAAA,EAEAT,EAAA7C,YAAA8C,CAAA,EACAf,EAAA/B,YAAA6C,CAAA,EAEAzH,SAAA4H,KAAAC,UAAAC,IAAA,oBAAA,EAEAL,EAAAnE,iBAAA,QAAA,WACAtD,SAAA4H,KAAAC,UAAAJ,OAAA,kBAAA,CACA,CAAA,EAEAhJ,OAAA6E,iBAAA,QAAA,SAAApF,GACA,CAAAuJ,EAAAU,SAAAjK,EAAAkK,MAAA,GAAApI,SAAA4H,KAAAC,UAAAM,SAAA,kBAAA,GACAnI,SAAA4H,KAAAC,UAAAL,OAAA,kBAAA,CAEA,CAAA,CAlCA,MAFAxH,SAAA4H,KAAAC,UAAAC,IAAA,oBAAA,CAbA,CAkDA,GAEAhI,aAAA8G,EAAA,WACAE,EAAA,CACA,CAAA,EAEArI,OAAA6E,iBAAA,SAAA,WACA1C,WAAA,WACA+F,EAAAhC,UAAAkC,EACAC,EAAA,CACA,EAAA,CAAA,CACA,CAAA,CA1EA,CA2EA,EAAA,ECjEA,SAAArI,EAAAuB,GACA,IAGAqI,EAMAC,EAKAC,EAEAC,EACAC,EAEAC,EACAC,EACAC,EAEA,SAAAC,IACA,IAgBAC,EAhBA,MAAApK,KAAAqK,QACAtK,EAAAoF,oBAAA,SAAAmF,CAAA,EACAvK,EAAAoF,oBAAA,SAAAoF,CAAA,IAKAvK,KAAAwK,SAAAjJ,iBAAA,mBAAA,EACA0B,QAAA,SAAAqF,GAIAsB,EAAA1D,YAAA5E,EAAAmJ,WAAAnC,EAAA,CAAA,CAAA,CAAA,CACA,CAAA,GAGA8B,EAAApK,KAAAwK,SAAAxC,cAAA,gBAAA,GAEA2B,EAAAe,KAAAN,EAAAM,MAEA3K,EAAAoF,oBAAA,SAAAmF,CAAA,EACAvK,EAAAoF,oBAAA,SAAAoF,CAAA,GAIAL,EAAA5I,EAAAqJ,gBAAAC,aAEAb,EADAD,EAAA,CAAA,EAEA,CAEA,SAAAe,IAEA,IAYAC,EAZAf,IAKAC,EAAAC,GAAAC,EAAAL,EACAC,EAAA,CAAA,GAIAC,EAAA,CAAA,GAEAe,EAAA,IAAA/K,EAAAgL,gBACAC,aAAA,WAEAF,EAAAlG,iBAAA,OAAAuF,CAAA,EAEAW,EAAAG,KAAA,MAAAtB,EAAAe,IAAA,EACAI,EAAAI,KAAA,IAAA,GACA,CAEA,SAAAC,IACArB,GAAA/J,EAAAqL,sBAAAP,CAAA,EACAf,EAAA,CAAA,CACA,CAEA,SAAAQ,IACAN,EAAAjK,EAAAsL,QACAF,EAAA,CACA,CAEA,SAAAZ,IACAN,EAAAlK,EAAAuL,YACApB,EAAA5I,EAAAqJ,gBAAAC,aACAO,EAAA,CACA,CA3FA7J,EAAAqJ,gBAAAxB,UAAAM,SAAA,oBAAA,IAGAE,EAAArI,EAAA0G,cAAA,gBAAA,KAMA4B,EAAAtI,EAAA0G,cAAA,YAAA,KAQA+B,EADAD,EAAA,EAFAD,EAAA,KAKAG,EAAAjK,EAAAsL,QACApB,EAAAlK,EAAAuL,YACApB,EAAA5I,EAAAqJ,gBAAAC,aAwEA7K,EAAA6E,iBAAA,SAAA0F,EAAA,CAAAiB,QAAA,CAAA,CAAA,CAAA,EACAxL,EAAA6E,iBAAA,SAAA2F,CAAA,EAEAY,EAAA,EACA,EAAApL,OAAAuB,QAAA","file":"kaschber.js","sourcesContent":["/*!\n * imagesLoaded PACKAGED v4.1.4\n * JavaScript is all like \"You images are done yet or what?\"\n * MIT License\n */\n\n!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.getIsImageComplete();e&&(this.confirm(0!==this.img.naturalWidth,\"naturalWidth\"),this.unbindEvents())},s.prototype.unbindEvents=function(){this.img.removeEventListener(\"load\",this),this.img.removeEventListener(\"error\",this)},s.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent(\"progress\",[this,this.element,t])},o.makeJQueryPlugin=function(t){t=t||e.jQuery,t&&(h=t,h.fn.imagesLoaded=function(e,t){var i=new o(this,e,t);return i.jqDeferred.promise(h(this))})},o.makeJQueryPlugin(),o});","/*jshint browser:true */\n/*!\n* FitVids 1.3\n*\n*\n* Copyright 2017, Chris Coyier + Dave Rupert + Ghost Foundation\n* This is an unofficial release, ported by John O'Nolan\n* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/\n* Released under the MIT license\n*\n*/\n\n;(function( $ ){\n\n 'use strict';\n\n $.fn.fitVids = function( options ) {\n var settings = {\n customSelector: null,\n ignore: null\n };\n\n if(!document.getElementById('fit-vids-style')) {\n // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js\n var head = document.head || document.getElementsByTagName('head')[0];\n var css = '.fluid-width-video-container{flex-grow: 1;width:100%;}.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';\n var div = document.createElement(\"div\");\n div.innerHTML = '<p>x</p><style id=\"fit-vids-style\">' + css + '</style>';\n head.appendChild(div.childNodes[1]);\n }\n\n if ( options ) {\n $.extend( settings, options );\n }\n\n return this.each(function(){\n var selectors = [\n 'iframe[src*=\"player.vimeo.com\"]',\n 'iframe[src*=\"youtube.com\"]',\n 'iframe[src*=\"youtube-nocookie.com\"]',\n 'iframe[src*=\"kickstarter.com\"][src*=\"video.html\"]',\n 'object',\n 'embed'\n ];\n\n if (settings.customSelector) {\n selectors.push(settings.customSelector);\n }\n\n var ignoreList = '.fitvidsignore';\n\n if(settings.ignore) {\n ignoreList = ignoreList + ', ' + settings.ignore;\n }\n\n var $allVideos = $(this).find(selectors.join(','));\n $allVideos = $allVideos.not('object object'); // SwfObj conflict patch\n $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.\n\n $allVideos.each(function(){\n var $this = $(this);\n if($this.parents(ignoreList).length > 0) {\n return; // Disable FitVids on this video.\n }\n if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }\n if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))\n {\n $this.attr('height', 9);\n $this.attr('width', 16);\n }\n var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),\n width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),\n aspectRatio = height / width;\n if(!$this.attr('name')){\n var videoName = 'fitvid' + $.fn.fitVids._count;\n $this.attr('name', videoName);\n $.fn.fitVids._count++;\n }\n $this.wrap('<div class=\"fluid-width-video-container\"><div class=\"fluid-width-video-wrapper\"></div></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');\n $this.removeAttr('height').removeAttr('width');\n });\n });\n };\n\n // Internal counter for unique video names.\n $.fn.fitVids._count = 0;\n\n// Works with either jQuery or Zepto\n})( window.jQuery || window.Zepto );\n","(function () {\n const mediaQuery = window.matchMedia('(max-width: 991px)');\n\n const menu = document.querySelector('.gh-head-menu');\n const nav = menu.querySelector('.nav');\n if (!nav) return;\n\n const logo = document.querySelector('.gh-head-logo');\n const navHTML = nav.innerHTML;\n\n if (mediaQuery.matches) {\n const items = nav.querySelectorAll('li');\n items.forEach(function (item, index) {\n item.style.transitionDelay = 0.03 * (index + 1) + 's';\n });\n }\n\n const makeDropdown = function () {\n if (mediaQuery.matches) return;\n const submenuItems = [];\n\n while ((nav.offsetWidth + 64) > menu.offsetWidth) {\n if (nav.lastElementChild) {\n submenuItems.unshift(nav.lastElementChild);\n nav.lastElementChild.remove();\n } else {\n return;\n }\n }\n\n if (!submenuItems.length) {\n document.body.classList.add('is-dropdown-loaded');\n return;\n }\n\n const toggle = document.createElement('button');\n toggle.setAttribute('class', 'nav-more-toggle');\n toggle.setAttribute('aria-label', 'More');\n 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>';\n\n const wrapper = document.createElement('div');\n wrapper.setAttribute('class', 'gh-dropdown');\n\n if (submenuItems.length >= 10) {\n document.body.classList.add('is-dropdown-mega');\n wrapper.style.gridTemplateRows = 'repeat(' + Math.ceil(submenuItems.length / 2) + ', 1fr)';\n } else {\n document.body.classList.remove('is-dropdown-mega');\n }\n\n submenuItems.forEach(function (child) {\n wrapper.appendChild(child);\n });\n\n toggle.appendChild(wrapper);\n nav.appendChild(toggle);\n\n document.body.classList.add('is-dropdown-loaded');\n\n toggle.addEventListener('click', function () {\n document.body.classList.toggle('is-dropdown-open');\n });\n\n window.addEventListener('click', function (e) {\n if (!toggle.contains(e.target) && document.body.classList.contains('is-dropdown-open')) {\n document.body.classList.remove('is-dropdown-open');\n }\n });\n }\n\n imagesLoaded(logo, function () {\n makeDropdown();\n });\n\n window.addEventListener('resize', function () {\n setTimeout(function () {\n nav.innerHTML = navHTML;\n makeDropdown();\n }, 1);\n });\n})();\n","/* eslint-env browser */\n\n/**\n * Infinite Scroll\n * Used on all pages where there is a list of posts (homepage, tag index, etc).\n *\n * When the page is scrolled to 300px from the bottom, the next page of posts\n * is fetched by following the the <link rel=\"next\" href=\"...\"> that is output\n * by {{ghost_head}}.\n *\n * The individual post items are extracted from the fetched pages by looking for\n * a wrapper element with the class \"post-card\". Any found elements are appended\n * to the element with the class \"post-feed\" in the currently viewed page.\n */\n\n(function (window, document) {\n if (document.documentElement.classList.contains('no-infinite-scroll')) return;\n\n // next link element\n var nextElement = document.querySelector('link[rel=next]');\n if (!nextElement) {\n return;\n }\n\n // post feed element\n var feedElement = document.querySelector('.post-feed');\n if (!feedElement) {\n return;\n }\n\n var buffer = 300;\n\n var ticking = false;\n var loading = false;\n\n var lastScrollY = window.scrollY;\n var lastWindowHeight = window.innerHeight;\n var lastDocumentHeight = document.documentElement.scrollHeight;\n\n function onPageLoad() {\n if (this.status === 404) {\n window.removeEventListener('scroll', onScroll);\n window.removeEventListener('resize', onResize);\n return;\n }\n\n // append contents\n var postElements = this.response.querySelectorAll('article.post-card');\n postElements.forEach(function (item) {\n // document.importNode is important, without it the item's owner\n // document will be different which can break resizing of\n // `object-fit: cover` images in Safari\n feedElement.appendChild(document.importNode(item, true));\n });\n\n // set next link\n var resNextElement = this.response.querySelector('link[rel=next]');\n if (resNextElement) {\n nextElement.href = resNextElement.href;\n } else {\n window.removeEventListener('scroll', onScroll);\n window.removeEventListener('resize', onResize);\n }\n\n // sync status\n lastDocumentHeight = document.documentElement.scrollHeight;\n ticking = false;\n loading = false;\n }\n\n function onUpdate() {\n // return if already loading\n if (loading) {\n return;\n }\n\n // return if not scroll to the bottom\n if (lastScrollY + lastWindowHeight <= lastDocumentHeight - buffer) {\n ticking = false;\n return;\n }\n\n loading = true;\n\n var xhr = new window.XMLHttpRequest();\n xhr.responseType = 'document';\n\n xhr.addEventListener('load', onPageLoad);\n\n xhr.open('GET', nextElement.href);\n xhr.send(null);\n }\n\n function requestTick() {\n ticking || window.requestAnimationFrame(onUpdate);\n ticking = true;\n }\n\n function onScroll() {\n lastScrollY = window.scrollY;\n requestTick();\n }\n\n function onResize() {\n lastWindowHeight = window.innerHeight;\n lastDocumentHeight = document.documentElement.scrollHeight;\n requestTick();\n }\n\n window.addEventListener('scroll', onScroll, {passive: true});\n window.addEventListener('resize', onResize);\n\n requestTick();\n})(window, document);\n"]}
|