feat(portfolio): redesign site as opportunity gateway

- add now/hire pages and update IA/navigation

- feature Elynd in projects and homepage messaging

- refresh services/blog/brand copy for AI product positioning

- reduce hydration overhead by using Astro Container

- remove Google Fonts external dependency and use local fallback stack
This commit is contained in:
zguiyang
2026-03-13 14:01:04 +08:00
parent 52a5d14a4e
commit a208bab7ea
25 changed files with 2069 additions and 493 deletions

View File

@@ -3,7 +3,7 @@ import BlogLayout from '../../layouts/BlogLayout.astro';
import BlogList from '../../components/blog/BlogList.astro';
import CategoryCard from '../../components/blog/CategoryCard.astro';
import TagCard from '../../components/blog/TagCard.astro';
import Container from '../../components/ui/Container';
import Container from "../../components/ui/Container.astro";
import { type BlogPost } from '@/types';
import { useTranslations } from '@/i18n/utils';
import { type Lang } from '@/types/i18n';
@@ -43,22 +43,22 @@ const sortedBlogPosts = sortPostsByDate(blogPosts);
---
<BlogLayout title="Blog - Joy Zhao" description="Dive into my thoughts on coding, tech trends, and developer life. Explore my latest posts below.">
<BlogLayout title="Blog - Joy Zhao" description="Thoughts on AI products, full-stack development, and building in public. Explore my latest posts below.">
<main class="min-h-screen">
<!-- Header Section -->
<Container client:load className="pt-24 pb-12">
<Container className="pt-24 pb-12">
<div class="text-center mb-16">
<h1 class="text-5xl md:text-6xl font-bold bg-gradient-to-r from-foreground via-purple-600 to-purple-800 dark:from-foreground dark:via-purple-200 dark:to-purple-300 bg-clip-text text-transparent mb-6">
Our <span class="text-purple-500">Latest</span> Blog
<span class="text-purple-500">Blog</span>
</h1>
<p class="text-xl text-muted-foreground max-w-3xl mx-auto">
{t('blog.slogan')} Dive into my thoughts on coding, tech trends, and developer life. Explore my latest posts below.
Thoughts on AI products, full-stack development, and building in public. Exploring the intersection of technology and product building.
</p>
</div>
</Container>
<!-- Main Content -->
<Container client:load className="pb-20">
<Container className="pb-20">
<div class="grid grid-cols-1 lg:grid-cols-4 gap-8">
<!-- 侧边栏 -->
<div class="lg:col-span-1 space-y-8">
@@ -85,4 +85,4 @@ const sortedBlogPosts = sortPostsByDate(blogPosts);
-webkit-box-orient: vertical;
overflow: hidden;
}
</style>
</style>