Skip to content

Commit 1e1afcb

Browse files
authored
Launch central Hypas Development website
1 parent 9d51816 commit 1e1afcb

6 files changed

Lines changed: 1198 additions & 0 deletions

File tree

docs/404.html

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width,initial-scale=1">
6+
<meta name="robots" content="noindex">
7+
<title>Page Not Found | Hypas Development</title>
8+
<link rel="stylesheet" href="assets/style.css">
9+
</head>
10+
<body>
11+
<main class="hero" style="min-height:100vh">
12+
<div>
13+
<p class="eyebrow">404 / PAGE NOT FOUND</p>
14+
<h1 style="font:400 clamp(52px,8vw,96px)/1 Georgia;margin:0">This trail ends here.</h1>
15+
<p class="heroLead">The requested Hypas page could not be found or has not been published yet.</p>
16+
<div class="heroActions">
17+
<a class="button primary" href="/">Return to Hypas</a>
18+
<a class="button secondary" href="https://github.com/hypasscripts">View GitHub</a>
19+
</div>
20+
</div>
21+
</main>
22+
</body>
23+
</html>

docs/assets/main.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
(() => {
2+
const menuButton = document.getElementById("menuButton");
3+
const siteNav = document.getElementById("siteNav");
4+
5+
if (menuButton && siteNav) {
6+
menuButton.addEventListener("click", () => {
7+
const open = siteNav.classList.toggle("open");
8+
menuButton.setAttribute("aria-expanded", String(open));
9+
});
10+
11+
siteNav.querySelectorAll("a").forEach((link) => {
12+
link.addEventListener("click", () => {
13+
siteNav.classList.remove("open");
14+
menuButton.setAttribute("aria-expanded", "false");
15+
});
16+
});
17+
}
18+
19+
const items = document.querySelectorAll(".reveal");
20+
if ("IntersectionObserver" in window) {
21+
const observer = new IntersectionObserver((entries, activeObserver) => {
22+
entries.forEach((entry) => {
23+
if (entry.isIntersecting) {
24+
entry.target.classList.add("isVisible");
25+
activeObserver.unobserve(entry.target);
26+
}
27+
});
28+
}, { threshold: 0.12 });
29+
30+
items.forEach((item) => observer.observe(item));
31+
} else {
32+
items.forEach((item) => item.classList.add("isVisible"));
33+
}
34+
})();

0 commit comments

Comments
 (0)