@haxtheweb/create 0.1.2 → 0.1.4
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.
- package/{LICENSE → LICENSE.md} +2 -2
- package/dist/art.js +47 -0
- package/dist/create.js +398 -171
- package/dist/templates/webcomponent/hax/src/webcomponent.js +1 -1
- package/dist/utils.js +44 -0
- package/package.json +7 -7
- package/dist/templates/haxsite/default/.htaccess +0 -79
- package/dist/templates/haxsite/default/.nojekyll +0 -0
- package/dist/templates/haxsite/default/404.html +0 -43
- package/dist/templates/haxsite/default/CNAME +0 -0
- package/dist/templates/haxsite/default/Dockerfile +0 -15
- package/dist/templates/haxsite/default/LICENSE.md +0 -201
- package/dist/templates/haxsite/default/README.md +0 -38
- package/dist/templates/haxsite/default/adlcp_rootv1p2.xsd +0 -110
- package/dist/templates/haxsite/default/assets/banner.jpg +0 -0
- package/dist/templates/haxsite/default/assets/build-legacy.js +0 -1
- package/dist/templates/haxsite/default/assets/build-polyfills.js +0 -1
- package/dist/templates/haxsite/default/assets/favicon.ico +0 -0
- package/dist/templates/haxsite/default/assets/favicon.png +0 -0
- package/dist/templates/haxsite/default/assets/icon-144x144.png +0 -0
- package/dist/templates/haxsite/default/assets/icon-192x192.png +0 -0
- package/dist/templates/haxsite/default/assets/icon-256x256.png +0 -0
- package/dist/templates/haxsite/default/assets/icon-48x48.png +0 -0
- package/dist/templates/haxsite/default/assets/icon-512x512.png +0 -0
- package/dist/templates/haxsite/default/assets/icon-72x72.png +0 -0
- package/dist/templates/haxsite/default/assets/icon-96x96.png +0 -0
- package/dist/templates/haxsite/default/assets/legacy-outline.css +0 -25
- package/dist/templates/haxsite/default/assets/upgrade-browser.html +0 -136
- package/dist/templates/haxsite/default/browserconfig.xml +0 -11
- package/dist/templates/haxsite/default/build-haxcms.js +0 -123
- package/dist/templates/haxsite/default/build.js +0 -1
- package/dist/templates/haxsite/default/custom/Dockerfile +0 -15
- package/dist/templates/haxsite/default/custom/README.md +0 -20
- package/dist/templates/haxsite/default/custom/package.json +0 -27
- package/dist/templates/haxsite/default/custom/rollup.config.js +0 -20
- package/dist/templates/haxsite/default/custom/src/custom.js +0 -8
- package/dist/templates/haxsite/default/false +0 -0
- package/dist/templates/haxsite/default/files/.gitkeep +0 -0
- package/dist/templates/haxsite/default/ims_xml.xsd +0 -1
- package/dist/templates/haxsite/default/imscp_rootv1p1p2.xsd +0 -345
- package/dist/templates/haxsite/default/imsmanifest.xml +0 -57
- package/dist/templates/haxsite/default/imsmd_rootv1p2p1.xsd +0 -573
- package/dist/templates/haxsite/default/index.html +0 -211
- package/dist/templates/haxsite/default/index.php +0 -166
- package/dist/templates/haxsite/default/manifest.json +0 -65
- package/dist/templates/haxsite/default/offline.html +0 -11
- package/dist/templates/haxsite/default/package.json +0 -38
- package/dist/templates/haxsite/default/pages/.gitkeep +0 -0
- package/dist/templates/haxsite/default/polymer.json +0 -126
- package/dist/templates/haxsite/default/push-manifest.json +0 -8
- package/dist/templates/haxsite/default/robots.txt +0 -27
- package/dist/templates/haxsite/default/service-worker.js +0 -283
- package/dist/templates/haxsite/default/site.json +0 -39
- package/dist/templates/haxsite/default/theme/theme.css +0 -13
- package/dist/templates/haxsite/default/theme/theme.html +0 -46
- package/dist/templates/haxsite/default/web-dev-server.haxcms.config.cjs +0 -10
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2016 Google Inc. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
// DO NOT EDIT THIS GENERATED OUTPUT DIRECTLY!
|
|
18
|
-
// This file should be overwritten as part of your build process.
|
|
19
|
-
// If you need to extend the behavior of the generated service worker, the best approach is to write
|
|
20
|
-
// additional code and include it using the importScripts option:
|
|
21
|
-
// https://github.com/GoogleChrome/sw-precache#importscripts-arraystring
|
|
22
|
-
//
|
|
23
|
-
// Alternatively, it's possible to make changes to the underlying template file and then use that as the
|
|
24
|
-
// new base for generating output, via the templateFilePath option:
|
|
25
|
-
// https://github.com/GoogleChrome/sw-precache#templatefilepath-string
|
|
26
|
-
//
|
|
27
|
-
// If you go that route, make sure that whenever you update your sw-precache dependency, you reconcile any
|
|
28
|
-
// changes made to this original template file with your modified copy.
|
|
29
|
-
|
|
30
|
-
// This generated service worker JavaScript will precache your site's resources.
|
|
31
|
-
// The code needs to be saved in a .js file at the top-level of your site, and registered
|
|
32
|
-
// from your pages in order to be used. See
|
|
33
|
-
// https://github.com/googlechrome/sw-precache/blob/master/demo/app/js/service-worker-registration.js
|
|
34
|
-
// for an example of how you can register this script and handle various service worker events.
|
|
35
|
-
|
|
36
|
-
/* eslint-env worker, serviceworker */
|
|
37
|
-
/* eslint-disable indent, no-unused-vars, no-multiple-empty-lines, max-nested-callbacks, space-before-function-paren, quotes, comma-spacing */
|
|
38
|
-
'use strict';
|
|
39
|
-
|
|
40
|
-
var precacheConfig = [];
|
|
41
|
-
var cacheName = 'sw-precache-v3--' + (self.registration ? self.registration.scope : '');
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var ignoreUrlParametersMatching = [/^utm_/];
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var addDirectoryIndex = function (originalUrl, index) {
|
|
49
|
-
var url = new URL(originalUrl);
|
|
50
|
-
if (url.pathname.slice(-1) === '/') {
|
|
51
|
-
url.pathname += index;
|
|
52
|
-
}
|
|
53
|
-
return url.toString();
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
var cleanResponse = function (originalResponse) {
|
|
57
|
-
// If this is not a redirected response, then we don't have to do anything.
|
|
58
|
-
if (!originalResponse.redirected) {
|
|
59
|
-
return Promise.resolve(originalResponse);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Firefox 50 and below doesn't support the Response.body stream, so we may
|
|
63
|
-
// need to read the entire body to memory as a Blob.
|
|
64
|
-
var bodyPromise = 'body' in originalResponse ?
|
|
65
|
-
Promise.resolve(originalResponse.body) :
|
|
66
|
-
originalResponse.blob();
|
|
67
|
-
|
|
68
|
-
return bodyPromise.then(function (body) {
|
|
69
|
-
// new Response() is happy when passed either a stream or a Blob.
|
|
70
|
-
return new Response(body, {
|
|
71
|
-
headers: originalResponse.headers,
|
|
72
|
-
status: originalResponse.status,
|
|
73
|
-
statusText: originalResponse.statusText
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
var createCacheKey = function (originalUrl, paramName, paramValue,
|
|
79
|
-
dontCacheBustUrlsMatching) {
|
|
80
|
-
// Create a new URL object to avoid modifying originalUrl.
|
|
81
|
-
var url = new URL(originalUrl);
|
|
82
|
-
|
|
83
|
-
// If dontCacheBustUrlsMatching is not set, or if we don't have a match,
|
|
84
|
-
// then add in the extra cache-busting URL parameter.
|
|
85
|
-
if (!dontCacheBustUrlsMatching ||
|
|
86
|
-
!(url.pathname.match(dontCacheBustUrlsMatching))) {
|
|
87
|
-
url.search += (url.search ? '&' : '') +
|
|
88
|
-
encodeURIComponent(paramName) + '=' + encodeURIComponent(paramValue);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return url.toString();
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
var isPathWhitelisted = function (whitelist, absoluteUrlString) {
|
|
95
|
-
// If the whitelist is empty, then consider all URLs to be whitelisted.
|
|
96
|
-
if (whitelist.length === 0) {
|
|
97
|
-
return true;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// Otherwise compare each path regex to the path of the URL passed in.
|
|
101
|
-
var path = (new URL(absoluteUrlString)).pathname;
|
|
102
|
-
return whitelist.some(function (whitelistedPathRegex) {
|
|
103
|
-
return path.match(whitelistedPathRegex);
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
var stripIgnoredUrlParameters = function (originalUrl,
|
|
108
|
-
ignoreUrlParametersMatching) {
|
|
109
|
-
var url = new URL(originalUrl);
|
|
110
|
-
// Remove the hash; see https://github.com/GoogleChrome/sw-precache/issues/290
|
|
111
|
-
url.hash = '';
|
|
112
|
-
|
|
113
|
-
url.search = url.search.slice(1) // Exclude initial '?'
|
|
114
|
-
.split('&') // Split into an array of 'key=value' strings
|
|
115
|
-
.map(function (kv) {
|
|
116
|
-
return kv.split('='); // Split each 'key=value' string into a [key, value] array
|
|
117
|
-
})
|
|
118
|
-
.filter(function (kv) {
|
|
119
|
-
return ignoreUrlParametersMatching.every(function (ignoredRegex) {
|
|
120
|
-
return !ignoredRegex.test(kv[0]); // Return true iff the key doesn't match any of the regexes.
|
|
121
|
-
});
|
|
122
|
-
})
|
|
123
|
-
.map(function (kv) {
|
|
124
|
-
return kv.join('='); // Join each [key, value] array into a 'key=value' string
|
|
125
|
-
})
|
|
126
|
-
.join('&'); // Join the array of 'key=value' strings into a string with '&' in between each
|
|
127
|
-
|
|
128
|
-
return url.toString();
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
var hashParamName = '_sw-precache';
|
|
133
|
-
var urlsToCacheKeys = new Map(
|
|
134
|
-
precacheConfig.map(function (item) {
|
|
135
|
-
var relativeUrl = item[0];
|
|
136
|
-
var hash = item[1];
|
|
137
|
-
var absoluteUrl = new URL(relativeUrl, self.location);
|
|
138
|
-
var cacheKey = createCacheKey(absoluteUrl, hashParamName, hash, false);
|
|
139
|
-
return [absoluteUrl.toString(), cacheKey];
|
|
140
|
-
})
|
|
141
|
-
);
|
|
142
|
-
|
|
143
|
-
function setOfCachedUrls(cache) {
|
|
144
|
-
return cache.keys().then(function (requests) {
|
|
145
|
-
return requests.map(function (request) {
|
|
146
|
-
return request.url;
|
|
147
|
-
});
|
|
148
|
-
}).then(function (urls) {
|
|
149
|
-
return new Set(urls);
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
self.addEventListener('install', function (event) {
|
|
154
|
-
event.waitUntil(
|
|
155
|
-
caches.open(cacheName).then(function (cache) {
|
|
156
|
-
return setOfCachedUrls(cache).then(function (cachedUrls) {
|
|
157
|
-
return Promise.all(
|
|
158
|
-
Array.from(urlsToCacheKeys.values()).map(function (cacheKey) {
|
|
159
|
-
// If we don't have a key matching url in the cache already, add it.
|
|
160
|
-
if (!cachedUrls.has(cacheKey)) {
|
|
161
|
-
var request = new Request(cacheKey, { credentials: 'same-origin' });
|
|
162
|
-
return fetch(request).then(function (response) {
|
|
163
|
-
// Bail out of installation unless we get back a 200 OK for
|
|
164
|
-
// every request.
|
|
165
|
-
if (!response.ok) {
|
|
166
|
-
throw new Error('Request for ' + cacheKey + ' returned a ' +
|
|
167
|
-
'response with status ' + response.status);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
return cleanResponse(response).then(function (responseToCache) {
|
|
171
|
-
return cache.put(cacheKey, responseToCache);
|
|
172
|
-
});
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
})
|
|
176
|
-
);
|
|
177
|
-
});
|
|
178
|
-
}).then(function () {
|
|
179
|
-
|
|
180
|
-
// Force the SW to transition from installing -> active state
|
|
181
|
-
return self.skipWaiting();
|
|
182
|
-
|
|
183
|
-
})
|
|
184
|
-
);
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
self.addEventListener('activate', function (event) {
|
|
188
|
-
var setOfExpectedUrls = new Set(urlsToCacheKeys.values());
|
|
189
|
-
|
|
190
|
-
event.waitUntil(
|
|
191
|
-
caches.open(cacheName).then(function (cache) {
|
|
192
|
-
return cache.keys().then(function (existingRequests) {
|
|
193
|
-
return Promise.all(
|
|
194
|
-
existingRequests.map(function (existingRequest) {
|
|
195
|
-
if (!setOfExpectedUrls.has(existingRequest.url)) {
|
|
196
|
-
return cache.delete(existingRequest);
|
|
197
|
-
}
|
|
198
|
-
})
|
|
199
|
-
);
|
|
200
|
-
});
|
|
201
|
-
}).then(function () {
|
|
202
|
-
|
|
203
|
-
return self.clients.claim();
|
|
204
|
-
|
|
205
|
-
})
|
|
206
|
-
);
|
|
207
|
-
});
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
self.addEventListener('fetch', function (event) {
|
|
211
|
-
if (event.request.method === 'GET') {
|
|
212
|
-
// Should we call event.respondWith() inside this fetch event handler?
|
|
213
|
-
// This needs to be determined synchronously, which will give other fetch
|
|
214
|
-
// handlers a chance to handle the request if need be.
|
|
215
|
-
var shouldRespond;
|
|
216
|
-
|
|
217
|
-
// First, remove all the ignored parameters and hash fragment, and see if we
|
|
218
|
-
// have that URL in our cache. If so, great! shouldRespond will be true.
|
|
219
|
-
var url = stripIgnoredUrlParameters(event.request.url, ignoreUrlParametersMatching);
|
|
220
|
-
shouldRespond = urlsToCacheKeys.has(url);
|
|
221
|
-
|
|
222
|
-
// If shouldRespond is false, check again, this time with 'index.html'
|
|
223
|
-
// (or whatever the directoryIndex option is set to) at the end.
|
|
224
|
-
var directoryIndex = '';
|
|
225
|
-
if (!shouldRespond && directoryIndex) {
|
|
226
|
-
url = addDirectoryIndex(url, directoryIndex);
|
|
227
|
-
shouldRespond = urlsToCacheKeys.has(url);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
// If shouldRespond is still false, check to see if this is a navigation
|
|
231
|
-
// request, and if so, whether the URL matches navigateFallbackWhitelist.
|
|
232
|
-
var navigateFallback = 'index.html';
|
|
233
|
-
if (!shouldRespond &&
|
|
234
|
-
navigateFallback &&
|
|
235
|
-
(event.request.mode === 'navigate') &&
|
|
236
|
-
isPathWhitelisted(["\\/[^\\/\\.]*(\\?|$)"], event.request.url)) {
|
|
237
|
-
url = new URL(navigateFallback, self.location).toString();
|
|
238
|
-
shouldRespond = urlsToCacheKeys.has(url);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
// If shouldRespond was set to true at any point, then call
|
|
242
|
-
// event.respondWith(), using the appropriate cache key.
|
|
243
|
-
if (shouldRespond) {
|
|
244
|
-
event.respondWith(
|
|
245
|
-
caches.open(cacheName).then(function (cache) {
|
|
246
|
-
return cache.match(urlsToCacheKeys.get(url)).then(function (response) {
|
|
247
|
-
if (response) {
|
|
248
|
-
return response;
|
|
249
|
-
}
|
|
250
|
-
throw Error('The cached response that was expected is missing.');
|
|
251
|
-
});
|
|
252
|
-
}).catch(function (e) {
|
|
253
|
-
// Fall back to just fetch()ing the request if some unexpected error
|
|
254
|
-
// prevented the cached response from being valid.
|
|
255
|
-
console.warn('Couldn\'t serve response for "%s" from cache: %O', event.request.url, e);
|
|
256
|
-
return fetch(event.request);
|
|
257
|
-
})
|
|
258
|
-
);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
});
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
// *** Start of auto-included sw-toolbox code. ***
|
|
265
|
-
/*
|
|
266
|
-
Copyright 2016 Google Inc. All Rights Reserved.
|
|
267
|
-
|
|
268
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
269
|
-
you may not use this file except in compliance with the License.
|
|
270
|
-
You may obtain a copy of the License at
|
|
271
|
-
|
|
272
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
273
|
-
|
|
274
|
-
Unless required by applicable law or agreed to in writing, software
|
|
275
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
276
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
277
|
-
See the License for the specific language governing permissions and
|
|
278
|
-
limitations under the License.
|
|
279
|
-
*/
|
|
280
|
-
!function (e) { if ("object" == typeof exports && "undefined" != typeof module) module.exports = e(); else if ("function" == typeof define && define.amd) define([], e); else { var t; t = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, t.toolbox = e() } }(function () { return function e(t, n, r) { function o(c, s) { if (!n[c]) { if (!t[c]) { var a = "function" == typeof require && require; if (!s && a) return a(c, !0); if (i) return i(c, !0); var u = new Error("Cannot find module '" + c + "'"); throw u.code = "MODULE_NOT_FOUND", u } var f = n[c] = { exports: {} }; t[c][0].call(f.exports, function (e) { var n = t[c][1][e]; return o(n ? n : e) }, f, f.exports, e, t, n, r) } return n[c].exports } for (var i = "function" == typeof require && require, c = 0; c < r.length; c++)o(r[c]); return o }({ 1: [function (e, t, n) { "use strict"; function r(e, t) { t = t || {}; var n = t.debug || m.debug; n && console.log("[sw-toolbox] " + e) } function o(e) { var t; return e && e.cache && (t = e.cache.name), t = t || m.cache.name, caches.open(t) } function i(e, t) { t = t || {}; var n = t.successResponses || m.successResponses; return fetch(e.clone()).then(function (r) { return "GET" === e.method && n.test(r.status) && o(t).then(function (n) { n.put(e, r).then(function () { var r = t.cache || m.cache; (r.maxEntries || r.maxAgeSeconds) && r.name && c(e, n, r) }) }), r.clone() }) } function c(e, t, n) { var r = s.bind(null, e, t, n); d = d ? d.then(r) : r() } function s(e, t, n) { var o = e.url, i = n.maxAgeSeconds, c = n.maxEntries, s = n.name, a = Date.now(); return r("Updating LRU order for " + o + ". Max entries is " + c + ", max age is " + i), g.getDb(s).then(function (e) { return g.setTimestampForUrl(e, o, a) }).then(function (e) { return g.expireEntries(e, c, i, a) }).then(function (e) { r("Successfully updated IDB."); var n = e.map(function (e) { return t.delete(e) }); return Promise.all(n).then(function () { r("Done with cache cleanup.") }) }).catch(function (e) { r(e) }) } function a(e, t, n) { return r("Renaming cache: [" + e + "] to [" + t + "]", n), caches.delete(t).then(function () { return Promise.all([caches.open(e), caches.open(t)]).then(function (t) { var n = t[0], r = t[1]; return n.keys().then(function (e) { return Promise.all(e.map(function (e) { return n.match(e).then(function (t) { return r.put(e, t) }) })) }).then(function () { return caches.delete(e) }) }) }) } function u(e, t) { return o(t).then(function (t) { return t.add(e) }) } function f(e, t) { return o(t).then(function (t) { return t.delete(e) }) } function h(e) { e instanceof Promise || p(e), m.preCacheItems = m.preCacheItems.concat(e) } function p(e) { var t = Array.isArray(e); if (t && e.forEach(function (e) { "string" == typeof e || e instanceof Request || (t = !1) }), !t) throw new TypeError("The precache method expects either an array of strings and/or Requests or a Promise that resolves to an array of strings and/or Requests."); return e } function l(e, t, n) { if (!e) return !1; if (t) { var r = e.headers.get("date"); if (r) { var o = new Date(r); if (o.getTime() + 1e3 * t < n) return !1 } } return !0 } var d, m = e("./options"), g = e("./idb-cache-expiration"); t.exports = { debug: r, fetchAndCache: i, openCache: o, renameCache: a, cache: u, uncache: f, precache: h, validatePrecacheInput: p, isResponseFresh: l } }, { "./idb-cache-expiration": 2, "./options": 4 }], 2: [function (e, t, n) { "use strict"; function r(e) { return new Promise(function (t, n) { var r = indexedDB.open(u + e, f); r.onupgradeneeded = function () { var e = r.result.createObjectStore(h, { keyPath: p }); e.createIndex(l, l, { unique: !1 }) }, r.onsuccess = function () { t(r.result) }, r.onerror = function () { n(r.error) } }) } function o(e) { return e in d || (d[e] = r(e)), d[e] } function i(e, t, n) { return new Promise(function (r, o) { var i = e.transaction(h, "readwrite"), c = i.objectStore(h); c.put({ url: t, timestamp: n }), i.oncomplete = function () { r(e) }, i.onabort = function () { o(i.error) } }) } function c(e, t, n) { return t ? new Promise(function (r, o) { var i = 1e3 * t, c = [], s = e.transaction(h, "readwrite"), a = s.objectStore(h), u = a.index(l); u.openCursor().onsuccess = function (e) { var t = e.target.result; if (t && n - i > t.value[l]) { var r = t.value[p]; c.push(r), a.delete(r), t.continue() } }, s.oncomplete = function () { r(c) }, s.onabort = o }) : Promise.resolve([]) } function s(e, t) { return t ? new Promise(function (n, r) { var o = [], i = e.transaction(h, "readwrite"), c = i.objectStore(h), s = c.index(l), a = s.count(); s.count().onsuccess = function () { var e = a.result; e > t && (s.openCursor().onsuccess = function (n) { var r = n.target.result; if (r) { var i = r.value[p]; o.push(i), c.delete(i), e - o.length > t && r.continue() } }) }, i.oncomplete = function () { n(o) }, i.onabort = r }) : Promise.resolve([]) } function a(e, t, n, r) { return c(e, n, r).then(function (n) { return s(e, t).then(function (e) { return n.concat(e) }) }) } var u = "sw-toolbox-", f = 1, h = "store", p = "url", l = "timestamp", d = {}; t.exports = { getDb: o, setTimestampForUrl: i, expireEntries: a } }, {}], 3: [function (e, t, n) { "use strict"; function r(e) { var t = a.match(e.request); t ? e.respondWith(t(e.request)) : a.default && "GET" === e.request.method && 0 === e.request.url.indexOf("http") && e.respondWith(a.default(e.request)) } function o(e) { s.debug("activate event fired"); var t = u.cache.name + "$$$inactive$$$"; e.waitUntil(s.renameCache(t, u.cache.name)) } function i(e) { return e.reduce(function (e, t) { return e.concat(t) }, []) } function c(e) { var t = u.cache.name + "$$$inactive$$$"; s.debug("install event fired"), s.debug("creating cache [" + t + "]"), e.waitUntil(s.openCache({ cache: { name: t } }).then(function (e) { return Promise.all(u.preCacheItems).then(i).then(s.validatePrecacheInput).then(function (t) { return s.debug("preCache list: " + (t.join(", ") || "(none)")), e.addAll(t) }) })) } e("serviceworker-cache-polyfill"); var s = e("./helpers"), a = e("./router"), u = e("./options"); t.exports = { fetchListener: r, activateListener: o, installListener: c } }, { "./helpers": 1, "./options": 4, "./router": 6, "serviceworker-cache-polyfill": 16 }], 4: [function (e, t, n) { "use strict"; var r; r = self.registration ? self.registration.scope : self.scope || new URL("./", self.location).href, t.exports = { cache: { name: "$$$toolbox-cache$$$" + r + "$$$", maxAgeSeconds: null, maxEntries: null }, debug: !1, networkTimeoutSeconds: null, preCacheItems: [], successResponses: /^0|([123]\d\d)|(40[14567])|410$/ } }, {}], 5: [function (e, t, n) { "use strict"; var r = new URL("./", self.location), o = r.pathname, i = e("path-to-regexp"), c = function (e, t, n, r) { t instanceof RegExp ? this.fullUrlRegExp = t : (0 !== t.indexOf("/") && (t = o + t), this.keys = [], this.regexp = i(t, this.keys)), this.method = e, this.options = r, this.handler = n }; c.prototype.makeHandler = function (e) { var t; if (this.regexp) { var n = this.regexp.exec(e); t = {}, this.keys.forEach(function (e, r) { t[e.name] = n[r + 1] }) } return function (e) { return this.handler(e, t, this.options) }.bind(this) }, t.exports = c }, { "path-to-regexp": 15 }], 6: [function (e, t, n) { "use strict"; function r(e) { return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&") } var o = e("./route"), i = e("./helpers"), c = function (e, t) { for (var n = e.entries(), r = n.next(), o = []; !r.done;) { var i = new RegExp(r.value[0]); i.test(t) && o.push(r.value[1]), r = n.next() } return o }, s = function () { this.routes = new Map, this.routes.set(RegExp, new Map), this.default = null };["get", "post", "put", "delete", "head", "any"].forEach(function (e) { s.prototype[e] = function (t, n, r) { return this.add(e, t, n, r) } }), s.prototype.add = function (e, t, n, c) { c = c || {}; var s; t instanceof RegExp ? s = RegExp : (s = c.origin || self.location.origin, s = s instanceof RegExp ? s.source : r(s)), e = e.toLowerCase(); var a = new o(e, t, n, c); this.routes.has(s) || this.routes.set(s, new Map); var u = this.routes.get(s); u.has(e) || u.set(e, new Map); var f = u.get(e), h = a.regexp || a.fullUrlRegExp; f.has(h.source) && i.debug('"' + t + '" resolves to same regex as existing route.'), f.set(h.source, a) }, s.prototype.matchMethod = function (e, t) { var n = new URL(t), r = n.origin, o = n.pathname; return this._match(e, c(this.routes, r), o) || this._match(e, [this.routes.get(RegExp)], t) }, s.prototype._match = function (e, t, n) { if (0 === t.length) return null; for (var r = 0; r < t.length; r++) { var o = t[r], i = o && o.get(e.toLowerCase()); if (i) { var s = c(i, n); if (s.length > 0) return s[0].makeHandler(n) } } return null }, s.prototype.match = function (e) { return this.matchMethod(e.method, e.url) || this.matchMethod("any", e.url) }, t.exports = new s }, { "./helpers": 1, "./route": 5 }], 7: [function (e, t, n) { "use strict"; function r(e, t, n) { return n = n || {}, i.debug("Strategy: cache first [" + e.url + "]", n), i.openCache(n).then(function (t) { return t.match(e).then(function (t) { var r = n.cache || o.cache, c = Date.now(); return i.isResponseFresh(t, r.maxAgeSeconds, c) ? t : i.fetchAndCache(e, n) }) }) } var o = e("../options"), i = e("../helpers"); t.exports = r }, { "../helpers": 1, "../options": 4 }], 8: [function (e, t, n) { "use strict"; function r(e, t, n) { return n = n || {}, i.debug("Strategy: cache only [" + e.url + "]", n), i.openCache(n).then(function (t) { return t.match(e).then(function (e) { var t = n.cache || o.cache, r = Date.now(); if (i.isResponseFresh(e, t.maxAgeSeconds, r)) return e }) }) } var o = e("../options"), i = e("../helpers"); t.exports = r }, { "../helpers": 1, "../options": 4 }], 9: [function (e, t, n) { "use strict"; function r(e, t, n) { return o.debug("Strategy: fastest [" + e.url + "]", n), new Promise(function (r, c) { var s = !1, a = [], u = function (e) { a.push(e.toString()), s ? c(new Error('Both cache and network failed: "' + a.join('", "') + '"')) : s = !0 }, f = function (e) { e instanceof Response ? r(e) : u("No result returned") }; o.fetchAndCache(e.clone(), n).then(f, u), i(e, t, n).then(f, u) }) } var o = e("../helpers"), i = e("./cacheOnly"); t.exports = r }, { "../helpers": 1, "./cacheOnly": 8 }], 10: [function (e, t, n) { t.exports = { networkOnly: e("./networkOnly"), networkFirst: e("./networkFirst"), cacheOnly: e("./cacheOnly"), cacheFirst: e("./cacheFirst"), fastest: e("./fastest") } }, { "./cacheFirst": 7, "./cacheOnly": 8, "./fastest": 9, "./networkFirst": 11, "./networkOnly": 12 }], 11: [function (e, t, n) { "use strict"; function r(e, t, n) { n = n || {}; var r = n.successResponses || o.successResponses, c = n.networkTimeoutSeconds || o.networkTimeoutSeconds; return i.debug("Strategy: network first [" + e.url + "]", n), i.openCache(n).then(function (t) { var s, a, u = []; if (c) { var f = new Promise(function (r) { s = setTimeout(function () { t.match(e).then(function (e) { var t = n.cache || o.cache, c = Date.now(), s = t.maxAgeSeconds; i.isResponseFresh(e, s, c) && r(e) }) }, 1e3 * c) }); u.push(f) } var h = i.fetchAndCache(e, n).then(function (e) { if (s && clearTimeout(s), r.test(e.status)) return e; throw i.debug("Response was an HTTP error: " + e.statusText, n), a = e, new Error("Bad response") }).catch(function (r) { return i.debug("Network or response error, fallback to cache [" + e.url + "]", n), t.match(e).then(function (e) { if (e) return e; if (a) return a; throw r }) }); return u.push(h), Promise.race(u) }) } var o = e("../options"), i = e("../helpers"); t.exports = r }, { "../helpers": 1, "../options": 4 }], 12: [function (e, t, n) { "use strict"; function r(e, t, n) { return o.debug("Strategy: network only [" + e.url + "]", n), fetch(e) } var o = e("../helpers"); t.exports = r }, { "../helpers": 1 }], 13: [function (e, t, n) { "use strict"; var r = e("./options"), o = e("./router"), i = e("./helpers"), c = e("./strategies"), s = e("./listeners"); i.debug("Service Worker Toolbox is loading"), self.addEventListener("install", s.installListener), self.addEventListener("activate", s.activateListener), self.addEventListener("fetch", s.fetchListener), t.exports = { networkOnly: c.networkOnly, networkFirst: c.networkFirst, cacheOnly: c.cacheOnly, cacheFirst: c.cacheFirst, fastest: c.fastest, router: o, options: r, cache: i.cache, uncache: i.uncache, precache: i.precache } }, { "./helpers": 1, "./listeners": 3, "./options": 4, "./router": 6, "./strategies": 10 }], 14: [function (e, t, n) { t.exports = Array.isArray || function (e) { return "[object Array]" == Object.prototype.toString.call(e) } }, {}], 15: [function (e, t, n) { function r(e, t) { for (var n, r = [], o = 0, i = 0, c = "", s = t && t.delimiter || "/"; null != (n = x.exec(e));) { var f = n[0], h = n[1], p = n.index; if (c += e.slice(i, p), i = p + f.length, h) c += h[1]; else { var l = e[i], d = n[2], m = n[3], g = n[4], v = n[5], w = n[6], y = n[7]; c && (r.push(c), c = ""); var b = null != d && null != l && l !== d, E = "+" === w || "*" === w, R = "?" === w || "*" === w, k = n[2] || s, $ = g || v; r.push({ name: m || o++, prefix: d || "", delimiter: k, optional: R, repeat: E, partial: b, asterisk: !!y, pattern: $ ? u($) : y ? ".*" : "[^" + a(k) + "]+?" }) } } return i < e.length && (c += e.substr(i)), c && r.push(c), r } function o(e, t) { return s(r(e, t)) } function i(e) { return encodeURI(e).replace(/[\/?#]/g, function (e) { return "%" + e.charCodeAt(0).toString(16).toUpperCase() }) } function c(e) { return encodeURI(e).replace(/[?#]/g, function (e) { return "%" + e.charCodeAt(0).toString(16).toUpperCase() }) } function s(e) { for (var t = new Array(e.length), n = 0; n < e.length; n++)"object" == typeof e[n] && (t[n] = new RegExp("^(?:" + e[n].pattern + ")$")); return function (n, r) { for (var o = "", s = n || {}, a = r || {}, u = a.pretty ? i : encodeURIComponent, f = 0; f < e.length; f++) { var h = e[f]; if ("string" != typeof h) { var p, l = s[h.name]; if (null == l) { if (h.optional) { h.partial && (o += h.prefix); continue } throw new TypeError('Expected "' + h.name + '" to be defined') } if (v(l)) { if (!h.repeat) throw new TypeError('Expected "' + h.name + '" to not repeat, but received `' + JSON.stringify(l) + "`"); if (0 === l.length) { if (h.optional) continue; throw new TypeError('Expected "' + h.name + '" to not be empty') } for (var d = 0; d < l.length; d++) { if (p = u(l[d]), !t[f].test(p)) throw new TypeError('Expected all "' + h.name + '" to match "' + h.pattern + '", but received `' + JSON.stringify(p) + "`"); o += (0 === d ? h.prefix : h.delimiter) + p } } else { if (p = h.asterisk ? c(l) : u(l), !t[f].test(p)) throw new TypeError('Expected "' + h.name + '" to match "' + h.pattern + '", but received "' + p + '"'); o += h.prefix + p } } else o += h } return o } } function a(e) { return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g, "\\$1") } function u(e) { return e.replace(/([=!:$\/()])/g, "\\$1") } function f(e, t) { return e.keys = t, e } function h(e) { return e.sensitive ? "" : "i" } function p(e, t) { var n = e.source.match(/\((?!\?)/g); if (n) for (var r = 0; r < n.length; r++)t.push({ name: r, prefix: null, delimiter: null, optional: !1, repeat: !1, partial: !1, asterisk: !1, pattern: null }); return f(e, t) } function l(e, t, n) { for (var r = [], o = 0; o < e.length; o++)r.push(g(e[o], t, n).source); var i = new RegExp("(?:" + r.join("|") + ")", h(n)); return f(i, t) } function d(e, t, n) { return m(r(e, n), t, n) } function m(e, t, n) { v(t) || (n = t || n, t = []), n = n || {}; for (var r = n.strict, o = n.end !== !1, i = "", c = 0; c < e.length; c++) { var s = e[c]; if ("string" == typeof s) i += a(s); else { var u = a(s.prefix), p = "(?:" + s.pattern + ")"; t.push(s), s.repeat && (p += "(?:" + u + p + ")*"), p = s.optional ? s.partial ? u + "(" + p + ")?" : "(?:" + u + "(" + p + "))?" : u + "(" + p + ")", i += p } } var l = a(n.delimiter || "/"), d = i.slice(-l.length) === l; return r || (i = (d ? i.slice(0, -l.length) : i) + "(?:" + l + "(?=$))?"), i += o ? "$" : r && d ? "" : "(?=" + l + "|$)", f(new RegExp("^" + i, h(n)), t) } function g(e, t, n) { return v(t) || (n = t || n, t = []), n = n || {}, e instanceof RegExp ? p(e, t) : v(e) ? l(e, t, n) : d(e, t, n) } var v = e("isarray"); t.exports = g, t.exports.parse = r, t.exports.compile = o, t.exports.tokensToFunction = s, t.exports.tokensToRegExp = m; var x = new RegExp(["(\\\\.)", "([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"), "g") }, { isarray: 14 }], 16: [function (e, t, n) { !function () { var e = Cache.prototype.addAll, t = navigator.userAgent.match(/(Firefox|Chrome)\/(\d+\.)/); if (t) var n = t[1], r = parseInt(t[2]); e && (!t || "Firefox" === n && r >= 46 || "Chrome" === n && r >= 50) || (Cache.prototype.addAll = function (e) { function t(e) { this.name = "NetworkError", this.code = 19, this.message = e } var n = this; return t.prototype = Object.create(Error.prototype), Promise.resolve().then(function () { if (arguments.length < 1) throw new TypeError; return e = e.map(function (e) { return e instanceof Request ? e : String(e) }), Promise.all(e.map(function (e) { "string" == typeof e && (e = new Request(e)); var n = new URL(e.url).protocol; if ("http:" !== n && "https:" !== n) throw new t("Invalid scheme"); return fetch(e.clone()) })) }).then(function (r) { if (r.some(function (e) { return !e.ok })) throw new t("Incorrect response status"); return Promise.all(r.map(function (t, r) { return n.put(e[r], t) })) }).then(function () { }) }, Cache.prototype.add = function (e) { return this.addAll([e]) }) }() }, {}] }, {}, [13])(13) });
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
// *** End of auto-included sw-toolbox code. ***
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "<%= id %>",
|
|
3
|
-
"title": "<%= name %>",
|
|
4
|
-
"author": "<%= author %>",
|
|
5
|
-
"description": "",
|
|
6
|
-
"license": "by-sa",
|
|
7
|
-
"metadata": {
|
|
8
|
-
"author": {
|
|
9
|
-
"name": "<%= author %>"
|
|
10
|
-
},
|
|
11
|
-
"site": {
|
|
12
|
-
"name": "btopro",
|
|
13
|
-
"created": <%= timestamp %>,
|
|
14
|
-
"updated": <%= timestamp %>,
|
|
15
|
-
"version": "<%= version %>"
|
|
16
|
-
},
|
|
17
|
-
"theme": {
|
|
18
|
-
"element": "clean-one",
|
|
19
|
-
"path": "@lrnwebcomponents/clean-one/clean-one.js",
|
|
20
|
-
"name": "Haxor Blog theme",
|
|
21
|
-
"thumbnail": "build/es6/node_modules/@lrnwebcomponents/app-hax/lib/assets/images/PartyStyle.svg",
|
|
22
|
-
"variables": {
|
|
23
|
-
"image": "files/1500x5001.jpeg",
|
|
24
|
-
"imageAlt": "",
|
|
25
|
-
"imageLink": "",
|
|
26
|
-
"hexCode": "#aeff00",
|
|
27
|
-
"cssVariable": "--simple-colors-default-theme-deep-purple-7",
|
|
28
|
-
"icon": "av:add-to-queue"
|
|
29
|
-
},
|
|
30
|
-
"regions": {}
|
|
31
|
-
},
|
|
32
|
-
"build": {
|
|
33
|
-
"version": "<%= version %>",
|
|
34
|
-
"structure": "default",
|
|
35
|
-
"type": "cli"
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
"items": []
|
|
39
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This is a custom theme css file. You can write whatever you want here
|
|
3
|
-
* but realize you'll need to play by the rules of shadow dom. Meaning,
|
|
4
|
-
* that if something is in a shadow root you won't be able to style it.
|
|
5
|
-
*
|
|
6
|
-
* There is hope though. We leverage CSS variables heavily and most of the
|
|
7
|
-
* elements we have baked in do too.
|
|
8
|
-
*
|
|
9
|
-
* Also since our themes are built on Polymer, you can leverage what
|
|
10
|
-
* are called "apply blocks". The apply block loos like @apply --whatever-stuff;
|
|
11
|
-
* Think of it like a sass mixin, where you can apply any css you want
|
|
12
|
-
* inside of that block and it'll apply downstream. Two examples are given below
|
|
13
|
-
*/
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Edit this file and do whatever you want to it.
|
|
3
|
-
This is intended to be a starting point that you can fork and do whatever
|
|
4
|
-
you want with it
|
|
5
|
-
-->
|
|
6
|
-
<site-top-menu noink indicator="arrow" arrow-size="8">
|
|
7
|
-
<site-title slot="prefix" class="spacing"></site-title>
|
|
8
|
-
</site-top-menu>
|
|
9
|
-
<div class="container">
|
|
10
|
-
<h1>Edit this file by going to theme/theme.html</h1>
|
|
11
|
-
<h2>Edit the css by going to theme/theme.css</h2>
|
|
12
|
-
<p>You can and should delete these messages and you can do anything
|
|
13
|
-
you want with this. This stuff is here to be destroyed and replaced.
|
|
14
|
-
Welcome to theming without javascript. Woot Woot.
|
|
15
|
-
</p>
|
|
16
|
-
<p>ALso, you'll notice that if you write things like `[[`siteTitle`]]` and you'll get the site title.
|
|
17
|
-
You can see it in action here as [[siteTitle]].
|
|
18
|
-
</p>
|
|
19
|
-
<site-breadcrumb></site-breadcrumb>
|
|
20
|
-
<grid-plate layout="1-3">
|
|
21
|
-
<div slot="col-1" class="left-col">
|
|
22
|
-
<div class="menu-buttons">
|
|
23
|
-
<site-menu-button type="prev" position="top"></site-menu-button>
|
|
24
|
-
<site-menu-button type="next" position="top"></site-menu-button>
|
|
25
|
-
</div>
|
|
26
|
-
<site-active-title dynamic-methodology="ancestor"></site-active-title>
|
|
27
|
-
<site-children-block dynamic-methodology="ancestor"></site-children-block>
|
|
28
|
-
<div class="buttons">
|
|
29
|
-
<site-rss-button type="atom"></site-rss-button>
|
|
30
|
-
<site-rss-button type="rss"></site-rss-button>
|
|
31
|
-
<site-print-button slot="suffix" type="ancestor"></site-print-button>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
<div slot="col-2">
|
|
35
|
-
<!-- required so HAXeditor can work -->
|
|
36
|
-
<div id="contentcontainer">
|
|
37
|
-
<div id="slot">
|
|
38
|
-
<slot></slot>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
<!-- /required so HAXeditor can work -->
|
|
42
|
-
</div>
|
|
43
|
-
</grid-plate>
|
|
44
|
-
</div>
|
|
45
|
-
<site-footer></site-footer>
|
|
46
|
-
<scroll-button position="right" label="Back to top"></scroll-button>
|