Compartmentalized and updated assets

- NETWATCH 404 pages removed - time for something new
- Compartmentalized CSS fonts and JS script files
- Streamlined cache manifest for ServiceWorker
- Added AVIF images, replaced PNG fallback with WebP fallback
- Changed favicon color
This commit is contained in:
Victor Westerlund 2021-06-03 10:59:43 +02:00
parent 9592f5cafd
commit e47a0229f9
23 changed files with 60 additions and 391 deletions

View file

@ -0,0 +1,17 @@
@font-face {
font-family: "Roboto Mono";
font-weight: 400;
src: local("Roboto Mono Regular"),
local("RobotoMono-Regular"),
url("../fonts/RobotoMono-Regular.woff2"),
url("../fonts/RobotoMono-Regular.ttf");
}
@font-face {
font-family: "Roboto Mono";
font-weight: 700;
src: local("Roboto Mono Bold"),
local("RobotoMono-Bold"),
url("../fonts/RobotoMono-Bold.woff2"),
url("../fonts/RobotoMono-Bold.ttf");
}

View file

@ -1,27 +1,11 @@
@import url("fonts.css");
:root {
--color: #212121;
--color-accent: white;
--color-highlight: #f4f2ff;
}
@font-face {
font-family: "Roboto Mono";
font-weight: 400;
src: local("Roboto Mono Regular"),
local("RobotoMono-Regular"),
url("../fonts/RobotoMono-Regular.woff2"),
url("../fonts/RobotoMono-Regular.ttf");
}
@font-face {
font-family: "Roboto Mono";
font-weight: 700;
src: local("Roboto Mono Bold"),
local("RobotoMono-Bold"),
url("../fonts/RobotoMono-Bold.woff2"),
url("../fonts/RobotoMono-Bold.ttf");
}
/* Cornerstones */
* {
@ -234,4 +218,3 @@ nav a:hover {
}
}
/* Victor Westerlund */

View file

