Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 14 additions & 0 deletions scripts/sync-static-site.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,20 @@ set -euo pipefail
cd "$(dirname "$0")/.."

echo "▸ Building Next.js static export…"
# From a cleared cache, deliberately. Turbopack's incremental build does not
# always evict a Tailwind utility whose last use has just been deleted, so the
# CSS chunk keeps a rule the source no longer justifies. That chunk is named
# after its own content hash, so the snapshot then disagrees with a clean build
# — which is how two snapshot commits reached CI carrying utilities for classes
# that had already been removed from the components. The snapshot only has value
# if it is reproducible, and a few seconds of cold build is the price of that.
#
# Note for whoever edits this comment: Tailwind v4 detects content by scanning
# every file in the project that isn't ignored, this script included. Spelling a
# utility class out in prose here is enough to put that rule back into the
# bundle, which is its own small version of the bug described above. Describe
# them, don't quote them.
rm -rf .next out
npm run build

echo "▸ Snapshotting out/ → static-site/…"
Expand Down
19 changes: 15 additions & 4 deletions src/components/SiteHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -108,16 +108,27 @@ export function SiteHeader() {
use Space Mono for it and silently substituted a
system font — a different typeface at a different
optical size, sitting on its own baseline, next to
text that is Space Mono. Drawing the caret removes the
dependency on what the visitor's OS happens to ship. */}
text that is Space Mono.

Drawn as a chevron rather than a filled wedge: at
14px a solid triangle collapses into something that
reads as a full stop, which is exactly what the
substituted glyph looked like. Two strokes with round
caps stay legible at this size and match the site's
hairline borders and underline rules. */}
<svg
aria-hidden
viewBox="0 0 12 12"
className={`h-3 w-3 shrink-0 transition-transform ${
fill="none"
stroke="currentColor"
strokeWidth="1.75"
strokeLinecap="round"
strokeLinejoin="round"
className={`h-3.5 w-3.5 shrink-0 transition-transform ${
open ? "rotate-180" : ""
}`}
>
<path d="M2.5 4.75h7L6 9.25z" fill="currentColor" />
<path d="M2.5 4.75 6 8.25l3.5-3.5" />
</svg>
</Link>
{open && (
Expand Down
2 changes: 1 addition & 1 deletion static-site/404.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion static-site/404/index.html

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions static-site/__next.__PAGE__.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
1:"$Sreact.fragment"
2:I[85437,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Image"]
3:I[25150,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"HeroField"]
4:I[82987,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Reveal"]
5:I[53675,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"StatementCarousel"]
e:I[23475,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Link"]
f:I[82987,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Stagger"]
10:I[82987,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"StaggerItem"]
11:I[35852,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"ProjectDiagram"]
12:I[12243,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Tilt3D"]
16:I[94376,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Magnetic"]
17:I[97367,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js"],"OutletBoundary"]
2:I[85437,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/3fq18_3o1i6vx.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Image"]
3:I[25150,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/3fq18_3o1i6vx.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"HeroField"]
4:I[82987,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/3fq18_3o1i6vx.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Reveal"]
5:I[53675,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/3fq18_3o1i6vx.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"StatementCarousel"]
e:I[23475,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/3fq18_3o1i6vx.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Link"]
f:I[82987,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/3fq18_3o1i6vx.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Stagger"]
10:I[82987,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/3fq18_3o1i6vx.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"StaggerItem"]
11:I[35852,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/3fq18_3o1i6vx.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"ProjectDiagram"]
12:I[12243,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/3fq18_3o1i6vx.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Tilt3D"]
16:I[94376,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/3fq18_3o1i6vx.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Magnetic"]
17:I[97367,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/3fq18_3o1i6vx.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js"],"OutletBoundary"]
18:"$Sreact.suspense"
0:{"rsc":["$","$1","c",{"children":[[["$","section",null,{"className":"relative overflow-hidden border-b border-border","children":[["$","$L2",null,{"src":"/website/nyu-subway.jpg","alt":"","aria-hidden":true,"fill":true,"priority":true,"sizes":"100vw","className":"pointer-events-none object-cover object-center opacity-25"}],["$","div",null,{"aria-hidden":true,"className":"pointer-events-none absolute inset-0 bg-background/70"}],["$","span",null,{"className":"aura"}],["$","div",null,{"aria-hidden":true,"className":"pointer-events-none absolute inset-0","style":{"background":"radial-gradient(70% 60% at 20% 0%, color-mix(in oklab, var(--glow) 26%, transparent), transparent 65%)"}}],["$","$L3",null,{}],["$","div",null,{"className":"relative mx-auto max-w-6xl px-6 py-24 text-center sm:py-28","children":[["$","$L4",null,{"children":["$","p",null,{"className":"text-base uppercase tracking-[0.25em] text-accent sm:text-lg","children":"NYU CGA × Microsoft"}]}],["$","$L4",null,{"delay":0.15,"children":["$","$L5",null,{"statements":[{"lead":"Ethical Tech CoLab","headingClass":"text-[clamp(4.25rem,13vw,11rem)] leading-[0.88]","figure":["$","p",null,{"className":"font-serif uppercase leading-[0.95] tracking-tight text-foreground","style":{"fontSize":"clamp(1.9rem, 4vw, 3rem)"},"children":["Exploring technology to improve",["$","br",null,{"className":"hidden sm:block"}]," the"," ",["$","span",null,{"className":"display-em","children":"human condition"}],"."]}],"line":["$","p",null,{"className":"mx-auto mt-7 max-w-2xl leading-relaxed text-foreground/85","children":["A research collaboration between NYU's"," ",["$","a",null,{"href":"https://www.sps.nyu.edu/about/academic-divisions-and-departments/center-for-global-affairs.html","target":"_blank","rel":"noopener noreferrer","className":"link-underline text-accent hover:opacity-80","children":"Center for Global Affairs"}]," ","and Microsoft — changing the conversation on how people are informed, and how emerging technology can be used for good."]}]},{"lead":"Four questions. ","em":"One frontier.","figure":"14 projects in the portfolio","line":"Evacuation, cultural heritage, traceability, diplomacy — each question carried through to a fielded prototype, in the open.","cta":"Explore the portfolio","href":"/portfolio"},{"lead":"Run the ","em":"research","tail":".","figure":"18 demos you can open","line":"Not screenshots: the prototypes themselves, running in the browser with their source alongside.","cta":"Open the live demos","href":"/demos"},{"lead":"The research, ","em":"written up","tail":".","figure":"25 in the catalogue","line":"Every research question the CoLab takes on is written up academically, including what did not hold.","cta":"Read the publications","href":"/publications"},{"lead":"The people ","em":"building","tail":" this.","figure":"23 researchers across 3 cohorts","line":"Graduate researchers at NYU's Center for Global Affairs, with advisors and resident fellows alongside.","cta":"Meet the team","href":"/team"}],"label":"Statement","className":"mt-5"}]}]]}]]}],[["$","section",null,{"className":"border-b border-border bg-surface/40","children":["$","div",null,{"className":"mx-auto max-w-6xl px-6 py-16 text-center","children":[["$","$L4",null,{"children":["$","p",null,{"className":"text-xs uppercase tracking-wider text-muted","children":"Mission"}]}],["$","$L4",null,{"delay":0.05,"children":["$","p",null,{"className":"mx-auto mt-4 max-w-4xl fluid-h2 font-heading uppercase leading-[1.02]","children":["Achieving ",["$","span",null,{"className":"display-em","children":"full human potential"}]," ","through technology — changing how people are informed, and how tech is used for good."]}]}],["$","$L4",null,{"delay":0.1,"children":["$","p",null,{"className":"mx-auto mt-6 max-w-2xl text-lg leading-relaxed text-muted","children":"What are the circumstances of the human being, and how can technology improve them? We see technology as a tool — part of the solution."}]}]]}]}],["$","section",null,{"className":"mx-auto max-w-6xl px-6 py-24","children":[["$","$L4",null,{"children":["$","div",null,{"className":"flex items-end justify-between","children":["$L6","$L7"]}]}],"$L8"]}],"$L9","$La","$Lb"]],["$Lc"],"$Ld"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"static-snapshot"}
6:["$","div",null,{"children":[["$","$Le",null,{"href":"/portfolio","className":"link-underline text-xs uppercase tracking-wider text-muted transition-colors hover:text-accent","children":"Current projects"}],["$","h2",null,{"className":"mt-3 fluid-h2 font-heading uppercase","children":"Building at the frontier."}]]}]
Expand Down
Loading