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:
@@ -5,7 +5,7 @@ import { type Lang, type FrontmatterProps } from '@/types';
|
||||
import { defaultLang } from '@/i18n/ui';
|
||||
import GlassHeader from '@/components/GlassHeader';
|
||||
import Footer from '@/components/Footer';
|
||||
import Container from '../components/ui/Container';
|
||||
import Container from "../components/ui/Container.astro";
|
||||
|
||||
// Use Astro's MarkdownLayoutProps for proper type safety
|
||||
export type Props = MarkdownLayoutProps<FrontmatterProps>;
|
||||
@@ -30,7 +30,7 @@ const lang = Astro.currentLocale as Lang || defaultLang;
|
||||
|
||||
<!-- Main content with proper spacing for fixed header -->
|
||||
<div class="pt-16 sm:pt-20">
|
||||
<Container client:load className="py-8 md:py-12">
|
||||
<Container className="py-8 md:py-12">
|
||||
<div class="max-w-7xl mx-auto">
|
||||
<div class="grid grid-cols-1 xl:grid-cols-4 gap-6 lg:gap-8">
|
||||
<!-- Main Content -->
|
||||
@@ -202,4 +202,4 @@ const lang = Astro.currentLocale as Lang || defaultLang;
|
||||
#toc-list a {
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -11,7 +11,7 @@ import AuthorCard from '@/components/AuthorCard';
|
||||
import TableOfContents from '@/components/layout/TableOfContents.astro';
|
||||
import BlogNavigation from '@/components/layout/BlogNavigation.astro';
|
||||
import PostMeta from '@/components/blog/PostMeta.astro';
|
||||
import Container from '../components/ui/Container';
|
||||
import Container from "../components/ui/Container.astro";
|
||||
import Comments from '@/components/blog/Comments';
|
||||
|
||||
// Use Astro's MarkdownLayoutProps for proper type safety
|
||||
@@ -47,7 +47,7 @@ const finalReadingTime = readTime ? parseInt(readTime.replace(/\D/g, '')) : unde
|
||||
|
||||
<!-- Main content with proper spacing for fixed header -->
|
||||
<div class="pt-16 sm:pt-20">
|
||||
<Container client:load className="py-6 sm:py-8">
|
||||
<Container className="py-6 sm:py-8">
|
||||
<div class="max-w-7xl mx-auto">
|
||||
<div class="grid grid-cols-1 xl:grid-cols-4 gap-6 lg:gap-8">
|
||||
<!-- Main Content -->
|
||||
@@ -277,4 +277,4 @@ const finalReadingTime = readTime ? parseInt(readTime.replace(/\D/g, '')) : unde
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -25,12 +25,6 @@ const t = useTranslations(lang);
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<meta name="description" content={description} />
|
||||
<title>{title}{t('site.title') ? ` | ${t('site.title')}` : ''}</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
{
|
||||
import.meta.env.MODE === 'production' && (
|
||||
<script defer src="https://cloud.umami.is/script.js" data-website-id="a79f759b-74ae-4165-b738-56d123a1c6be"></script>
|
||||
|
||||
@@ -7,7 +7,7 @@ import BlogLayout from './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 Lang } from '@/types/i18n';
|
||||
import { type BlogPost } from '@/types';
|
||||
|
||||
@@ -53,7 +53,7 @@ const localizedText = getLocalizedText();
|
||||
---
|
||||
|
||||
<BlogLayout title={title} description={Astro.props.description}>
|
||||
<Container client:load className="py-8">
|
||||
<Container className="py-8">
|
||||
<!-- Header Section - Centered at the top -->
|
||||
<div class="text-center mb-10">
|
||||
<h1 class="text-4xl font-bold mb-3">
|
||||
@@ -92,4 +92,4 @@ const localizedText = getLocalizedText();
|
||||
</div>
|
||||
</div>
|
||||
</Container>
|
||||
</BlogLayout>
|
||||
</BlogLayout>
|
||||
|
||||
Reference in New Issue
Block a user