@ -1 +0,0 @@
:root{--color: #212121;--color-accent: white;--color-highlight: #f4f2ff}@font-face{font-family:"Roboto Mono";font-weight:400;src:local("Roboto Mono Regular"),local("RobotoMono-Regular"),url(/assets/fonts/RobotoMono-Regular.woff2),url(/assets/fonts/RobotoMono-Regular.ttf)}@font-face{font-family:"Roboto Mono";font-weight:700;src:local("Roboto Mono Bold"),local("RobotoMono-Bold"),url(/assets/fonts/RobotoMono-Bold.woff2),url(/assets/fonts/RobotoMono-Bold.ttf)}*{margin:0;font-family:"Roboto Mono","Arial",sans-serif;color:var(--color)}::selection{background:var(--color-highlight);color:var(--color)}body,html,main,main>div{width:100%;height:100%}.logo,.logo::after{width:0;height:0;border-left:var(--skew) solid transparent;border-right:var(--skew) solid transparent;border-top:var(--size) solid var(--color)}.logo{--size: 5em;--skew: calc(var(--size) / 1.7)}.logo::after{content:"";opacity:.3}h1{font-size:2em}h2{font-weight:400;font-size:1.42em}h2 span{color:var(--color-accent);background:var(--color)}main{--grid-spacing: 30px;margin:auto;max-width:200vh;background:radial-gradient(circle,rgba(0,0,0,.2) 1px,transparent 1px),url(/assets/img/pattern.gif);background-size:var(--grid-spacing) var(--grid-spacing),auto 90%;background-position:100% 100%;background-repeat:repeat,no-repeat;background-blend-mode:multiply;image-rendering:pixelated;image-rendering:-moz-crisp-edges}main *{image-rendering:initial}main>div{position:absolute;width:50%}#intro{left:0;width:100vh;box-sizing:border-box;padding:5vw;display:flex;align-items:center;z-index:1}#intro .inner{display:flex;flex-wrap:wrap;height:100%}#intro .logo{--size: 7vh;margin-bottom:2em}#intro .block{width:100%;font-size:3vh}#intro .block:last-child{display:flex;align-items:flex-end}#intro .block p{font-size:.7em;margin-bottom:1.5em}#intro .block p span{background:var(--color-accent);margin-right:.9em}nav a{text-decoration:none;margin-right:2em;font-size:.9em}nav a::after{content:"→";padding-left:.5em}nav a:hover{background:var(--color-highlight);font-weight:700}#myface{right:0;width:50%;display:flex;justify-content:center}#myface img,#myface picture{position:absolute;height:80%;bottom:0;pointer-events:none;display:flex;justify-content:center}#myface img{height:100%}@media screen and (max-width:1010px){#myface{display:none}}@media screen and (max-width:800px){h1{font-size:7vw}h2{font-size:5vw}main{max-width:unset;background-size:auto 100vw}#intro{width:initial;padding:10vw;text-align:center}#intro p{text-align:justify}#intro .block p:last-of-type{text-align:initial}nav a{text-decoration:none;margin-right:5vw;font-size:5vw}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 671 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -1,29 +0,0 @@
+--------------------------------------------------------------------------------------------+
Size comparison for 6x6 monochrome image ranking from best to worst
pattern.gif: 49 bytes
- Dithering level: 7 (doesn't really matter)
- Transparency threshold: 128 (doesn't really matter)
pattern.bmp: 86 bytes
- Bit depth: 4
- Dirthering level: 7 (doesn't really matter)
pattern.png: 151 bytes
- Bit depth: 4
- Dirthering level: 7 (doesn't really matter)
- Transparency threshold: 192 (doesn't really matter)
- Interlaced (saves 1 byte)
pattern.webp: 248 bytes
- Quality: 100
pattern.jpg: 800 bytes
- Chroma Subsampling: 4:2:2 (saves 6 bytes from 4:4:4)
+--------------------------------------------------------------------------------------------+
-- Here's the image used for the test --
data:image/gif;base64,R0lGODlhBgAGAHAAACwAAAAABgAGAIH////08v8AAAAAAAACCgRiGciL9mA6ExQAOw==
Unfortunately after all response headers are set, the total ends up at 317 bytes.

View file

@ -0,0 +1,7 @@
// Promote IE to Edge
if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent)) {
window.location = 'microsoft-edge:' + window.location;
setTimeout(function() {
window.location = 'https://go.microsoft.com/fwlink/?linkid=2135547';
},1);
}

View file

@ -0,0 +1,6 @@
// Register SW if supported by browser
if(navigator.serviceWorker) {
navigator.serviceWorker.register("sw.js",{
scope: "/"
});
}

View file

@ -33,29 +33,15 @@
</div>
<div id="myface">
<picture>
<source media="(min-width: 900px)" srcset="assets/img/myface/highres.webp" type="image/webp">
<source media="(min-width: 300px)" srcset="assets/img/myface/mediumres.webp" type="image/webp">
<source media="(min-width: 900px)" srcset="assets/img/myface/highres.png" type="image/png">
<source media="(min-width: 300px)" srcset="assets/img/myface/mediumres.png" type="image/png">
<img srcset="assets/img/myface/fallback.jpg" type="image/jpeg">
<source srcset="assets/img/myface/highres.avif" type="image/avif" media="(min-width: 1920px)">
<source srcset="assets/img/myface/highres.webp" type="image/webp" media="(min-width: 1920px)">
<source srcset="assets/img/myface/mediumres.avif" type="image/avif">
<source srcset="assets/img/myface/mediumres.webp" type="image/webp">
<img src="assets/img/myface/mediumres.png" type="image/png">
</picture>
</div>
</main>
<script>
// Promote IE to Edge
if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent)) {
window.location = 'microsoft-edge:' + window.location;
setTimeout(function() {
window.location = 'https://go.microsoft.com/fwlink/?linkid=2135547';
},1);
}
// Register SW if supported by browser
if(navigator.serviceWorker) {
navigator.serviceWorker.register("sw.js",{
scope: "/"
});
}
</script>
<script src="assets/js/script.js" type="module"></script>
<script src="assets/js/nomodule.js" nomodule></script>
</body>
</html>

View file

@ -1,42 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#091008">
<link rel="stylesheet" href="/netwatch/assets/css/style.css">
<title>NETDIR://PAGE_NOT_FOUND</title>
</head>
<body>
<div id="keystone">
<header>
<div id="keystoneLogo" class="center">
<img src="/netwatch/assets/img/Keystone_icon_2077.svg"/>
<img src="/netwatch/assets/img/Keystone_Logo_2077.svg"/>
</div>
<div id="searchbox" class="centerY">
<div id="urlbox" class="centerY">
<p>NETDIR://PAGE_NOT_FOUND</p>
<div id="poweredby" class="centerY">
<p>POWERED BY</p>
<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 96.75"><path d="M.05,64.48c27.15-.35,54.42,0,81.57-.12,8.78-.11,17.91,1.43,25,6.88,4.62,3.91,7.82,9.37,7.94,15.53v73.87c-11,.11-22-.12-33.08.11V86.42c-16.24,0-32.36-.12-48.61.12q.18,37.15,0,74.33c-10.9-.12-21.93-.12-32.84,0C.05,128.62-.07,96.38.05,64.48Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M128.45,64.48c34.27-.12,68.65-.12,102.92,0-.24,7.23.11,14.59-.12,21.82-23.24-.12-46.6-.24-69.84,0,.12,17.43,0,34.85.12,52.28h69.95c-.11,7.35-.11,14.59,0,21.94-34.26.12-68.64-.12-102.91.12C128.34,128.62,128.34,96.49,128.45,64.48Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M245,64.48c34.62-.23,69.12,0,103.74-.12,2.61,7.35,5.46,14.59,8.18,21.82-13.51.12-27.15-.12-40.66.12.11,24.78,0,49.56,0,74.34-13.88-.12-27.87-.12-41.74,0,0-24.78.12-49.56,0-74.46-9.72.12-19.56-.12-29.28.12C244.88,79,245.12,71.71,245,64.48Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M366.17,64.36c11.38,0,22.76-.23,34.15,0,9,24.66,18.14,49.44,27.15,74.1h56.79q13.51-37.16,27.27-74.33c11.38.12,22.76,0,34.14.12-10.79,28.09-21.22,56.43-31.89,84.65a18.18,18.18,0,0,1-17.07,11.5H414.9a18.23,18.23,0,0,1-17-11.86C387.16,120.68,376.6,92.46,366.17,64.36Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M562.86,64.36c21.94-.11,43.87.12,65.81-.11,2.72,7.35,5.57,14.58,8.18,21.93-16.25-.12-32.49,0-48.85,0-9.13,24.78-18.14,49.56-27.27,74.34-11.38,0-22.65-.12-34,.12C538.8,128.51,551,96.49,562.86,64.36Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M646.09,64.36c37.35.12,74.7-.11,112,.12V86.42c-9.84-.12-19.68-.12-29.4,0,.12,24.78,0,49.56,0,74.33-13.87-.11-27.86,0-41.73,0V86.42H654.39C651.67,78.83,648.82,71.6,646.09,64.36Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M801.29,64.36h70.43V86.18c-23.12-.12-46.24-.12-69.48,0v52.4h69.48v22.06c-23.48-.12-47,0-70.43,0-7.59-.24-15.53-1.31-21.93-5.46a20.62,20.62,0,0,1-10-17.19V86.89a20.37,20.37,0,0,1,8.65-16.12C784.69,65.79,793.23,64.25,801.29,64.36Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M885.71,64.36c10.9-.11,21.81,0,32.72-.11,0,12.92.12,25.84,0,38.88,16.12.12,32.37-.11,48.49.12.12-12.92.12-26,0-39,11,.11,22.05,0,33.08,0-.12,32,0,64.14-.12,96.27-11,0-21.93-.12-33,0,0-12.45.24-24.9-.12-37.35-16.12.24-32.25.12-48.37.12v37.35c-10.91-.12-21.82-.12-32.84,0C885.71,128.62,885.47,96.38,885.71,64.36Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M437,73.49c12.57.12,25.26-.12,37.82.12q-.18,23.3,0,46.6c-12.56.12-25.25,0-37.82.12C436.83,104.67,436.83,89.14,437,73.49Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M167.34,101.47c14.23-.11,28.46,0,42.57,0,0,7.35.12,14.59,0,21.94H167.22C167.34,116.06,167.22,108.71,167.34,101.47Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M614.79,116.89h33.79c5.22,14.58,11,29,16.25,43.63H630.56C625.7,145.82,620,131.47,614.79,116.89Z" transform="translate(0 -64.13)"/></svg>
</div>
</div>
</div>
</header>
<main>
<div id="banner" class="centerY">
<img src="/netwatch/assets/img/no_entry_icon_2077.svg"/>
<h1>PAGE NOT FOUND</h1>
</div>
<div id="content" class="center">
<div class="center">
<img src="/netwatch/assets/img/NetWatch_badge_2077.png"/>
<h2>THIS PAGE CANNOT BE DISPLAYED. FOR HELP, PLEASE CONTACT NETWATCH</h2>
<p>REMEMBER: Never access private domains with the extension .web. Surf ONLY domains with approved URL extensions (e.g. CORP, PUB, LAW). DO NOT upload daemons on public-access computers. If you encounter a rouge AI, contact a NetWatch officer IMMEDIATELY and follow their instructions.</p>
</div>
</div>
</main>
</div>
</body>
</html>

View file

@ -1,240 +0,0 @@
@font-face {
font-family: "NetWatch";
src: url("/netwatch/assets/fonts/netwatch-normal.woff2");
font-weight: 300;
}
:root {
--color-frame: #18635F;
--color-text: #d7fffa;
--color-text-distortion: #03554d40;
}
::selection {
background: var(--color-frame);
color: var(--color-text);
}
* {
margin: 0;
color: var(--color-text);
}
html,
body {
width: 100%;
height: 100%;
margin: 0;
font-family: "NetWatch",sans-serif;
background: black;
display: flex;
align-items: center;
justify-content: center;
-webkit-filter: saturate(2);
filter: saturate(2);
cursor: url("/netwatch/assets/img/cursor.png") 32 32, auto;
}
/* ---- */
.center {
display: flex;
align-items: center;
justify-content: center;
}
.centerX {
display: flex;
justify-content: center;
}
.centerY {
display: flex;
align-items: center;
}
/* ---- */
#keystone {
--header-height: 80px;
--header-content-offset: var(--header-height);
width: calc(100% - 50px);
height: calc(100% - 50px);
border: solid 2px var(--color-frame);
}
#keystone header {
--gadient-dark: #052c2a;
--gradient-light: #072e29;
position: relative;
top: 2px;
height: 80px;
background: #033A35;
background: repeating-linear-gradient(0,var(--gadient-dark),var(--gadient-dark) 5px,var(--gradient-light) 5px,var(--gradient-light) 10px);
border-top: solid 2px var(--color-frame);
border-bottom: solid 2px var(--color-frame);
z-index: 1;
display: flex;
}
#keystoneLogo {
width: 400px;
min-width: 400px;
height: 100%;
background: #0a484541;
border-right: solid 2px var(--color-frame);
}
#keystoneLogo img:first-child {
height: 35px;
margin-right: 20px;
}
#keystoneLogo img {
height: 30px;
filter: drop-shadow(5px 3px 1px var(--color-text-distortion));
}
/* ---- */
#searchbox {
position: relative;
width: 100%;
}
#urlbox {
position: absolute;
right: var(--header-content-offset);
width: calc(100% - 200px);
height: calc(var(--header-content-offset) / 2);
background: #0A4845CC;
}
#urlbox > p {
font-size: 30px;
margin-left: 20px;
}
#poweredby {
position: absolute;
height: 100%;
right: var(--header-content-offset);
display: flex;
}
#poweredby p {
opacity: .3;
font-weight: 700;
}
#poweredby svg {
height: 10px;
margin-left: 10px;
fill: var(--color-text);
}
/* ---- */
main {
--color-glow: #d5ffea94;
width: 100%;
height: calc(100% - var(--header-height) - 4px);
box-sizing: border-box;
padding: 10px;
}
#banner {
position: relative;
margin-top: 50px;
width: 50%;
box-sizing: border-box;
padding: 10px;
padding-left: 15px;
height: var(--header-height);
background: #f4fefc;
box-shadow: 0 0 20px 17px #36c2b126;
}
#banner img {
height: 100%;
margin-right: 15px;
filter: drop-shadow(0px 0px 17px var(--color-glow));
pointer-events: none;
}
#banner h1 {
color: #002823;
font-size: 55px;
font-weight: 300;
word-spacing: 5px;
text-shadow: 0 0 17px var(--color-glow);
}
/* ---- */
#content {
height: calc(100% - var(--header-height) - 50px);
}
#content > div {
flex-wrap: wrap;
width: 50%;
}
#content img {
filter: drop-shadow(0px 0px 17px #91eabe36);
pointer-events: none;
}
#content h2,
#content p {
width: 100%;
text-align: center;
text-shadow: 0 0 17px var(--color-glow);
}
#content h2 {
margin-top: 15px;
margin-bottom: 30px;
}
@media screen and (max-width: 1400px) {
#urlbox > p {
display: none;
}
#banner {
width: 100%;
}
}
@media screen and (max-width: 950px) {
#keystoneLogo {
width: 100%;
}
#searchbox {
display: none;
}
#banner {
display: none;
}
#content > div {
width: calc(100% - 20px);
}
}
@media screen and (max-height: 750px) {
#banner {
display: none;
}
#content {
height: calc(100% - var(--header-height));
}
}

