100 lines
2.9 KiB
HTML
100 lines
2.9 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html lang="en">
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
<!-- meta name="color-scheme" content="dark light" /-->
|
||
|
<title>
|
||
|
About | Criminally Cute
|
||
|
</title>
|
||
|
<link rel="icon" type="image/png" href="/favicon.png">
|
||
|
<link rel="stylesheet" href="/css/site.css">
|
||
|
</head>
|
||
|
|
||
|
<body>
|
||
|
<header>
|
||
|
<nav>
|
||
|
<ul>
|
||
|
<li><a href="/">Home</a></li>
|
||
|
<li><a href="/about">About</a></li>
|
||
|
<li><a href="/blog">Blog</a></li>
|
||
|
<li><a href="/projects">Projects</a></li>
|
||
|
</ul>
|
||
|
</nav>
|
||
|
<div>
|
||
|
<h1>About</h1>
|
||
|
</div>
|
||
|
</header>
|
||
|
|
||
|
<main>
|
||
|
<article>
|
||
|
<p>Lateen sail pillage reef splice the main brace loot capstan carouser boatswain Corsair run a rig. Capstan tackle careen booty brig stern parrel topsail rope's end run a shot across the bow. Boatswain gun plunder jack no prey, no pay sutler carouser driver bring a spring upon her cable quarter.</p>
|
||
|
<p>Sink me bring a spring upon her cable scourge of the seven seas piracy shrouds reef sails long boat killick Shiver me timbers belay. Schooner keelhaul parrel gangway grapple nipper chantey lad cackle fruit rutters. Come about bowsprit jury mast main sheet line sloop skysail yard Sea Legs weigh anchor.</p>
|
||
|
<p>Bilge hornswaggle draught coffer lass boom boatswain hempen halter gun blow the man down. Heave to pink Privateer bounty rum parley mutiny scurvy wherry trysail. Trysail Sea Legs mizzenmast long boat topmast furl aft fathom landlubber or just lubber jolly boat.</p>
|
||
|
</article>
|
||
|
</main>
|
||
|
|
||
|
<footer>
|
||
|
<ul>
|
||
|
<li>some link</li>
|
||
|
<li>some link 2</li>
|
||
|
</ul>
|
||
|
<div>
|
||
|
<p>© 2024 Criminally Cute</p>
|
||
|
<p><a class="underline" href="/feed.xml">RSS</a></p>
|
||
|
</div>
|
||
|
</footer>
|
||
|
</body>
|
||
|
</html>
|
||
|
|
||
|
|
||
|
<script>
|
||
|
function log(message) {
|
||
|
if (true) {
|
||
|
console.log(`[web_dev_utils] ${message}`)
|
||
|
}
|
||
|
}
|
||
|
function connect() {
|
||
|
try {
|
||
|
window.socket = new WebSocket('ws://' + location.host + '/ws');
|
||
|
|
||
|
window.socket.onmessage = function(e) {
|
||
|
if (e.data === "reload") {
|
||
|
log("reloading!");
|
||
|
location.reload();
|
||
|
} else if (e.data === "subscribed") {
|
||
|
log("connected and subscribed!");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
window.socket.onopen = () => {
|
||
|
waitForConnection(() => {
|
||
|
log("sending 'subscribe' message");
|
||
|
window.socket.send("subscribe")
|
||
|
}
|
||
|
, 300);
|
||
|
};
|
||
|
|
||
|
window.socket.onclose = () => {
|
||
|
setTimeout(() => connect(), 500);
|
||
|
};
|
||
|
|
||
|
function waitForConnection(callback, interval) {
|
||
|
log("waiting for connection!")
|
||
|
if (window.socket.readyState === 1) {
|
||
|
callback();
|
||
|
} else {
|
||
|
log("setting a timeout")
|
||
|
setTimeout(() => waitForConnection(callback, interval), interval);
|
||
|
}
|
||
|
}
|
||
|
} catch (e) {
|
||
|
log(e);
|
||
|
setTimeout(() => connect(), 500);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
log("about to connect");
|
||
|
connect();
|
||
|
</script>
|
||
|
|