Skip to content

Commit c38e1d1

Browse files
placeholder content + refactor mindthemath/www@f5f6f05
0 parents  commit c38e1d1

15 files changed

Lines changed: 535 additions & 0 deletions

.nojekyll

Whitespace-only changes.

about.html

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<!doctype html>
2+
<html lang="en" class="no-js">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>About — Mind the Math</title>
8+
9+
<!-- Critical: Prevent FOUC by hiding content until JS is ready -->
10+
<style>
11+
html.no-js #app { visibility: hidden; }
12+
html.no-js body { background-color: #f5f4f0; }
13+
</style>
14+
<script>document.documentElement.classList.remove('no-js');</script>
15+
16+
<!-- Text Effects CSS -->
17+
<link rel="stylesheet" href="./vendor/text-effects.css">
18+
19+
<!-- Web Fonts -->
20+
<link rel="preconnect" href="https://fonts.googleapis.com">
21+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
22+
<link href="./fonts/fonts.css" rel="stylesheet">
23+
<script type="module" crossorigin src="/assets/style-DaRZM10A.js"></script>
24+
<script type="module" crossorigin src="/assets/_virtual_research-DtXa6Vue.js"></script>
25+
<script type="module" crossorigin src="/assets/pages-mr1loQiW.js"></script>
26+
<link rel="stylesheet" crossorigin href="/assets/style-BGI9uov-.css">
27+
</head>
28+
<body>
29+
<div id="app"></div>
30+
</body>
31+
</html>
32+

assets/_virtual_research-DtXa6Vue.js

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/detail-DqsFzf56.js

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
import"./style-DaRZM10A.js";import{s as $,r as v,p as y}from"./_virtual_research-DtXa6Vue.js";const r="/",b=document.querySelector("script[data-collection]"),o=b?.dataset.collection||"projects",k=o==="research"?v:y,h=o==="research"?"research.html":"work.html",f=o==="research"?"Research":"Work";function w(){return new URLSearchParams(window.location.search).get("slug")}function M(t){if(!t)return"";const l=t.split(`
2+
`),e=[];let n=!1;for(let a=0;a<l.length;a++){let s=l[a];if(n&&!s.match(/^[-*] /)&&(e.push("</ul>"),n=!1),s.trim()==="")continue;const p=s.match(/^(#{1,6})\s+(.+)/);if(p){const i=p[1].length,c=u(p[2]);e.push(`<h${i+1} class="detail-heading">${c}</h${i+1}>`);continue}const d=s.match(/^!\[([^\]]*)\]\(([^)]+)\)/);if(d){const i=d[1],c=d[2];e.push(`<figure class="detail-figure"><img src="${c}" alt="${i}" loading="lazy"><figcaption>${i}</figcaption></figure>`);continue}if(s.match(/^[-*] /)){n||(e.push('<ul class="detail-list">'),n=!0),e.push(`<li>${u(s.replace(/^[-*] /,""))}</li>`);continue}e.push(`<p class="detail-paragraph">${u(s)}</p>`)}return n&&e.push("</ul>"),e.join(`
3+
`)}function u(t){return t.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/`(.+?)`/g,"<code>$1</code>").replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>')}function L(t){return!t||t.length===0?"":`<div class="detail-gallery">${t.map(e=>{if(typeof e=="string")return`<figure class="detail-figure"><img src="${e}" alt="" loading="lazy"></figure>`;const n=e.src||"",a=e.caption||"";return`
4+
<figure class="detail-figure">
5+
<img src="${n}" alt="${a}" loading="lazy">
6+
${a?`<figcaption>${a}</figcaption>`:""}
7+
</figure>
8+
`}).join("")}</div>`}function x(){return new Promise(t=>{const l=document.createElement("script");l.src="https://cdn.jsdelivr.net/gh/mindthemath/text-effects-js@main/text-effects.js",l.onload=()=>{const e=new WordRotator({elementId:"wordRotator",words:["math","science","technology","engineering","art"],mode:"flip",timingMode:"pause",firstWordInterval:3e3,otherWordInterval:500,lastWordInterval:1e3,onLetterLand:(a,s,p,d)=>{const i=d?"oklch(0.9133 0.2195 102.76)":"#666666",c=document.querySelectorAll(".letter-flap");a<c.length&&c[a].querySelectorAll(".flap-content").forEach(g=>{g.style.color=i})}}),n=e.currentIndex===0?"oklch(0.9133 0.2195 102.76)":"#666666";document.querySelectorAll(".flap-content").forEach(a=>{a.style.color=n}),document.querySelectorAll(".letter-flap, .flap-content").forEach(a=>{a.style.fontFamily="'Source Code Pro', monospace"}),t(e)},document.head.appendChild(l)})}function j(){const t=document.getElementById("app"),l=w(),e=k.find(s=>s.slug===l);if(!e){t.innerHTML=m(`
9+
<h1>Not Found</h1>
10+
<div class="divider"></div>
11+
<p class="description">The requested item could not be found.</p>
12+
<a href="${r}${h}" class="detail-back">&larr; Back to ${f}</a>
13+
`);return}document.title=`${e.title} — Mind the Math`;const n=e.link?`<a href="${e.link}" target="_blank" rel="noopener noreferrer" class="detail-external-link">View project site &rarr;</a>`:"",a=e.status==="in-progress"?'<span class="detail-status">In Progress</span>':"";t.innerHTML=m(`
14+
<a href="${r}${h}" class="detail-back">&larr; ${f}</a>
15+
16+
<div class="detail-header">
17+
<div class="detail-meta">
18+
<span class="detail-year">${e.year}</span>
19+
${e.type?`<span class="detail-type">${e.type}</span>`:""}
20+
${a}
21+
</div>
22+
<h1>${e.title}</h1>
23+
<p class="description">${e.description}</p>
24+
${n}
25+
</div>
26+
27+
<div class="divider"></div>
28+
29+
${L(e.images)}
30+
31+
<div class="detail-body">
32+
${M(e.body)}
33+
</div>
34+
`)}function m(t){return`
35+
<!-- Navigation Bar -->
36+
<nav class="nav-bar visible">
37+
<div class="nav-placeholder"></div>
38+
<ul class="nav-links nav-links-desktop">
39+
<li><a href="${r}about.html">About</a></li>
40+
<li><a href="${r}work.html" ${o==="projects"?'class="active"':""}>Work</a></li>
41+
<li><a href="${r}research.html" ${o==="research"?'class="active"':""}>Research</a></li>
42+
<li><a href="${r}contact.html">Contact</a></li>
43+
</ul>
44+
<button class="nav-menu-btn" id="navMenuBtn" aria-label="Toggle menu" aria-expanded="false">
45+
<span class="menu-text">MENU</span>
46+
</button>
47+
</nav>
48+
49+
<div class="mobile-nav-overlay" id="mobileNavOverlay">
50+
<ul class="nav-links-mobile">
51+
<li><a href="${r}about.html">About</a></li>
52+
<li><a href="${r}work.html" ${o==="projects"?'class="active"':""}>Work</a></li>
53+
<li><a href="${r}research.html" ${o==="research"?'class="active"':""}>Research</a></li>
54+
<li><a href="${r}contact.html">Contact</a></li>
55+
</ul>
56+
</div>
57+
58+
<a href="${r}" class="animated-hero in-nav" id="animatedHero" style="opacity: 1; pointer-events: auto;">
59+
<span class="static-text">MIND THE</span>
60+
<span id="wordRotator" class="word-rotator" data-mode="flip" data-board-bg="black"></span>
61+
</a>
62+
63+
<main class="main-content visible">
64+
<article class="content-section detail-content">
65+
${t}
66+
</article>
67+
</main>
68+
69+
<footer class="site-footer">
70+
<p class="footer-text">&copy; 2026 Mind the Math LLC</p>
71+
</footer>
72+
`}document.addEventListener("DOMContentLoaded",async()=>{j(),$(),await document.fonts.ready,await x()});

assets/main-BB2dO4Rm.js

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import"./style-DaRZM10A.js";const n="/";function h(){const e=document.getElementById("app");e.innerHTML=`
2+
<!-- Loading Screen -->
3+
<div class="loading-screen" id="loadingScreen"></div>
4+
5+
<!-- Navigation Bar -->
6+
<nav class="nav-bar" id="navBar">
7+
<div class="nav-placeholder" id="navPlaceholder"></div>
8+
9+
<!-- Desktop Nav Links -->
10+
<ul class="nav-links nav-links-desktop">
11+
<li><a href="${n}about.html">About</a></li>
12+
<li><a href="${n}work.html">Work</a></li>
13+
<li><a href="${n}research.html">Research</a></li>
14+
<li><a href="${n}contact.html">Contact</a></li>
15+
</ul>
16+
17+
<!-- Logo link (hidden initially, shown after hero moves to nav) -->
18+
<a href="${n}" class="nav-logo-link" id="navLogoLink" style="opacity: 0; pointer-events: none;">
19+
<div class="nav-logo">MIND THE MATH</div>
20+
</a>
21+
22+
<!-- Mobile Menu Button -->
23+
<button class="nav-menu-btn" id="navMenuBtn" aria-label="Toggle menu" aria-expanded="false">
24+
<span class="menu-text">MENU</span>
25+
</button>
26+
</nav>
27+
28+
<!-- Mobile Navigation Overlay -->
29+
<div class="mobile-nav-overlay" id="mobileNavOverlay">
30+
<ul class="nav-links-mobile">
31+
<li><a href="${n}about.html">About</a></li>
32+
<li><a href="${n}work.html">Work</a></li>
33+
<li><a href="${n}research.html">Research</a></li>
34+
<li><a href="${n}contact.html">Contact</a></li>
35+
</ul>
36+
</div>
37+
38+
<!-- Animated Hero (will move from center to nav) -->
39+
<a href="${n}" class="animated-hero" id="animatedHero" style="pointer-events: none; text-decoration: none; color: inherit;">
40+
<span class="static-text">MIND THE</span>
41+
<span id="wordRotator" class="word-rotator" data-mode="flip" data-board-bg="black"></span>
42+
</a>
43+
44+
<!-- Main Content -->
45+
<main class="main-content" id="mainContent">
46+
<section class="content-hero">
47+
<h1 class="logo-container">
48+
<img src="${n}assets/logo-450-cb.png" alt="Mind the Math" class="site-logo" id="siteLogo" onerror="this.style.display='none'; document.getElementById('logoFallback').style.display='block';">
49+
<span class="logo-fallback" id="logoFallback" style="display: none;">Mind the Math</span>
50+
</h1>
51+
<p class="tagline" align="center">Bridging the Gap</p>
52+
<p class="description">
53+
Mind the Math builds the infrastructure that connects mathematics to perception. Through authored systems and constraints, the practice translates abstract structure into navigable visual, computational, and material form.
54+
</p>
55+
</section>
56+
</main>
57+
58+
<!-- Footer -->
59+
<footer class="site-footer">
60+
<p class="footer-text">© 2026 Mind the Math LLC</p>
61+
</footer>
62+
`}function p(){return new Promise(e=>{const t=document.createElement("script");t.src="https://cdn.jsdelivr.net/gh/mindthemath/text-effects-js@main/text-effects.js",t.onload=()=>{const o=new WordRotator({elementId:"wordRotator",words:["math","science","technology","engineering","art"],mode:"flip",timingMode:"pause",firstWordInterval:1250,otherWordInterval:250,lastWordInterval:1250,onLetterLand:(a,y,b,d)=>{const m=d?"oklch(0.9133 0.2195 102.76)":"#666666",r=document.querySelectorAll(".letter-flap");a<r.length&&r[a].querySelectorAll(".flap-content").forEach(u=>{u.style.color=m})}}),i=o.currentIndex===0?"oklch(0.9133 0.2195 102.76)":"#666666";document.querySelectorAll(".flap-content").forEach(a=>{a.style.color=i}),document.querySelectorAll(".letter-flap, .flap-content").forEach(a=>{a.style.fontFamily="'Source Code Pro', monospace"}),e(o)},document.head.appendChild(t)})}let s=!1;async function c(e=!1){if(s)return;s=!0;const t=document.getElementById("animatedHero"),o=document.getElementById("navBar"),i=document.getElementById("mainContent"),a=document.getElementById("navPlaceholder");e&&t.classList.add("fast-transition"),o.classList.add("visible"),t.classList.add("in-nav"),a&&(a.style.display="none"),await l(e?100:400),i.classList.add("visible")}async function v(){const e=document.getElementById("loadingScreen"),t=document.getElementById("animatedHero"),o=document.getElementById("navBar");await document.fonts.ready,await p(),await l(100),e.classList.add("fade-out"),t.style.opacity="1",t.style.pointerEvents="auto",t.style.cursor="pointer",await l(1200),await l(700),o.classList.add("visible"),await l(5300),s||await c(!1)}function l(e){return new Promise(t=>setTimeout(t,e))}function f(){const e=document.getElementById("navMenuBtn"),t=document.getElementById("mobileNavOverlay"),o=t.querySelectorAll("a");e.addEventListener("click",()=>{const i=t.classList.contains("open");t.classList.toggle("open"),e.setAttribute("aria-expanded",!i),e.querySelector(".menu-text").textContent=i?"MENU":"CLOSE"}),o.forEach(i=>{i.addEventListener("click",()=>{t.classList.remove("open"),e.setAttribute("aria-expanded","false"),e.querySelector(".menu-text").textContent="MENU"})})}function g(){const e=document.getElementById("animatedHero");e.addEventListener("click",t=>{!s&&!e.classList.contains("in-nav")&&(t.preventDefault(),c(!0))})}document.addEventListener("DOMContentLoaded",()=>{h(),f(),g(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{v()})})});

0 commit comments

Comments
 (0)