View file

@ -1 +0,0 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 284.81 37.73"><defs><style>.cls-1{fill:#cdfffa;stroke:#cdfffa;stroke-miterlimit:10;stroke-width:2px;}</style></defs><path class="cls-1" d="M118.5,260H123a.5.5,0,0,0,.5-.5V246.08a.5.5,0,0,1,.5-.5h2.83a.51.51,0,0,1,.4.2l10.62,14a.48.48,0,0,0,.4.2h7.83a.5.5,0,0,0,.38-.83L133.67,244.3a.5.5,0,0,1,0-.62L146.59,226a.5.5,0,0,0-.41-.79h-6.93a.48.48,0,0,0-.4.2l-10.7,14.43a.48.48,0,0,1-.4.2H124.5a.5.5,0,0,1-.5-.5V225.67a.5.5,0,0,0-.5-.5h-5a.5.5,0,0,0-.5.5V259.5A.5.5,0,0,0,118.5,260Z" transform="translate(-117 -223.69)"/><rect class="cls-1" x="37.5" y="1.48" width="26.92" height="4.83"/><rect class="cls-1" x="37.54" y="15.6" width="26.92" height="4.83" rx="0.5"/><rect class="cls-1" x="37.54" y="31.6" width="26.92" height="4.83" rx="0.5"/><path class="cls-1" d="M188.73,226l12.16,14.9a.52.52,0,0,1,.11.32V259.5a.5.5,0,0,0,.5.5h5.25a.5.5,0,0,0,.5-.5V241.17a.51.51,0,0,1,.11-.31l12-15.05A.5.5,0,0,0,219,225h-5.7a.51.51,0,0,0-.41.21l-6.7,9.58a.51.51,0,0,1-.41.21h-2.49a.48.48,0,0,1-.4-.2l-7.28-9.6a.5.5,0,0,0-.41-.19l-6,.13A.5.5,0,0,0,188.73,226Z" transform="translate(-117 -223.69)"/><path class="cls-1" d="M255.5,226v5a.5.5,0,0,1-.5.5H234a.5.5,0,0,0-.5.5v8a.5.5,0,0,0,.5.5h22.75a.5.5,0,0,1,.5.5v18.92a.5.5,0,0,1-.5.5H229.5a.5.5,0,0,1-.5-.5v-5.09a.5.5,0,0,1,.5-.5h22a.5.5,0,0,0,.5-.5V247a.5.5,0,0,0-.5-.5H229a.5.5,0,0,1-.5-.5V226a.5.5,0,0,1,.5-.5h26A.5.5,0,0,1,255.5,226Z" transform="translate(-117 -223.69)"/><path class="cls-1" d="M264.92,226v4.08a.5.5,0,0,0,.5.5H276.5a.5.5,0,0,1,.5.5v28.84a.5.5,0,0,0,.5.5h4a.5.5,0,0,0,.5-.5V231a.5.5,0,0,1,.5-.5h11a.5.5,0,0,0,.5-.5v-4a.5.5,0,0,0-.5-.5H265.42A.5.5,0,0,0,264.92,226Z" transform="translate(-117 -223.69)"/><path class="cls-1" d="M300.33,225.5v34a.5.5,0,0,0,.5.5h28a.5.5,0,0,0,.5-.5v-34a.5.5,0,0,0-.5-.5h-28A.5.5,0,0,0,300.33,225.5Zm22.17,28h-16a.5.5,0,0,1-.5-.5V231.5a.5.5,0,0,1,.5-.5h16a.5.5,0,0,1,.5.5V253A.5.5,0,0,1,322.5,253.5Z" transform="translate(-117 -223.69)"/><path class="cls-1" d="M337.08,260h6.09a.5.5,0,0,0,.5-.5v-28a.5.5,0,0,1,.5-.5h15a.5.5,0,0,1,.5.5v28a.5.5,0,0,0,.5.5h6.16a.5.5,0,0,0,.5-.5v-34a.5.5,0,0,0-.5-.5H337.08a.5.5,0,0,0-.5.5v34A.5.5,0,0,0,337.08,260Z" transform="translate(-117 -223.69)"/><rect class="cls-1" x="256.85" y="1" width="26.92" height="4.83"/><rect class="cls-1" x="256.9" y="15.12" width="26.92" height="4.83" rx="0.5"/><rect class="cls-1" x="256.9" y="31.12" width="26.92" height="4.83" rx="0.5"/></svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="30px" height="29px" viewBox="0 0 30 29" style="enable-background:new 0 0 30 29;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.1;fill:#B6FFF4;enable-background:new ;}
.st1{fill:#D7FFFA;}
</style>
<path class="st0" d="M26.5,0h-23C1.6,0,0,1.6,0,3.5v22C0,27.4,1.6,29,3.5,29h23c1.9,0,3.5-1.6,3.5-3.5c0,0,0,0,0,0v-22
C30,1.6,28.4,0,26.5,0z M18.7,13.5l-4.6,3.2l4.6,3.1V24l-10-7.4l10-7.3V13.5z"/>
<path class="st1" d="M24.5,10.6l-7.8-7.4c-0.9-0.9-2.4-0.8-3.3,0l-8,8c-0.4,0.5-0.7,1.1-0.7,1.7l0.1,10.2c0,1.3,1.1,2.4,2.4,2.4
h15.7c1.3,0,2.4-1.1,2.4-2.4c0,0,0,0,0,0V12.4C25.2,11.7,25,11.1,24.5,10.6z M18.7,13.5l-4.6,3.2l4.6,3.1V24l-10-7.4l10-7.3V13.5z"
/>
</svg>

Before

Width:  |  Height:  |  Size: 944 B

View file

@ -1 +0,0 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 96.75"><defs><style>.cls-1{fill:#fff;}</style></defs><path class="cls-1" d="M.05,64.48c27.15-.35,54.42,0,81.57-.12,8.78-.11,17.91,1.43,25,6.88,4.62,3.91,7.82,9.37,7.94,15.53v73.87c-11,.11-22-.12-33.08.11V86.42c-16.24,0-32.36-.12-48.61.12q.18,37.15,0,74.33c-10.9-.12-21.93-.12-32.84,0C.05,128.62-.07,96.38.05,64.48Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M128.45,64.48c34.27-.12,68.65-.12,102.92,0-.24,7.23.11,14.59-.12,21.82-23.24-.12-46.6-.24-69.84,0,.12,17.43,0,34.85.12,52.28h69.95c-.11,7.35-.11,14.59,0,21.94-34.26.12-68.64-.12-102.91.12C128.34,128.62,128.34,96.49,128.45,64.48Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M245,64.48c34.62-.23,69.12,0,103.74-.12,2.61,7.35,5.46,14.59,8.18,21.82-13.51.12-27.15-.12-40.66.12.11,24.78,0,49.56,0,74.34-13.88-.12-27.87-.12-41.74,0,0-24.78.12-49.56,0-74.46-9.72.12-19.56-.12-29.28.12C244.88,79,245.12,71.71,245,64.48Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M366.17,64.36c11.38,0,22.76-.23,34.15,0,9,24.66,18.14,49.44,27.15,74.1h56.79q13.51-37.16,27.27-74.33c11.38.12,22.76,0,34.14.12-10.79,28.09-21.22,56.43-31.89,84.65a18.18,18.18,0,0,1-17.07,11.5H414.9a18.23,18.23,0,0,1-17-11.86C387.16,120.68,376.6,92.46,366.17,64.36Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M562.86,64.36c21.94-.11,43.87.12,65.81-.11,2.72,7.35,5.57,14.58,8.18,21.93-16.25-.12-32.49,0-48.85,0-9.13,24.78-18.14,49.56-27.27,74.34-11.38,0-22.65-.12-34,.12C538.8,128.51,551,96.49,562.86,64.36Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M646.09,64.36c37.35.12,74.7-.11,112,.12V86.42c-9.84-.12-19.68-.12-29.4,0,.12,24.78,0,49.56,0,74.33-13.87-.11-27.86,0-41.73,0V86.42H654.39C651.67,78.83,648.82,71.6,646.09,64.36Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M801.29,64.36h70.43V86.18c-23.12-.12-46.24-.12-69.48,0v52.4h69.48v22.06c-23.48-.12-47,0-70.43,0-7.59-.24-15.53-1.31-21.93-5.46a20.62,20.62,0,0,1-10-17.19V86.89a20.37,20.37,0,0,1,8.65-16.12C784.69,65.79,793.23,64.25,801.29,64.36Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M885.71,64.36c10.9-.11,21.81,0,32.72-.11,0,12.92.12,25.84,0,38.88,16.12.12,32.37-.11,48.49.12.12-12.92.12-26,0-39,11,.11,22.05,0,33.08,0-.12,32,0,64.14-.12,96.27-11,0-21.93-.12-33,0,0-12.45.24-24.9-.12-37.35-16.12.24-32.25.12-48.37.12v37.35c-10.91-.12-21.82-.12-32.84,0C885.71,128.62,885.47,96.38,885.71,64.36Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M437,73.49c12.57.12,25.26-.12,37.82.12q-.18,23.3,0,46.6c-12.56.12-25.25,0-37.82.12C436.83,104.67,436.83,89.14,437,73.49Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M167.34,101.47c14.23-.11,28.46,0,42.57,0,0,7.35.12,14.59,0,21.94H167.22C167.34,116.06,167.22,108.71,167.34,101.47Z" transform="translate(0 -64.13)"/><path class="cls-1" d="M614.79,116.89h33.79c5.22,14.58,11,29,16.25,43.63H630.56C625.7,145.82,620,131.47,614.79,116.89Z" transform="translate(0 -64.13)"/></svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="48px" height="48px" viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#002823;stroke-width:5;stroke-miterlimit:10;}
</style>
<circle class="st0" cx="24" cy="24" r="21.5"/>
<line class="st0" x1="9" y1="39" x2="39" y2="9"/>
</svg>

Before

Width:  |  Height:  |  Size: 578 B

View file

@ -1,23 +1,32 @@
const version = "1620928311";
const version = "1622708674";
const root = "/";
let activeCaches = [
`content-${version}`
];
let cacheManifest = [
"index.html",
"assets/css/style.css",
"assets/css/fonts.css",
"assets/img/favicon.png",
"assets/img/pattern.gif",
"assets/fonts/RobotoMono-Bold.woff2",
"assets/fonts/RobotoMono-Regular.woff2",
"assets/js/script.js"
];
// Download assets and install ServiceWorker
self.addEventListener("install", event => {
event.waitUntil(
caches.open(`content-${version}`).then(cache => cache.addAll([
root + "index.html",
root + "assets/css/style.css",
root + "assets/img/favicon.png",
root + "assets/img/pattern.gif",
root + "assets/fonts/RobotoMono-Bold.woff2",
root + "assets/fonts/RobotoMono-Regular.woff2"
]))
caches.open(`content-${version}`).then(cache => cache.addAll(cacheManifest.map(asset => {
// Append the root path to all assets
return root + asset;
})))
)
});
// Wipe old assets from Cache Storage
self.addEventListener("activate", event => {
event.waitUntil(
// Delete inactive caches
@ -33,7 +42,7 @@ self.addEventListener("activate", event => {
)
});
// Fetch and cache content to bucket
// Fetch and cache an asset not defined in the manifest
async function fetchToCache(event) {
const networkFetch = fetch(event.request);
@ -73,7 +82,7 @@ self.addEventListener("fetch", event => {
return;
}
// Fetch cross-origin none-asset content
// Fetch cross-origin content using the network
if(!origin || (url.pathname.substring(1,7) != "assets")) {
event.respondWith(fetchContent(url.href));
return;
@ -86,9 +95,8 @@ self.addEventListener("fetch", event => {
return;
}
// Respond with content for cache or fetch and save
// Respond with content from cache or fetch and save
event.respondWith(
caches.match(event.request).then(response => response || fetchToCache(event))
);
});
// Victor Westerlund