解决编译问题

This commit is contained in:
ymk
2025-08-11 11:37:49 +08:00
parent f310904707
commit c5d65cf49f
8 changed files with 82 additions and 73 deletions

View File

@@ -0,0 +1,18 @@
import Cover2 from "./512_288.png";
import { BlogItem } from "../list";
export const Blog: BlogItem = {
id: "Create-3D-Letters",
date: "2025-08-07",
cover: Cover2,
en: {
title: "How to Create Stunning 3D Letters Online for Free",
summary:
"Learn how to create stunning 3D letters online using Fast3DText — a free 3D text generator. This step-by-step guide walks you through customizing fonts, colors, background, and 3D angles, then exporting high-quality 3D text images. No design skills required.",
},
zh: {
title: "如何快速创建炫酷的 3D 字母图像(免安装)",
summary:
"本文教你如何使用 Fast3DText 在线生成个性化的 3D 字母 图像。通过输入文字、调整字体和颜色、操控三维视角,你可以一键导出高清立体文字图片,无需任何设计基础,适用于封面、海报和社交媒体内容。",
},
};

View File

@@ -6,23 +6,8 @@ import En from "./en";
import Zh from "./zh";
import { Locales } from "@/i18n/config";
import { Metadata } from "next";
import Cover2 from "./512_288.png";
import { Blog } from "./data";
export const Blog = {
id: "Create-3D-Letters",
date: "2025-08-07",
cover: Cover2,
en: {
title: "How to Create Stunning 3D Letters Online for Free",
summary:
"Learn how to create stunning 3D letters online using Fast3DText — a free 3D text generator. This step-by-step guide walks you through customizing fonts, colors, background, and 3D angles, then exporting high-quality 3D text images. No design skills required.",
},
zh: {
title: "如何快速创建炫酷的 3D 字母图像(免安装)",
summary:
"本文教你如何使用 Fast3DText 在线生成个性化的 3D 字母 图像。通过输入文字、调整字体和颜色、操控三维视角,你可以一键导出高清立体文字图片,无需任何设计基础,适用于封面、海报和社交媒体内容。",
},
};
export default function Page() {
const locale = useLocale() as "en" | "zh";

View File

@@ -0,0 +1,17 @@
import { BlogItem } from "../list";
import Cover1 from "./512_288.png";
export const Blog: BlogItem = {
id: "Create-3D-Text-with-the-Barbie-Font",
date: "2025-08-01",
cover: Cover1,
en: {
title: "How to Create 3D Text with the Barbie Font",
summary:
"Learn how to create 3D text with the Barbie font using free online tools. Step-by-step guide to download, convert, and render Barbie-style 3D text — no coding required!",
},
zh: {
title: "如何使用Barbie字体创建3D文本",
summary:
"学习如何使用免费在线工具,以芭比字体创建 3D 文本。下载、转换和渲染芭比风格 3D 文本的分步指南 —— 无需编码!",
},
};

View File

@@ -6,23 +6,7 @@ import En from "./en";
import Zh from "./zh";
import { Locales } from "@/i18n/config";
import { Metadata } from "next";
import Cover1 from "./512_288.png";
export const Blog = {
id: "Create-3D-Text-with-the-Barbie-Font",
date: "2025-08-01",
cover: Cover1,
en: {
title: "How to Create 3D Text with the Barbie Font",
summary:
"Learn how to create 3D text with the Barbie font using free online tools. Step-by-step guide to download, convert, and render Barbie-style 3D text — no coding required!",
},
zh: {
title: "如何使用Barbie字体创建3D文本",
summary:
"学习如何使用免费在线工具,以芭比字体创建 3D 文本。下载、转换和渲染芭比风格 3D 文本的分步指南 —— 无需编码!",
},
};
import { Blog } from "./data";
export default function Page() {

View File

@@ -13,8 +13,8 @@ export interface BlogItem {
}
import { StaticImageData } from "next/image";
import { Blog as Create3DTextBlog } from "./Create-3D-Text-with-the-Barbie-Font/page";
import { Blog as Create3DLetterBlog } from "./Create-3D-Letters/page";
import { Blog as Create3DTextBlog } from "./Create-3D-Text-with-the-Barbie-Font/data";
import { Blog as Create3DLetterBlog } from "./Create-3D-Letters/data";
export const blogs = [
Create3DLetterBlog,

View File

@@ -1,5 +1,5 @@
import { OnlyPage } from "@/components/editor/OnlyPage";
import { decodeText } from "@/lib/utils";
import { OnlyPage } from "../page";
export default async function Page({ params }: { params: Promise<{ data: string }> }) {

View File

@@ -1,51 +1,15 @@
import { BackgroundProp } from "@/components/common/BackgroundSelector";
import { TextProp } from "@/components/common/TextSetting";
import Footer from "@/components/Footer";
import FullEditor from "@/components/FullEditor";
import Header from "@/components/Header";
import { OnlyPage } from "@/components/editor/OnlyPage";
import { Locales } from "@/i18n/config";
import { Box, Container, Flex, Heading, Text, Card } from "@radix-ui/themes";
import { HelpCircle } from "lucide-react";
import { Metadata } from "next";
import { useTranslations } from "next-intl";
import { getTranslations } from "next-intl/server";
const host = process.env.NEXT_PUBLIC_HOST;
export default function Page() {
return (<OnlyPage textProp={undefined} backgroundProp={undefined}></OnlyPage>)
}
export function OnlyPage({ textProp, backgroundProp }: { textProp: TextProp | undefined, backgroundProp: BackgroundProp | undefined }) {
const t = useTranslations('TextEditor');
return <Flex direction={"column"} gap={"4"}>
<Header />
<Heading as="h1" weight="bold" className="text-center">{t('title')}</Heading>
<Container p="4">
<FullEditor
textProp={textProp}
backgroundProp={backgroundProp}
/>
</Container>
<Container p="4">
<Heading as="h2" weight="bold" className="text-center" mb="4">{t('faqTitle')}</Heading>
<Flex direction="column" gap="3">
<Card variant="surface">
<Flex gap="3" align="center">
<HelpCircle className="text-gray-11" size={16} />
<Text size="3" weight="bold">{t('faqQuestion1')}</Text>
</Flex>
<Box pt="3" pl="6">
<Text size="2" color="gray">{t('faqAnswer1')}</Text>
</Box>
</Card>
</Flex>
</Container>
<Footer />
</Flex>;
}
const locales = Locales;
export function generateStaticParams() {

View File

@@ -0,0 +1,41 @@
import { BackgroundProp } from "@/components/common/BackgroundSelector";
import { TextProp } from "@/components/common/TextSetting";
import Footer from "@/components/Footer";
import FullEditor from "@/components/FullEditor";
import Header from "@/components/Header";
import { Box, Container, Flex, Heading, Text, Card } from "@radix-ui/themes";
import { HelpCircle } from "lucide-react";
import { useTranslations } from "next-intl";
export function OnlyPage({ textProp, backgroundProp }: {
textProp: TextProp | undefined;
backgroundProp: BackgroundProp | undefined
}) {
const t = useTranslations('TextEditor');
return <Flex direction={"column"} gap={"4"}>
<Header />
<Heading as="h1" weight="bold" className="text-center">{t('title')}</Heading>
<Container p="4">
<FullEditor
textProp={textProp}
backgroundProp={backgroundProp}
/>
</Container>
<Container p="4">
<Heading as="h2" weight="bold" className="text-center" mb="4">{t('faqTitle')}</Heading>
<Flex direction="column" gap="3">
<Card variant="surface">
<Flex gap="3" align="center">
<HelpCircle className="text-gray-11" size={16} />
<Text size="3" weight="bold">{t('faqQuestion1')}</Text>
</Flex>
<Box pt="3" pl="6">
<Text size="2" color="gray">{t('faqAnswer1')}</Text>
</Box>
</Card>
</Flex>
</Container>
<Footer />
</Flex>;
}