Skip to content

Commit dd6b0d0

Browse files
author
arka-ui
committed
type: switch entire portfolio to Monocraft, restore Green_Energy to "Monster" only
- Add 7 Monocraft weights (Light/Regular/Italic/SemiBold/Bold/Bold-Italic/Black) in public/fonts/Monocraft/, loaded via Next localFont with --font-monocraft. - Drop the Sora / Syne / Space Mono Google Fonts loaders entirely. - Point --font-sans / --font-heading / --font-display / --font-mono all to --font-monocraft so every existing class uses the new typeface. - Drop cap now uses Monocraft Black at 4.6em. - .pull-quote uses Monocraft italic (was Green_Energy). - Revert Green_Energy from About signature, About pull-quote opening mark, News dispatch author signature, and Contact "Yours, Arka" sign-off; all now render in Monocraft italic. - Green_Energy retained for the literal word "Monster" in the about.fact_3 marginalia line, as originally intended.
1 parent 694a7f5 commit dd6b0d0

12 files changed

Lines changed: 93 additions & 99 deletions

File tree

348 KB
Binary file not shown.
385 KB
Binary file not shown.
348 KB
Binary file not shown.
377 KB
Binary file not shown.
394 KB
Binary file not shown.
347 KB
Binary file not shown.
205 KB
Binary file not shown.

src/app/globals.css

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
@property --mesh-y2 { syntax: "<percentage>"; inherits: false; initial-value: 80%; }
88

99
@theme {
10-
--font-sans: var(--font-sora);
11-
--font-heading: var(--font-sora);
12-
--font-display: var(--font-syne);
13-
--font-mono: var(--font-space-mono);
10+
--font-sans: var(--font-monocraft);
11+
--font-heading: var(--font-monocraft);
12+
--font-display: var(--font-monocraft);
13+
--font-mono: var(--font-monocraft);
1414
--font-green-energy: var(--font-green-energy);
1515

1616
/* ─── Warm earthy palette (unchanged) ─── */
@@ -166,14 +166,14 @@
166166
height: 4px;
167167
}
168168

169-
/* ─── Drop cap (Green_Energy serif, 4 lines tall) ─── */
169+
/* ─── Drop cap (Monocraft Black, 4 lines tall) ─── */
170170
.dropcap::first-letter {
171-
font-family: var(--font-green-energy);
172-
font-weight: 400;
171+
font-family: var(--font-monocraft);
172+
font-weight: 900;
173173
float: left;
174-
font-size: 5.4em;
175-
line-height: 0.86;
176-
padding: 0.1em 0.18em 0 0;
174+
font-size: 4.6em;
175+
line-height: 0.92;
176+
padding: 0.05em 0.16em 0 0;
177177
color: #DBC7A6;
178178
}
179179

@@ -412,13 +412,14 @@
412412
transform: rotate(45deg);
413413
}
414414

415-
/* ─── Atlas pull-quote ─── */
415+
/* ─── Atlas pull-quote (Monocraft, italic) ─── */
416416
.pull-quote {
417-
font-family: var(--font-green-energy);
417+
font-family: var(--font-monocraft);
418418
font-weight: 400;
419+
font-style: italic;
419420
line-height: 1.18;
420421
color: #DBC7A6;
421-
letter-spacing: -0.005em;
422+
letter-spacing: -0.01em;
422423
}
423424
}
424425

src/app/layout.tsx

Lines changed: 72 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import type { Metadata } from "next";
2-
import { Syne, Sora, Space_Mono } from "next/font/google";
32
import localFont from "next/font/local";
43
import "./globals.css";
54
import RootContent from "@/components/layout/RootContent";
@@ -10,96 +9,90 @@ import { LanguageProvider } from "@/context/LanguageContext";
109
import CommandPalette from "@/components/features/CommandPalette";
1110
import Telemetry from "@/components/Telemetry";
1211

