-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
145 lines (127 loc) · 4.88 KB
/
index.html
File metadata and controls
145 lines (127 loc) · 4.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>The Quantifier – Home</title>
<!-- Meta tags -->
<meta name="description" content="The personal site of The Quantifier — mathematician, creator, and developer." />
<meta name="author" content="John Hand" />
<!-- Favicon -->
<link rel="icon" type="image/png" href="images/favicon.png" />
<!-- Styles -->
<link rel="stylesheet" href="styles/default.css" />
</head>
<script>
(function () {
const DURATION = 220; // keep in sync with --fade-duration (220ms)
// Mark page as ready (fade in)
function ready() {
// In case we returned from bfcache, remove fading state
document.body.classList.remove('is-fading');
document.body.classList.add('is-ready');
}
// On normal load & bfcache restore
window.addEventListener('DOMContentLoaded', ready);
window.addEventListener('pageshow', (e) => {
if (e.persisted) ready();
});
// Only intercept safe, same-tab, same-origin links
function shouldIntercept(a) {
if (!a) return false;
const url = new URL(a.href, location.href);
if (url.origin !== location.origin) return false; // external
if (a.target && a.target !== '_self') return false; // new tab/window
if (a.hasAttribute('download')) return false; // download
if (a.getAttribute('href')?.startsWith('#')) return false; // in-page
return true;
}
document.addEventListener('click', (e) => {
const a = e.target.closest('a');
if (!shouldIntercept(a)) return;
// Respect reduced motion
const prefersReduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
e.preventDefault();
if (!prefersReduced) {
document.body.classList.add('is-fading');
setTimeout(() => (location.href = a.href), DURATION);
} else {
location.href = a.href;
}
});
})();
</script>
<body class="home">
<!-- ==================== HEADER ==================== -->
<header class="thin-header">
<div class="header-bar">
<div class="header-left">
<h1 class="site-title">The Quantifier</h1>
<span class="tagline">Math • Code • Game • Repeat</span>
</div>
<nav aria-label="Main Navigation">
<ul class="nav">
<li><a href="index.html" class="active">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="blog.html">Blog</a></li>
</ul>
</nav>
</div>
</header>
<!-- ==================== MAIN CONTENT ==================== -->
<main class="container">
<section class="hero">
<h2>Welcome to The Quantifier</h2>
<p>
Where logic meets imagination. This space explores the worlds of
<strong>mathematics</strong>, <strong>programming</strong>, and <strong>gaming</strong> —
three disciplines that thrive on structure, creativity, and curiosity.
</p>
<p>
In <strong>mathematics</strong>, I dive into proofs, problem-solving, and abstract reasoning,
showing how precision and creativity intertwine to reveal elegant truths.
</p>
<p>
In <strong>programming</strong>, I build things — from
<em>Godot-powered RPGs</em> to <em>websites</em> and <em>apps</em> — translating
logic into living, interactive systems.
</p>
<p>
And in <strong>gaming</strong>, I explore the art of play and performance, from
<em>modded Minecraft engineering</em> to <em>Steam worlds</em> running on my
newly built PC.
</p>
<p>
Whether it’s uncovering a new theorem, refining a game mechanic, or optimizing
a creative workflow, my goal is to understand and create — to quantify the beauty
of systems both logical and human.
</p>
</section>
<section class="highlights">
<div class="card">
<h3>Mathematics</h3>
<p>Elegant reasoning, proofs, and insights from advanced problem solving to applied math.</p>
</div>
<div class="card">
<h3>Programming</h3>
<p>Projects in Java, Python, and Godot — building systems that bridge logic and imagination.</p>
</div>
<div class="card">
<h3>Gaming</h3>
<p>Occasional reflections on learning, creativity, and the endless adventure of gaming in a digital world.</p>
</div>
</section>
</main>
<!-- ==================== FOOTER ==================== -->
<footer>
<div class="container footer-content">
<p>© <span id="year"></span> The Quantifier. All rights reserved.</p>
<p class="credit">Site by <strong>Manus Webworks</strong></p>
</div>
</footer>
<script>
// auto-update copyright year
document.getElementById('year').textContent = new Date().getFullYear();
</script>
</body>
</html>