mirror of
https://github.com/hanzoai/papers.git
synced 2026-10-22 17:20:17 +00:00
the site's type is Zen, and it comes from us rather than Google
layout.tsx loaded Geist and Geist Mono through next/font/google, and global.css read them back as --font-geist / --font-geist-mono. Geist is Vercel's face, and fetching it put a build-time request to Google on a site we compile on our own hardware and serve from our own image. @hanzo/font ships Zen and Zen Mono as self-hosted variable faces, so the two next/font constructors become two imports and the theme reads --font-zen-sans / --font-zen-mono. Nothing else here declares a theme, so those values reach the utilities and the default family unshadowed: the export carries two woff2 files, family Zen and Zen Mono, vendor HNZO, and neither Geist nor fonts.googleapis.com appears anywhere in it. The hero image in .github named Inter first; it names Zen now.
This commit is contained in:
+4
-4
@@ -1,9 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="640" viewBox="0 0 1280 640" role="img" aria-label="papers">
|
||||
<rect width="1280" height="640" fill="#0A0A0A"/>
|
||||
<svg x="96" y="215" width="210" height="210" viewBox="0 0 67 67"><path d="M22.21 67V44.6369H0V67H22.21Z" fill="#fff"/><path d="M66.7038 22.3184H22.2534L0.0878906 44.6367H44.4634L66.7038 22.3184Z" fill="#fff"/><path d="M22.21 0H0V22.3184H22.21V0Z" fill="#fff"/><path d="M66.7198 0H44.5098V22.3184H66.7198V0Z" fill="#fff"/><path d="M66.7198 67V44.6369H44.5098V67H66.7198Z" fill="#fff"/></svg>
|
||||
<text x="378" y="276" font-family="Inter,system-ui,-apple-system,sans-serif" font-size="78" font-weight="800" letter-spacing="-2" fill="#ffffff">papers</text>
|
||||
<text x="378" y="322" font-family="Inter,system-ui,sans-serif" font-size="30" fill="#ffffff" opacity=".66">Academic and technical papers for Hanzo AI infrastructure, including…</text>
|
||||
<text x="378" y="276" font-family="Zen,system-ui,-apple-system,sans-serif" font-size="78" font-weight="800" letter-spacing="-2" fill="#ffffff">papers</text>
|
||||
<text x="378" y="322" font-family="Zen,system-ui,sans-serif" font-size="30" fill="#ffffff" opacity=".66">Academic and technical papers for Hanzo AI infrastructure, including…</text>
|
||||
<rect x="378" y="338" width="806" height="3" rx="1.5" fill="#ffffff" opacity=".9"/>
|
||||
<text x="378" y="390" font-family="Inter,system-ui,sans-serif" font-size="24" font-weight="600" fill="#ffffff" opacity=".5">github.com/hanzoai</text>
|
||||
<text x="1184" y="390" text-anchor="end" font-family="Inter,system-ui,sans-serif" font-size="24" font-weight="600" fill="#ffffff" opacity=".5">hanzo.ai</text>
|
||||
<text x="378" y="390" font-family="Zen,system-ui,sans-serif" font-size="24" font-weight="600" fill="#ffffff" opacity=".5">github.com/hanzoai</text>
|
||||
<text x="1184" y="390" text-anchor="end" font-family="Zen,system-ui,sans-serif" font-size="24" font-weight="600" fill="#ffffff" opacity=".5">hanzo.ai</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Generated
+10
@@ -8,6 +8,7 @@
|
||||
"name": "@hanzoai/papers-site",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@hanzo/font": "^1.9.2",
|
||||
"clsx": "^2.1.1",
|
||||
"lucide-react": "^0.475.0",
|
||||
"next": "^16.0.0",
|
||||
@@ -48,6 +49,15 @@
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@hanzo/font": {
|
||||
"version": "1.9.2",
|
||||
"resolved": "https://registry.npmjs.org/@hanzo/font/-/font-1.9.2.tgz",
|
||||
"integrity": "sha512-CXKXhfRgAj9SnhRJtraS6jEToGz74hbrMSJm85Kp8y6uN64zOH+IvohpWT/Surh9Qn1KWIGXsIx216JMa++X6A==",
|
||||
"license": "SIL OPEN FONT LICENSE",
|
||||
"peerDependencies": {
|
||||
"next": ">=13.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@img/colour": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz",
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"lint": "next lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"@hanzo/font": "^1.9.2",
|
||||
"next": "^16.0.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
@custom-variant dark (&:is(.dark *));
|
||||
|
||||
@theme inline {
|
||||
--font-sans: var(--font-geist), system-ui, sans-serif;
|
||||
--font-mono: var(--font-geist-mono), ui-monospace, monospace;
|
||||
--font-sans: var(--font-zen-sans), system-ui, sans-serif;
|
||||
--font-mono: var(--font-zen-mono), ui-monospace, monospace;
|
||||
--radius: 0.5rem;
|
||||
|
||||
--color-background: hsl(var(--background));
|
||||
|
||||
+3
-14
@@ -1,21 +1,10 @@
|
||||
import type { Metadata } from 'next'
|
||||
import { Geist, Geist_Mono } from 'next/font/google'
|
||||
import { Zen } from '@hanzo/font/sans'
|
||||
import { ZenMono } from '@hanzo/font/mono'
|
||||
import { ThemeProvider } from 'next-themes'
|
||||
import { siteConfig } from '@/config/papers'
|
||||
import './global.css'
|
||||
|
||||
const geist = Geist({
|
||||
subsets: ['latin'],
|
||||
variable: '--font-geist',
|
||||
display: 'swap',
|
||||
})
|
||||
|
||||
const geistMono = Geist_Mono({
|
||||
subsets: ['latin'],
|
||||
variable: '--font-geist-mono',
|
||||
display: 'swap',
|
||||
})
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: `${siteConfig.name} Research Papers`,
|
||||
description: siteConfig.description,
|
||||
@@ -41,7 +30,7 @@ export default function RootLayout({
|
||||
return (
|
||||
<html
|
||||
lang="en"
|
||||
className={`${geist.variable} ${geistMono.variable}`}
|
||||
className={`${Zen.variable} ${ZenMono.variable}`}
|
||||
suppressHydrationWarning
|
||||
>
|
||||
<head>
|
||||
|
||||
Reference in New Issue
Block a user