13-
const syne = Syne({
14-
subsets: ["latin"],
15-
weight: ["500", "600", "700", "800"],
16-
variable: "--font-syne",
17-
display: "swap",
18-
});
19-
20-
const sora = Sora({
21-
subsets: ["latin"],
22-
variable: "--font-sora",
23-
display: "swap",
24-
});
25-
26-
const spaceMono = Space_Mono({
27-
weight: ["400", "700"],
28-
subsets: ["latin"],
29-
variable: "--font-space-mono",
30-
display: "swap",
12+
const monocraft = localFont({
13+
src: [
14+
{ path: "../../public/fonts/Monocraft/Monocraft-Light.ttf", weight: "300", style: "normal" },
15+
{ path: "../../public/fonts/Monocraft/Monocraft.ttf", weight: "400", style: "normal" },
16+
{ path: "../../public/fonts/Monocraft/Monocraft-Italic.ttf", weight: "400", style: "italic" },
17+
{ path: "../../public/fonts/Monocraft/Monocraft-SemiBold.ttf", weight: "600", style: "normal" },
18+
{ path: "../../public/fonts/Monocraft/Monocraft-Bold.ttf", weight: "700", style: "normal" },
19+
{ path: "../../public/fonts/Monocraft/Monocraft-Bold-Italic.ttf", weight: "700", style: "italic" },
20+
{ path: "../../public/fonts/Monocraft/Monocraft-Black.ttf", weight: "900", style: "normal" },
21+
],
22+
variable: "--font-monocraft",
23+
display: "swap",
3124
});
3225

3326
const greenEnergy = localFont({
34-
src: "../../public/fonts/Green_Energy.ttf",
35-
variable: "--font-green-energy",
36-
display: "swap",
27+
src: "../../public/fonts/Green_Energy.ttf",
28+
variable: "--font-green-energy",
29+
display: "swap",
3730
});
3831

3932
export const metadata: Metadata = {
40-
title: "Arka | Creative Full Stack Developer",
41-
description: "Creative Developer specializing in building premium digital experiences, modern web applications, and immersive user interfaces.",
42-
applicationName: "Arka Portfolio",
43-
authors: [{ name: "Arka", url: "https://arka-ui.github.io/portfolio/" }],
44-
keywords: ["Arka", "Portfolio", "Full Stack Developer", "Web Developer", "React", "Next.js", "Creative Developer", "UI/UX Design"],
45-
creator: "Arka",
46-
publisher: "Arka",
47-
metadataBase: new URL("https://arka-ui.github.io"),
48-
openGraph: {
4933
title: "Arka | Creative Full Stack Developer",
5034
description: "Creative Developer specializing in building premium digital experiences, modern web applications, and immersive user interfaces.",
51-
url: "https://arka-ui.github.io/portfolio/",
52-
siteName: "Arka Portfolio",
53-
locale: "en_US",
54-
type: "website",
55-
images: [
56-
{
57-
url: "/og-image.jpg",
58-
width: 1200,
59-
height: 630,
60-
alt: "Arka Portfolio Preview",
61-
},
62-
],
63-
},
64-
twitter: {
65-
card: "summary_large_image",
66-
title: "Arka | Creative Full Stack Developer",
67-
description: "Check out my portfolio featuring my latest full stack web projects.",
68-
creator: "@arka_dev",
69-
images: ["/og-image.jpg"],
70-
},
71-
robots: {
72-
index: true,
73-
follow: true,
74-
googleBot: {
75-
index: true,
76-
follow: true,
77-
"max-video-preview": -1,
78-
"max-image-preview": "large",
79-
"max-snippet": -1,
35+
applicationName: "Arka Portfolio",
36+
authors: [{ name: "Arka", url: "https://arka-ui.github.io/portfolio/" }],
37+
keywords: ["Arka", "Portfolio", "Full Stack Developer", "Web Developer", "React", "Next.js", "Creative Developer", "UI/UX Design"],
38+
creator: "Arka",
39+
publisher: "Arka",
40+
metadataBase: new URL("https://arka-ui.github.io"),
41+
openGraph: {
42+
title: "Arka | Creative Full Stack Developer",
43+
description: "Creative Developer specializing in building premium digital experiences, modern web applications, and immersive user interfaces.",
44+
url: "https://arka-ui.github.io/portfolio/",
45+
siteName: "Arka Portfolio",
46+
locale: "en_US",
47+
type: "website",
48+
images: [
49+
{
50+
url: "/og-image.jpg",
51+
width: 1200,
52+
height: 630,
53+
alt: "Arka Portfolio Preview",
54+
},
55+
],
56+
},
57+
twitter: {
58+
card: "summary_large_image",
59+
title: "Arka | Creative Full Stack Developer",
60+
description: "Check out my portfolio featuring my latest full stack web projects.",
61+
creator: "@arka_dev",
62+
images: ["/og-image.jpg"],
63+
},
64+
robots: {
65+
index: true,
66+
follow: true,
67+
googleBot: {
68+
index: true,
69+
follow: true,
70+
"max-video-preview": -1,
71+
"max-image-preview": "large",
72+
"max-snippet": -1,
73+
},
8074
},
81-
},
8275
};
8376

8477
export default function RootLayout({
85-
children,
78+
children,
8679
}: Readonly<{
87-
children: React.ReactNode;
80+
children: React.ReactNode;
8881
}>) {
89-
return (
90-
<html lang="en" className="scroll-smooth">
91-
<body className={`${sora.variable} ${syne.variable} ${spaceMono.variable} ${greenEnergy.variable} antialiased bg-background text-foreground overflow-x-hidden grain`}>
92-
<WarpProvider>
93-
<LanguageProvider>
94-
<BlueprintProvider>
95-
<ScrollManager />
96-
<CommandPalette />
97-
<Telemetry />
98-
<RootContent>{children}</RootContent>
99-
</BlueprintProvider>
100-
</LanguageProvider>
101-
</WarpProvider>
102-
</body>
103-
</html>
104-
);
82+
return (
83+
<html lang="en" className="scroll-smooth">
84+
<body className={`${monocraft.variable} ${greenEnergy.variable} antialiased bg-background text-foreground overflow-x-hidden grain`}>
85+
<WarpProvider>
86+
<LanguageProvider>
87+
<BlueprintProvider>
88+
<ScrollManager />
89+
<CommandPalette />
90+
<Telemetry />
91+
<RootContent>{children}</RootContent>
92+
</BlueprintProvider>
93+
</LanguageProvider>
94+
</WarpProvider>
95+
</body>
96+
</html>
97+
);
10598
}

src/components/sections/About.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ export default function About() {
113113
</p>
114114

115115
{/* Signature */}
116-
<p className="pt-2 font-green-energy text-[#DBC7A6] text-[28px] leading-none">
117-
— Arka<span className="text-[#7D6B56] font-mono text-[10px] tracking-[0.2em] uppercase ml-3">/ MMXXVI</span>
116+
<p className="pt-2 italic text-[#DBC7A6] text-[18px] md:text-[20px] leading-none tracking-tight">
117+
— Arka<span className="not-italic text-[#7D6B56] text-[10px] tracking-[0.2em] uppercase ml-3">/ MMXXVI</span>
118118
</p>
119119
</motion.div>
120120

@@ -158,7 +158,7 @@ export default function About() {
158158
<motion.figure {...enter(0)} className="mb-20 md:mb-28">
159159
<div className="atlas-rule mb-10" aria-hidden />
160160
<blockquote>
161-
<span className="font-green-energy text-[#7D6B56] text-[80px] md:text-[120px] leading-none block mb-3" aria-hidden></span>
161+
<span className="text-[#7D6B56] text-[64px] md:text-[96px] leading-none block mb-3 font-bold" aria-hidden>&ldquo;</span>
162162
<p className="pull-quote text-[28px] md:text-[44px] lg:text-[56px] max-w-[18ch] md:max-w-[22ch]">
163163
{t("about.team_quote")}
164164
</p>

0 commit comments

Comments
 (0)