hexo-theme-shokax 0.0.2-alpha2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) hide show
  1. package/CODE_OF_CONDUCT.md +128 -0
  2. package/CONTRIBUTING.md +56 -0
  3. package/LICENSE +28 -28
  4. package/LICENSE-shoka +21 -21
  5. package/README.md +46 -55
  6. package/README_en.MD +25 -0
  7. package/_config.yml +392 -355
  8. package/_images.yml +100 -100
  9. package/languages/README.md +19 -19
  10. package/languages/default.yml +1 -1
  11. package/languages/en.yml +151 -151
  12. package/languages/ja.yml +146 -146
  13. package/languages/zh-CN.yml +154 -154
  14. package/languages/zh-HK.yml +146 -146
  15. package/languages/zh-TW.yml +146 -146
  16. package/layout/_alternate/atom.ejs +30 -30
  17. package/layout/_alternate/json.ejs +16 -16
  18. package/layout/_alternate/rss.ejs +34 -34
  19. package/layout/_mixin/breadcrumb.pug +33 -33
  20. package/layout/_mixin/card.pug +37 -37
  21. package/layout/_mixin/comment.pug +66 -12
  22. package/layout/_mixin/postmeta.pug +30 -30
  23. package/layout/_mixin/segment.pug +32 -32
  24. package/layout/_mixin/sidebar.pug +36 -36
  25. package/layout/_mixin/widgets.pug +31 -29
  26. package/layout/_partials/footer.pug +40 -40
  27. package/layout/_partials/head/head.pug +56 -58
  28. package/layout/_partials/head/head_com.pug +17 -17
  29. package/layout/_partials/head/pwa.pug +18 -18
  30. package/layout/_partials/header.pug +18 -18
  31. package/layout/_partials/layout.pug +143 -153
  32. package/layout/_partials/loading.pug +13 -13
  33. package/layout/_partials/pagination.pug +4 -4
  34. package/layout/_partials/post/copyright.pug +20 -20
  35. package/layout/_partials/post/footer.pug +14 -14
  36. package/layout/_partials/post/nav.pug +13 -13
  37. package/layout/_partials/post/post.pug +28 -28
  38. package/layout/_partials/post/reward.pug +18 -18
  39. package/layout/_partials/sidebar/menu.pug +37 -37
  40. package/layout/_partials/sidebar/overview.pug +41 -42
  41. package/layout/_partials/third-party/baidu-analytics.pug +11 -11
  42. package/layout/_partials/third-party/clarity.pug +8 -8
  43. package/layout/archive.pug +118 -118
  44. package/layout/category.pug +63 -63
  45. package/layout/index.pug +33 -33
  46. package/layout/page.pug +56 -56
  47. package/layout/post.pug +35 -35
  48. package/layout/tag.pug +43 -43
  49. package/package.json +35 -35
  50. package/scripts/filters/locals.js +59 -59
  51. package/scripts/filters/post.js +23 -23
  52. package/scripts/generaters/archive.js +141 -141
  53. package/scripts/generaters/config.js +43 -43
  54. package/scripts/generaters/images.js +26 -26
  55. package/scripts/generaters/index.js +110 -110
  56. package/scripts/generaters/pages.js +19 -19
  57. package/scripts/generaters/script.js +89 -89
  58. package/scripts/helpers/asset.js +183 -237
  59. package/scripts/helpers/engine.js +190 -190
  60. package/scripts/helpers/list_categories.js +140 -140
  61. package/scripts/helpers/symbols_count_time.js +76 -76
  62. package/scripts/plugin/index.js +6 -6
  63. package/scripts/plugin/lib/injects-point.js +19 -19
  64. package/scripts/plugin/lib/injects.js +89 -88
  65. package/scripts/tags/links.js +86 -86
  66. package/scripts/tags/media.js +19 -19
  67. package/source/assets/algolia_logo.svg +9 -9
  68. package/source/assets/logo.svg +16 -16
  69. package/source/css/_colors.styl +207 -207
  70. package/source/css/_common/components/components.styl +6 -6
  71. package/source/css/_common/components/highlight/highlight.styl +353 -353
  72. package/source/css/_common/components/highlight/operation.styl +21 -21
  73. package/source/css/_common/components/pages/collapse.styl +119 -119
  74. package/source/css/_common/components/pages/home.styl +385 -385
  75. package/source/css/_common/components/pages/pages.styl +56 -56
  76. package/source/css/_common/components/pages/tag-cloud.styl +12 -12
  77. package/source/css/_common/components/post/breadcrumb.styl +39 -39
  78. package/source/css/_common/components/post/copyright.styl +41 -41
  79. package/source/css/_common/components/post/expand.styl +264 -264
  80. package/source/css/_common/components/post/footer.styl +11 -11
  81. package/source/css/_common/components/post/header.styl +79 -79
  82. package/source/css/_common/components/post/nav.styl +63 -63
  83. package/source/css/_common/components/post/post.styl +29 -29
  84. package/source/css/_common/components/post/reward.styl +50 -50
  85. package/source/css/_common/components/post/rtl.styl +12 -12
  86. package/source/css/_common/components/post/tags.styl +39 -39
  87. package/source/css/_common/components/tags/collapse.styl +72 -72
  88. package/source/css/_common/components/tags/container.styl +49 -49
  89. package/source/css/_common/components/tags/label.styl +12 -12
  90. package/source/css/_common/components/tags/links.styl +77 -77
  91. package/source/css/_common/components/tags/list.styl +131 -131
  92. package/source/css/_common/components/tags/note.styl +70 -70
  93. package/source/css/_common/components/tags/player.styl +361 -361
  94. package/source/css/_common/components/tags/quiz.styl +200 -200
  95. package/source/css/_common/components/tags/tabs.styl +83 -83
  96. package/source/css/_common/components/tags/tags.styl +9 -9
  97. package/source/css/_common/components/third-party/loading.styl +222 -222
  98. package/source/css/_common/components/third-party/mermaid/class.styl +90 -90
  99. package/source/css/_common/components/third-party/mermaid/flowchart.styl +72 -72
  100. package/source/css/_common/components/third-party/mermaid/gantt.styl +251 -251
  101. package/source/css/_common/components/third-party/mermaid/git.styl +7 -7
  102. package/source/css/_common/components/third-party/mermaid/mermaid.styl +37 -37
  103. package/source/css/_common/components/third-party/mermaid/pie.styl +9 -9
  104. package/source/css/_common/components/third-party/mermaid/sequence.styl +95 -95
  105. package/source/css/_common/components/third-party/mermaid/state.styl +130 -130
  106. package/source/css/_common/components/third-party/pace.styl +18 -18
  107. package/source/css/_common/components/third-party/search.styl +167 -167
  108. package/source/css/_common/components/third-party/theme.styl +151 -151
  109. package/source/css/_common/components/third-party/third-party.styl +22 -22
  110. package/source/css/_common/components/third-party/valine.styl +548 -548
  111. package/source/css/_common/components/third-party/widgets.styl +57 -57
  112. package/source/css/_common/outline/footer/footer.styl +69 -69
  113. package/source/css/_common/outline/header/brand.styl +77 -77
  114. package/source/css/_common/outline/header/header.styl +20 -20
  115. package/source/css/_common/outline/header/image.styl +79 -79
  116. package/source/css/_common/outline/header/menu.styl +117 -117
  117. package/source/css/_common/outline/header/nav.styl +81 -81
  118. package/source/css/_common/outline/header/right.styl +15 -15
  119. package/source/css/_common/outline/header/tool.styl +207 -207
  120. package/source/css/_common/outline/header/waves.styl +50 -50
  121. package/source/css/_common/outline/mobile.styl +46 -46
  122. package/source/css/_common/outline/outline.styl +78 -78
  123. package/source/css/_common/outline/sidebar/author.styl +59 -59
  124. package/source/css/_common/outline/sidebar/dimmer.styl +23 -23
  125. package/source/css/_common/outline/sidebar/menu.styl +63 -63
  126. package/source/css/_common/outline/sidebar/quick.styl +43 -43
  127. package/source/css/_common/outline/sidebar/related.styl +56 -56
  128. package/source/css/_common/outline/sidebar/sidebar.styl +75 -75
  129. package/source/css/_common/outline/sidebar/social.styl +69 -69
  130. package/source/css/_common/outline/sidebar/state.styl +37 -37
  131. package/source/css/_common/outline/sidebar/tab.styl +71 -71
  132. package/source/css/_common/outline/sidebar/toc.styl +47 -47
  133. package/source/css/_common/scaffolding/animate.styl +318 -318
  134. package/source/css/_common/scaffolding/base.styl +172 -172
  135. package/source/css/_common/scaffolding/buttons.styl +48 -48
  136. package/source/css/_common/scaffolding/divider.styl +36 -36
  137. package/source/css/_common/scaffolding/iconfont.styl +443 -443
  138. package/source/css/_common/scaffolding/normalize.styl +289 -289
  139. package/source/css/_common/scaffolding/pagination.styl +81 -81
  140. package/source/css/_common/scaffolding/ribbon.styl +38 -38
  141. package/source/css/_common/scaffolding/scaffolding.styl +14 -14
  142. package/source/css/_common/scaffolding/scrollbar.styl +37 -37
  143. package/source/css/_common/scaffolding/tables.styl +50 -50
  144. package/source/css/_common/scaffolding/tip.styl +19 -19
  145. package/source/css/_common/scaffolding/toggles.styl +59 -59
  146. package/source/css/_iconfont.styl +451 -451
  147. package/source/css/_mixins.styl +146 -146
  148. package/source/css/_variables.styl +89 -89
  149. package/source/css/app.styl +36 -36
  150. package/source/css/comment.styl +5 -5
  151. package/source/css/mermaid.styl +5 -5
  152. package/source/js/_app/components.js +330 -330
  153. package/source/js/_app/global.js +317 -317
  154. package/source/js/_app/library.js +302 -302
  155. package/source/js/_app/page.js +623 -623
  156. package/source/js/_app/player.js +748 -748
  157. package/source/js/_app/vue.js +43 -43
@@ -1,302 +1,302 @@
1
- const getDocHeight = () => $dom('main > .inner').offsetHeight;
2
- const $dom = (selector, element = document) => {
3
- if (selector.indexOf('#') === 0) {
4
- return element.getElementById(selector.replace('#', ''));
5
- }
6
- return element.querySelector(selector);
7
- };
8
- $dom.all = (selector, element = document) => {
9
- return element.querySelectorAll(selector);
10
- };
11
- $dom.each = (selector, callback, element) => {
12
- return $dom.all(selector, element).forEach(callback);
13
- };
14
- $dom.asyncify = async (selector, element = document) => {
15
- if (selector.indexOf('#') === 0) {
16
- return element.getElementById(selector.replace('#', ''));
17
- }
18
- return element.querySelector(selector);
19
- };
20
- $dom.asyncifyAll = async (selector, element = document) => {
21
- return element.querySelectorAll(selector);
22
- };
23
- $dom.asyncifyEach = (selector, callback, element) => {
24
- $dom.asyncifyAll(selector, element).then((tmp) => {
25
- tmp.forEach(callback);
26
- });
27
- };
28
- Object.assign(HTMLElement.prototype, {
29
- createChild: function (tag, obj, positon) {
30
- const child = document.createElement(tag);
31
- Object.assign(child, obj);
32
- switch (positon) {
33
- case 'after':
34
- this.insertAfter(child);
35
- break;
36
- case 'replace':
37
- this.innerHTML = '';
38
- this.appendChild(child);
39
- break;
40
- default:
41
- this.appendChild(child);
42
- }
43
- return child;
44
- },
45
- wrapObject: function (obj) {
46
- const box = document.createElement('div');
47
- Object.assign(box, obj);
48
- this.parentNode.insertBefore(box, this);
49
- this.parentNode.removeChild(this);
50
- box.appendChild(this);
51
- },
52
- changeOrGetHeight: function (h) {
53
- if (h) {
54
- this.style.height = typeof h === 'number' ? h + 'rem' : h;
55
- }
56
- return this.getBoundingClientRect().height;
57
- },
58
- changeOrGetWidth: function (w) {
59
- if (w) {
60
- this.style.width = typeof w === 'number' ? w + 'rem' : w;
61
- }
62
- return this.getBoundingClientRect().width;
63
- },
64
- top: function () {
65
- return this.getBoundingClientRect().top;
66
- },
67
- left: function () {
68
- return this.getBoundingClientRect().left;
69
- },
70
- attr: function (type, value) {
71
- if (value === null) {
72
- return this.removeAttribute(type);
73
- }
74
- if (value) {
75
- this.setAttribute(type, value);
76
- return this;
77
- }
78
- else {
79
- return this.getAttribute(type);
80
- }
81
- },
82
- insertAfter: function (element) {
83
- const parent = this.parentNode;
84
- if (parent.lastChild === this) {
85
- parent.appendChild(element);
86
- }
87
- else {
88
- parent.insertBefore(element, this.nextSibling);
89
- }
90
- },
91
- display: function (d) {
92
- if (d == null) {
93
- return this.style.display;
94
- }
95
- else {
96
- this.style.display = d;
97
- return this;
98
- }
99
- },
100
- child: function (selector) {
101
- return $dom(selector, this);
102
- },
103
- find: function (selector) {
104
- return $dom.all(selector, this);
105
- },
106
- _class: function (type, className, display) {
107
- const classNames = className.indexOf(' ') ? className.split(' ') : [className];
108
- const that = this;
109
- classNames.forEach(function (name) {
110
- if (type === 'toggle') {
111
- that.classList.toggle(name, display);
112
- }
113
- else {
114
- that.classList[type](name);
115
- }
116
- });
117
- },
118
- addClass: function (className) {
119
- this._class('add', className);
120
- return this;
121
- },
122
- removeClass: function (className) {
123
- this._class('remove', className);
124
- return this;
125
- },
126
- toggleClass: function (className, display) {
127
- this._class('toggle', className, display);
128
- return this;
129
- },
130
- hasClass: function (className) {
131
- return this.classList.contains(className);
132
- }
133
- });
134
- const $storage = {
135
- set: (key, value) => {
136
- localStorage.setItem(key, value);
137
- },
138
- get: (key) => {
139
- return localStorage.getItem(key);
140
- },
141
- del: (key) => {
142
- localStorage.removeItem(key);
143
- }
144
- };
145
- const getScript = function (url, callback, condition) {
146
- if (condition) {
147
- callback();
148
- }
149
- else {
150
- let script = document.createElement('script');
151
- script.onload = function (_, isAbort) {
152
- if (isAbort || !script.readyState || /loaded|complete/.test(script.readyState)) {
153
- console.log("abort!");
154
- script.onload = null;
155
- script = undefined;
156
- if (!isAbort && callback)
157
- setTimeout(callback, 0);
158
- }
159
- };
160
- script.src = url;
161
- document.head.appendChild(script);
162
- }
163
- };
164
- const assetUrl = function (asset, type) {
165
- const str = CONFIG[asset][type];
166
- if (str.indexOf('npm') > -1) {
167
- return `https://unpkg.com/${str}`;
168
- }
169
- if (str.indexOf('gh') > -1 || str.indexOf('combine') > -1) {
170
- return `https://cdn.jsdelivr.net/${str}`;
171
- }
172
- if (str.indexOf('http') > -1) {
173
- return str;
174
- }
175
- return `/${str}`;
176
- };
177
- const vendorJs = function (type, callback, condition) {
178
- if (LOCAL[type]) {
179
- getScript(assetUrl('js', type), callback || function () {
180
- window[type] = true;
181
- }, condition || window[type]);
182
- }
183
- };
184
- const vendorCss = function (type, condition) {
185
- if (window['css' + type]) {
186
- return;
187
- }
188
- if (LOCAL[type]) {
189
- document.head.createChild('link', {
190
- rel: 'stylesheet',
191
- href: assetUrl('css', type)
192
- });
193
- window['css' + type] = true;
194
- }
195
- };
196
- const transition = (target, type, complete) => {
197
- let animation;
198
- let display = 'none';
199
- switch (type) {
200
- case 0:
201
- animation = { opacity: [1, 0] };
202
- break;
203
- case 1:
204
- animation = { opacity: [0, 1] };
205
- display = 'block';
206
- break;
207
- case 'bounceUpIn':
208
- animation = {
209
- begin: function (anim) {
210
- target.display('block');
211
- },
212
- translateY: [
213
- { value: -60, duration: 200 },
214
- { value: 10, duration: 200 },
215
- { value: -5, duration: 200 },
216
- { value: 0, duration: 200 }
217
- ],
218
- opacity: [0, 1]
219
- };
220
- display = 'block';
221
- break;
222
- case 'shrinkIn':
223
- animation = {
224
- begin: function (anim) {
225
- target.display('block');
226
- },
227
- scale: [
228
- { value: 1.1, duration: 300 },
229
- { value: 1, duration: 200 }
230
- ],
231
- opacity: 1
232
- };
233
- display = 'block';
234
- break;
235
- case 'slideRightIn':
236
- animation = {
237
- begin: function (anim) {
238
- target.display('block');
239
- },
240
- translateX: [100, 0],
241
- opacity: [0, 1]
242
- };
243
- display = 'block';
244
- break;
245
- case 'slideRightOut':
246
- animation = {
247
- translateX: [0, 100],
248
- opacity: [1, 0]
249
- };
250
- break;
251
- default:
252
- animation = type;
253
- display = type.display;
254
- break;
255
- }
256
- anime(Object.assign({
257
- targets: target,
258
- duration: 200,
259
- easing: 'linear'
260
- }, animation)).finished.then(function () {
261
- target.display(display);
262
- complete && complete();
263
- });
264
- };
265
- const pjaxScript = function (element) {
266
- const code = element.text || element.textContent || element.innerHTML || '';
267
- const parent = element.parentNode;
268
- parent.removeChild(element);
269
- const script = document.createElement('script');
270
- if (element.id) {
271
- script.id = element.id;
272
- }
273
- if (element.className) {
274
- script.className = element.className;
275
- }
276
- if (element.type) {
277
- script.type = element.type;
278
- }
279
- if (element.src) {
280
- script.src = element.src;
281
- script.async = false;
282
- }
283
- if (element.dataset.pjax !== undefined) {
284
- script.dataset.pjax = '';
285
- }
286
- if (code !== '') {
287
- script.appendChild(document.createTextNode(code));
288
- }
289
- parent.appendChild(script);
290
- };
291
- const pageScroll = function (target, offset, complete) {
292
- const opt = {
293
- targets: typeof offset === 'number' ? target.parentNode : document.scrollingElement,
294
- duration: 500,
295
- easing: 'easeInOutQuad',
296
- scrollTop: offset || (typeof target === 'number' ? target : (target ? target.top() + document.documentElement.scrollTop - siteNavHeight : 0)),
297
- complete: function () {
298
- complete && complete();
299
- }
300
- };
301
- anime(opt);
302
- };
1
+ const getDocHeight = () => $dom('main > .inner').offsetHeight;
2
+ const $dom = (selector, element = document) => {
3
+ if (selector.indexOf('#') === 0) {
4
+ return element.getElementById(selector.replace('#', ''));
5
+ }
6
+ return element.querySelector(selector);
7
+ };
8
+ $dom.all = (selector, element = document) => {
9
+ return element.querySelectorAll(selector);
10
+ };
11
+ $dom.each = (selector, callback, element) => {
12
+ return $dom.all(selector, element).forEach(callback);
13
+ };
14
+ $dom.asyncify = async (selector, element = document) => {
15
+ if (selector.indexOf('#') === 0) {
16
+ return element.getElementById(selector.replace('#', ''));
17
+ }
18
+ return element.querySelector(selector);
19
+ };
20
+ $dom.asyncifyAll = async (selector, element = document) => {
21
+ return element.querySelectorAll(selector);
22
+ };
23
+ $dom.asyncifyEach = (selector, callback, element) => {
24
+ $dom.asyncifyAll(selector, element).then((tmp) => {
25
+ tmp.forEach(callback);
26
+ });
27
+ };
28
+ Object.assign(HTMLElement.prototype, {
29
+ createChild: function (tag, obj, positon) {
30
+ const child = document.createElement(tag);
31
+ Object.assign(child, obj);
32
+ switch (positon) {
33
+ case 'after':
34
+ this.insertAfter(child);
35
+ break;
36
+ case 'replace':
37
+ this.innerHTML = '';
38
+ this.appendChild(child);
39
+ break;
40
+ default:
41
+ this.appendChild(child);
42
+ }
43
+ return child;
44
+ },
45
+ wrapObject: function (obj) {
46
+ const box = document.createElement('div');
47
+ Object.assign(box, obj);
48
+ this.parentNode.insertBefore(box, this);
49
+ this.parentNode.removeChild(this);
50
+ box.appendChild(this);
51
+ },
52
+ changeOrGetHeight: function (h) {
53
+ if (h) {
54
+ this.style.height = typeof h === 'number' ? h + 'rem' : h;
55
+ }
56
+ return this.getBoundingClientRect().height;
57
+ },
58
+ changeOrGetWidth: function (w) {
59
+ if (w) {
60
+ this.style.width = typeof w === 'number' ? w + 'rem' : w;
61
+ }
62
+ return this.getBoundingClientRect().width;
63
+ },
64
+ top: function () {
65
+ return this.getBoundingClientRect().top;
66
+ },
67
+ left: function () {
68
+ return this.getBoundingClientRect().left;
69
+ },
70
+ attr: function (type, value) {
71
+ if (value === null) {
72
+ return this.removeAttribute(type);
73
+ }
74
+ if (value) {
75
+ this.setAttribute(type, value);
76
+ return this;
77
+ }
78
+ else {
79
+ return this.getAttribute(type);
80
+ }
81
+ },
82
+ insertAfter: function (element) {
83
+ const parent = this.parentNode;
84
+ if (parent.lastChild === this) {
85
+ parent.appendChild(element);
86
+ }
87
+ else {
88
+ parent.insertBefore(element, this.nextSibling);
89
+ }
90
+ },
91
+ display: function (d) {
92
+ if (d == null) {
93
+ return this.style.display;
94
+ }
95
+ else {
96
+ this.style.display = d;
97
+ return this;
98
+ }
99
+ },
100
+ child: function (selector) {
101
+ return $dom(selector, this);
102
+ },
103
+ find: function (selector) {
104
+ return $dom.all(selector, this);
105
+ },
106
+ _class: function (type, className, display) {
107
+ const classNames = className.indexOf(' ') ? className.split(' ') : [className];
108
+ const that = this;
109
+ classNames.forEach(function (name) {
110
+ if (type === 'toggle') {
111
+ that.classList.toggle(name, display);
112
+ }
113
+ else {
114
+ that.classList[type](name);
115
+ }
116
+ });
117
+ },
118
+ addClass: function (className) {
119
+ this._class('add', className);
120
+ return this;
121
+ },
122
+ removeClass: function (className) {
123
+ this._class('remove', className);
124
+ return this;
125
+ },
126
+ toggleClass: function (className, display) {
127
+ this._class('toggle', className, display);
128
+ return this;
129
+ },
130
+ hasClass: function (className) {
131
+ return this.classList.contains(className);
132
+ }
133
+ });
134
+ const $storage = {
135
+ set: (key, value) => {
136
+ localStorage.setItem(key, value);
137
+ },
138
+ get: (key) => {
139
+ return localStorage.getItem(key);
140
+ },
141
+ del: (key) => {
142
+ localStorage.removeItem(key);
143
+ }
144
+ };
145
+ const getScript = function (url, callback, condition) {
146
+ if (condition) {
147
+ callback();
148
+ }
149
+ else {
150
+ let script = document.createElement('script');
151
+ script.onload = function (_, isAbort) {
152
+ if (isAbort || !script.readyState || /loaded|complete/.test(script.readyState)) {
153
+ console.log("abort!");
154
+ script.onload = null;
155
+ script = undefined;
156
+ if (!isAbort && callback)
157
+ setTimeout(callback, 0);
158
+ }
159
+ };
160
+ script.src = url;
161
+ document.head.appendChild(script);
162
+ }
163
+ };
164
+ const assetUrl = function (asset, type) {
165
+ const str = CONFIG[asset][type];
166
+ if (str.indexOf('npm') > -1) {
167
+ return `https://unpkg.com/${str}`;
168
+ }
169
+ if (str.indexOf('gh') > -1 || str.indexOf('combine') > -1) {
170
+ return `https://cdn.jsdelivr.net/${str}`;
171
+ }
172
+ if (str.indexOf('http') > -1) {
173
+ return str;
174
+ }
175
+ return `/${str}`;
176
+ };
177
+ const vendorJs = function (type, callback, condition) {
178
+ if (LOCAL[type]) {
179
+ getScript(assetUrl('js', type), callback || function () {
180
+ window[type] = true;
181
+ }, condition || window[type]);
182
+ }
183
+ };
184
+ const vendorCss = function (type, condition) {
185
+ if (window['css' + type]) {
186
+ return;
187
+ }
188
+ if (LOCAL[type]) {
189
+ document.head.createChild('link', {
190
+ rel: 'stylesheet',
191
+ href: assetUrl('css', type)
192
+ });
193
+ window['css' + type] = true;
194
+ }
195
+ };
196
+ const transition = (target, type, complete) => {
197
+ let animation;
198
+ let display = 'none';
199
+ switch (type) {
200
+ case 0:
201
+ animation = { opacity: [1, 0] };
202
+ break;
203
+ case 1:
204
+ animation = { opacity: [0, 1] };
205
+ display = 'block';
206
+ break;
207
+ case 'bounceUpIn':
208
+ animation = {
209
+ begin: function (anim) {
210
+ target.display('block');
211
+ },
212
+ translateY: [
213
+ { value: -60, duration: 200 },
214
+ { value: 10, duration: 200 },
215
+ { value: -5, duration: 200 },
216
+ { value: 0, duration: 200 }
217
+ ],
218
+ opacity: [0, 1]
219
+ };
220
+ display = 'block';
221
+ break;
222
+ case 'shrinkIn':
223
+ animation = {
224
+ begin: function (anim) {
225
+ target.display('block');
226
+ },
227
+ scale: [
228
+ { value: 1.1, duration: 300 },
229
+ { value: 1, duration: 200 }
230
+ ],
231
+ opacity: 1
232
+ };
233
+ display = 'block';
234
+ break;
235
+ case 'slideRightIn':
236
+ animation = {
237
+ begin: function (anim) {
238
+ target.display('block');
239
+ },
240
+ translateX: [100, 0],
241
+ opacity: [0, 1]
242
+ };
243
+ display = 'block';
244
+ break;
245
+ case 'slideRightOut':
246
+ animation = {
247
+ translateX: [0, 100],
248
+ opacity: [1, 0]
249
+ };
250
+ break;
251
+ default:
252
+ animation = type;
253
+ display = type.display;
254
+ break;
255
+ }
256
+ anime(Object.assign({
257
+ targets: target,
258
+ duration: 200,
259
+ easing: 'linear'
260
+ }, animation)).finished.then(function () {
261
+ target.display(display);
262
+ complete && complete();
263
+ });
264
+ };
265
+ const pjaxScript = function (element) {
266
+ const code = element.text || element.textContent || element.innerHTML || '';
267
+ const parent = element.parentNode;
268
+ parent.removeChild(element);
269
+ const script = document.createElement('script');
270
+ if (element.id) {
271
+ script.id = element.id;
272
+ }
273
+ if (element.className) {
274
+ script.className = element.className;
275
+ }
276
+ if (element.type) {
277
+ script.type = element.type;
278
+ }
279
+ if (element.src) {
280
+ script.src = element.src;
281
+ script.async = false;
282
+ }
283
+ if (element.dataset.pjax !== undefined) {
284
+ script.dataset.pjax = '';
285
+ }
286
+ if (code !== '') {
287
+ script.appendChild(document.createTextNode(code));
288
+ }
289
+ parent.appendChild(script);
290
+ };
291
+ const pageScroll = function (target, offset, complete) {
292
+ const opt = {
293
+ targets: typeof offset === 'number' ? target.parentNode : document.scrollingElement,
294
+ duration: 500,
295
+ easing: 'easeInOutQuad',
296
+ scrollTop: offset || (typeof target === 'number' ? target : (target ? target.top() + document.documentElement.scrollTop - siteNavHeight : 0)),
297
+ complete: function () {
298
+ complete && complete();
299
+ }
300
+ };
301
+ anime(opt);
302
+ };