diff --git a/components/CursorDot.js b/components/CursorDot.js index 72fef5ca..cba42327 100644 --- a/components/CursorDot.js +++ b/components/CursorDot.js @@ -26,12 +26,12 @@ const CursorDot = () => { dot.classList.remove('cursor-dot-hover'); // 移除放大样式 }; - + // 为所有可点击元素和包含 hover 或 group-hover 类名的元素添加事件监听 const clickableElements = document.querySelectorAll( - 'a, button, [role="button"], [onclick], [cursor="pointer"], [class*="hover"], [class*="group-hover"]' + 'a, button, [role="button"], [onclick], [cursor="pointer"], [class*="hover"], [class*="group-hover"], [class*="cursor-pointer"]' ); - clickableElements.forEach((el) => { + clickableElements.forEach((el) => { el.addEventListener('mouseenter', handleMouseEnter); el.addEventListener('mouseleave', handleMouseLeave); }); diff --git a/themes/proxio/components/About.js b/themes/proxio/components/About.js deleted file mode 100644 index 6ae4abe9..00000000 --- a/themes/proxio/components/About.js +++ /dev/null @@ -1,188 +0,0 @@ -/* eslint-disable @next/next/no-img-element */ -/* eslint-disable react/no-unescaped-entities */ -import { siteConfig } from '@/lib/config' -import Link from 'next/link' - -/** - * 首页的关于模块 - */ -export const About = () => { - return ( - <> - {/* */} -
-
-
-
- {/* 左侧的文字说明板块 */} -
-
-

- {siteConfig('PROXIO_CAREER_TITLE')} -

-

- - - {siteConfig('PROXIO_CAREER_BUTTON_TEXT')} - -
-
- - {/* 右侧的图片海报 */} -
-
-
-
- about image -
-
- -
-
- about image -
- -
-
- - {siteConfig('PROXIO_CAREER_TIPS_1')} - - - {siteConfig('PROXIO_CAREER_TIPS_2')} - - - {siteConfig('PROXIO_CAREER_TIPS_3')} - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
-
-
-
- {/* */} - - ) -} diff --git a/themes/proxio/components/Blog.js b/themes/proxio/components/Blog.js index 0350b36e..76875f21 100644 --- a/themes/proxio/components/Blog.js +++ b/themes/proxio/components/Blog.js @@ -12,33 +12,34 @@ export const Blog = ({ posts }) => { return ( <> {/* */} -
+
{/* 区块标题文字 */}
-
-
- +
+
+ {siteConfig('PROXIO_BLOG_TITLE')} -

+ +

{siteConfig('PROXIO_BLOG_TEXT_1')}

{/* 博客列表 此处优先展示3片文章 */} -
+
{posts?.map((item, index) => { return (
- {/* 图片部分 */}
{item.pageCoverThumbnail && ( + {/* 图片半透明 */} { )} {/* 遮罩层,仅覆盖图片部分 */} -
+
+ {/* 鼠标悬停时显示的文字内容 */} +
+

+ {item.summary} +

{/* 内容部分 */}
- + {item.publishDay}

@@ -61,9 +67,7 @@ export const Blog = ({ posts }) => { {item.title}

-

- {item.summary} -

+
diff --git a/themes/proxio/components/Brand.js b/themes/proxio/components/Brand.js index 11d8d4c3..032c3d1b 100644 --- a/themes/proxio/components/Brand.js +++ b/themes/proxio/components/Brand.js @@ -1,39 +1,71 @@ /* eslint-disable @next/next/no-img-element */ import { siteConfig } from '@/lib/config' +import { useEffect, useRef } from 'react' /** - * 合作伙伴 + * 合作伙伴滚动组件 * @returns */ export const Brand = () => { - const brands = siteConfig('PROXIO_BRANDS') + const brands = siteConfig('PROXIO_BRANDS', []) + + const scrollContainerRef = useRef(null) + + useEffect(() => { + const scrollContainer = scrollContainerRef.current + + let scrollAmount = 0 + const scrollSpeed = 1 // 滚动速度 + + const scroll = () => { + if (scrollContainer) { + scrollAmount += scrollSpeed + scrollContainer.scrollLeft = scrollAmount + + // 如果滚动到内容的一半,立即重置滚动位置 + if (scrollAmount >= scrollContainer.scrollWidth / 2) { + scrollAmount = 0 + } + } + requestAnimationFrame(scroll) + } + + scroll() + + return () => cancelAnimationFrame(scroll) + }, []) + return ( <> {/* */} -
-
-
- {brands?.map((item, index) => { - return ( - - {item.TITLE} - {item.TITLE} - - ) - })} +
+
+
+ {brands?.map((item, index) => ( + + {item} + + ))} + {/* 克隆一份内容,用于无缝滚动 */} + {brands.map((item, index) => ( + + {item} + + ))}
{/* */} ) -} +} \ No newline at end of file diff --git a/themes/proxio/components/CTA.js b/themes/proxio/components/CTA.js index 0c31970e..de61185d 100644 --- a/themes/proxio/components/CTA.js +++ b/themes/proxio/components/CTA.js @@ -13,14 +13,20 @@ export const CTA = () => { return ( <> {/* */} -
+
+ +
+ + {siteConfig('PROXIO_CTA_TITLE')} + +

- {siteConfig('PROXIO_CTA_TITLE')} + {siteConfig('PROXIO_CTA_TITLE_2')} @@ -42,69 +48,7 @@ export const CTA = () => {

-
- - - - - - - - - - - - - - -
+
{/* */} diff --git a/themes/proxio/components/Career.js b/themes/proxio/components/Career.js new file mode 100644 index 00000000..162abb40 --- /dev/null +++ b/themes/proxio/components/Career.js @@ -0,0 +1,62 @@ +/* eslint-disable @next/next/no-img-element */ +/* eslint-disable react/no-unescaped-entities */ +import { siteConfig } from '@/lib/config' +import Link from 'next/link' + +/** + * 首页的生涯模块 + */ +export const Career = () => { + const Careers = siteConfig('PROXIO_CAREERS') + return ( + <> + {/* */} +
+
+
+ {/* 左侧的文字说明板块 */} +
+
+ + {siteConfig('PROXIO_CAREER_TITLE')} + +

{siteConfig('PROXIO_CAREER_TEXT')}

+
+
+ +
+ {Careers?.map((item, index) => { + return + })} +
+
+
+
+ {/* */} + + ) +} + + +// 生涯内容 +const CareerItem = ({ title, bio, text }) => { + return
+
+

+ {title} + {bio} +

+ +
+
+

+ {text} +

+
+
+ +} \ No newline at end of file diff --git a/themes/proxio/components/FAQ.js b/themes/proxio/components/FAQ.js index fb741345..da2089bb 100644 --- a/themes/proxio/components/FAQ.js +++ b/themes/proxio/components/FAQ.js @@ -1,115 +1,80 @@ import { siteConfig } from '@/lib/config' -import { useEffect } from 'react' +import { useState } from 'react' import { SVGCircleBG } from './svg/SVGCircleBG' -import { SVGQuestion } from './svg/SVGQuestion' +/** + * 问答 + * @returns + */ export const FAQ = () => { - useEffect(() => { - // ===== Faq accordion - const faqs = document.querySelectorAll('.single-faq') - faqs.forEach(el => { - el.querySelector('.faq-btn').addEventListener('click', () => { - el.querySelector('.icon').classList.toggle('rotate-180') - el.querySelector('.faq-content').classList.toggle('hidden') - }) - }) - }) + const FAQS = siteConfig('PROXIO_FAQS', []) + + const [openIndex, setOpenIndex] = useState(null) + + const toggleFAQ = (index) => { + setOpenIndex(openIndex === index ? null : index) + } + return ( <> {/* */} -
-
-
-
-
- - {siteConfig('PROXIO_FAQ_TITLE')} - -

+
+
+
+
+
+
+ + {siteConfig('PROXIO_FAQ_TITLE')} + +
+

{siteConfig('PROXIO_FAQ_TEXT_1')}

-

+

{siteConfig('PROXIO_FAQ_TEXT_2')}

-
-
-
-
- -
-
-

- {siteConfig('PROXIO_FAQ_1_QUESTION')} -

-

+ {/* FAQ 列表 */} +
+ {FAQS?.map((faq, index) => ( +
toggleFAQ(index)} + > +
+ {/* 问题部分 */} +
+

+ {faq.q} +

+ +
+ {/* 答案部分 */} +
-
-
- -
-
-

- {siteConfig('PROXIO_FAQ_2_QUESTION')} -

-

-
-
-
- -
-
-
- -
-
-

- {siteConfig('PROXIO_FAQ_3_QUESTION')} -

-

-
-
-
-
- -
-
-

- {siteConfig('PROXIO_FAQ_4_QUESTION')} -

-

-
-
-
+ ))}
{/* 背景图案 */}
- + - +
@@ -117,4 +82,4 @@ export const FAQ = () => { {/* */} ) -} +} \ No newline at end of file diff --git a/themes/proxio/components/Features.js b/themes/proxio/components/Features.js index 49e5ec75..633426c0 100644 --- a/themes/proxio/components/Features.js +++ b/themes/proxio/components/Features.js @@ -12,15 +12,16 @@ export const Features = () => { return ( <> {/* */} -
+
+
-
- +
+ {siteConfig('PROXIO_FEATURE_TITLE')} -

+

{siteConfig('PROXIO_FEATURE_TEXT_1')}

@@ -29,12 +30,15 @@ export const Features = () => {

-
-
-
-
- - + {/* 支持三个特性 */} +
+ +
+
+
+
+ +

{siteConfig('PROXIO_FEATURE_1_TITLE_1')} @@ -42,18 +46,15 @@ export const Features = () => {

{siteConfig('PROXIO_FEATURE_1_TEXT_1')}

- - {siteConfig('PROXIO_FEATURE_1_BUTTON_TEXT')} -

-
-
-
- - + +
+
+
+
+ +

{siteConfig('PROXIO_FEATURE_2_TITLE_1')} @@ -61,18 +62,15 @@ export const Features = () => {

{siteConfig('PROXIO_FEATURE_2_TEXT_1')}

- - {siteConfig('PROXIO_FEATURE_2_BUTTON_TEXT')} -

-
-
-
- - + +
+
+
+
+ +

{siteConfig('PROXIO_FEATURE_3_TITLE_1')} @@ -80,32 +78,18 @@ export const Features = () => {

{siteConfig('PROXIO_FEATURE_3_TEXT_1')}

- - {siteConfig('PROXIO_FEATURE_3_BUTTON_TEXT')} - -

-
-
-
-
- - -
-

- {siteConfig('PROXIO_FEATURE_4_TITLE_1')} -

-

- {siteConfig('PROXIO_FEATURE_4_TEXT_1')} -

- - {siteConfig('PROXIO_FEATURE_3_BUTTON_TEXT')} -
+ +
+ +
+ + {siteConfig('PROXIO_FEATURE_BUTTON_TEXT')} + +
diff --git a/themes/proxio/components/Hero.js b/themes/proxio/components/Hero.js index eb52d56a..145345e6 100644 --- a/themes/proxio/components/Hero.js +++ b/themes/proxio/components/Hero.js @@ -39,7 +39,7 @@ export const Hero = props => {
+ data-wow-delay='0.5s'> {/* 主标题 */}

{siteConfig('PROXIO_HERO_TITLE_1', null, config)} diff --git a/themes/proxio/components/Team.js b/themes/proxio/components/Team.js index 91f0198c..dc7aa9b3 100644 --- a/themes/proxio/components/Team.js +++ b/themes/proxio/components/Team.js @@ -1,41 +1,64 @@ /* eslint-disable @next/next/no-img-element */ import { siteConfig } from '@/lib/config' -import { SVGAvatarBG } from './svg/SVGAvatarBG' - +import LazyImage from '@/components/LazyImage' +/** + * 作者团队 + * @returns + */ export const Team = () => { - const PROXIO_TEAM_ITEMS = siteConfig('PROXIO_TEAM_ITEMS', []) + const PROXIO_ABOUT_PHOTO_URL = siteConfig('PROXIO_ABOUT_PHOTO_URL') return ( <> {/* */}
+ className='overflow-hidden pb-12 pt-20 lg:pb-[90px] lg:pt-[120px]'>
-
-
-
- +
+ {/* 左边肖像图 */} +
+ +
+ {/* 右侧文字说明 */} +
+
+ {siteConfig('PROXIO_ABOUT_TITLE')} -

- {siteConfig('PROXIO_ABOUT_TEXT_1')} -

-

+
+

+ {siteConfig('PROXIO_ABOUT_TEXT_1')} +

+

+ {/* 数值四宫格 */} +
+ + + +
-
- -
- -
{/* */} ) } + +// 显示一组键值对 +const KeyVal = ({ k, v }) => { + if (!k) { + return null; + } + return ( +
+
{k}
+
{v}
+
+ ) +} \ No newline at end of file diff --git a/themes/proxio/components/Testimonials.js b/themes/proxio/components/Testimonials.js index 556883e6..4a22c3fd 100644 --- a/themes/proxio/components/Testimonials.js +++ b/themes/proxio/components/Testimonials.js @@ -1,150 +1,149 @@ /* eslint-disable react/no-unescaped-entities */ /* eslint-disable @next/next/no-img-element */ - import { siteConfig } from '@/lib/config' -import { loadExternalResource } from '@/lib/utils' -import { useEffect } from 'react' -import { SVGLeftArrow } from './svg/SVGLeftArrow' -import { SVGRightArrow } from './svg/SVGRightArrow' +import Link from 'next/link' +import { useEffect, useRef } from 'react' /** - * 一些外部js + * 用户反馈 + * @returns */ -const loadExternal = async () => { - await loadExternalResource( - 'https://cdnjs.cloudflare.com/ajax/libs/Swiper/11.0.5/swiper-bundle.css', - 'css' - ) - await loadExternalResource( - 'https://cdnjs.cloudflare.com/ajax/libs/Swiper/11.0.5/swiper-bundle.min.js', - 'js' - ) - - const Swiper = window.Swiper - if (!Swiper) { - return - } - // Testimonial - // eslint-disable-next-line no-unused-vars - const testimonialSwiper = new Swiper('.testimonial-carousel', { - slidesPerView: 1, - spaceBetween: 30, - - // Navigation arrows - navigation: { - nextEl: '.swiper-button-next', - prevEl: '.swiper-button-prev' - }, - - breakpoints: { - 640: { - slidesPerView: 2, - spaceBetween: 30 - }, - 1024: { - slidesPerView: 3, - spaceBetween: 30 - }, - 1280: { - slidesPerView: 3, - spaceBetween: 30 - } - } - }) -} - export const Testimonials = () => { + const PROXIO_TESTIMONIALS_ITEMS = siteConfig('PROXIO_TESTIMONIALS_ITEMS', []) + + const scrollContainerRef = useRef(null) + useEffect(() => { - loadExternal() + const scrollContainer = scrollContainerRef.current + let scrollAmount = 0 + const scrollSpeed = 1 // 滚动速度 + + const scroll = () => { + if (scrollContainer) { + scrollAmount += scrollSpeed + scrollContainer.scrollTop = scrollAmount + + // 如果滚动到内容的一半,立即重置滚动位置 + if (scrollAmount >= scrollContainer.scrollHeight / 2) { + scrollAmount = 0 + } + } + requestAnimationFrame(scroll) + } + + scroll() + + return () => cancelAnimationFrame(scroll) }, []) - // 用户评分 - const ratings = [1, 2, 3, 4, 5] - const PROXIO_TESTIMONIALS_ITEMS = siteConfig('PROXIO_TESTIMONIALS_ITEMS') + return ( <> {/* */}
-
-
-
-
- - {siteConfig('PROXIO_TESTIMONIALS_TITLE')} - -

- {siteConfig('PROXIO_TESTIMONIALS_TEXT_1')} -

-

- {siteConfig('PROXIO_TESTIMONIALS_TEXT_2')} -

-
+ id="testimonials" + className="overflow-hidden bg-gray-1 py-20 dark:bg-black md:py-[60px]" + > +
+ {/* 左侧标题和描述 */} +
+ +
+ + {siteConfig('PROXIO_TESTIMONIALS_TITLE')} + +
+

+ {siteConfig('PROXIO_TESTIMONIALS_TEXT_1')} +

+

+ {siteConfig('PROXIO_TESTIMONIALS_TEXT_2')} +

+ +
+ + {siteConfig('PROXIO_TESTIMONIALS_BUTTON_TEXT')} + +
-
-
-
- {/* 用户评价卡牌 */} - {PROXIO_TESTIMONIALS_ITEMS?.map((item, index) => { - return ( -
-
-
- {ratings.map((rating, index) => ( - star icon - ))} -
-

- “{item.PROXIO_TESTIMONIALS_ITEM_TEXT}” -

- - -
- author -
- -
-

- {item.PROXIO_TESTIMONIALS_ITEM_NICKNAME} -

-

- {item.PROXIO_TESTIMONIALS_ITEM_DESCRIPTION} -

-
-
-
+ {/* 右侧用户评价卡牌 */} +
+
+ {PROXIO_TESTIMONIALS_ITEMS?.map((item, index) => ( +
+

+ “{item.PROXIO_TESTIMONIALS_ITEM_TEXT}” +

+ +
+ author
- ) - })} -
- - {/* 切换按钮 */} -
- -
- + ))} + {/* 克隆一份内容,用于无缝滚动 */} + {PROXIO_TESTIMONIALS_ITEMS?.map((item, index) => ( + -
+ ))}
+ +
{/* */} ) -} +} \ No newline at end of file diff --git a/themes/proxio/config.js b/themes/proxio/config.js index dee09788..d06d05b5 100644 --- a/themes/proxio/config.js +++ b/themes/proxio/config.js @@ -2,7 +2,8 @@ * 另一个落地页主题 */ const CONFIG = { - PROXIO_WELCOME_TEXT:'欢迎来到此网站,点击任意位置进入', // 欢迎文字,留空则不启用 + PROXIO_WELCOME_COVER_ENABLE: true, //是否显示页面进入的欢迎文字 + PROXIO_WELCOME_TEXT: '欢迎来到此网站,点击任意位置进入', // 欢迎文字,留空则不启用 // 英雄区块导航 PROXIO_HERO_ENABLE: true, // 开启英雄区 @@ -24,89 +25,46 @@ const CONFIG = { // 文章区块 PROXIO_BLOG_ENABLE: true, // 首页博文区块开关 PROXIO_BLOG_TITLE: '作品', - PROXIO_BLOG_COUNT: 4, // 首页博文区块默认展示前3篇文章 + PROXIO_BLOG_COUNT: 4, // 首页博文区块展示前4篇文章 PROXIO_BLOG_TEXT_1: '我的最新动态', PROXIO_ANNOUNCEMENT_ENABLE: true, //公告文字区块 // 特性区块 PROXIO_FEATURE_ENABLE: true, // 特性区块开关 - PROXIO_FEATURE_TITLE: '特性', // 特性 - PROXIO_FEATURE_TEXT_1: 'NotionNext的主要特性', // 特性 + PROXIO_FEATURE_TITLE: '为什么选我', + PROXIO_FEATURE_TEXT_1: '我能让您的项目焕发光彩', PROXIO_FEATURE_TEXT_2: - 'NotionNext的愿景是帮助您简单、无感知地稳定地搭建自己的网站,放大品牌的价值。 ', // 特性 + '丰富的案例经验,专业的技术服务,优质的沟通效率', - PROXIO_FEATURE_1_TITLE_1: '免费且开源', // 特性1 - PROXIO_FEATURE_1_TEXT_1: '项目源码在Github上完全开放共享,遵循MIT协议', // 特性1 - PROXIO_FEATURE_1_BUTTON_TEXT: '了解更多', // 特性1 - PROXIO_FEATURE_1_BUTTON_URL: 'https://github.com/tangly1024/NotionNext', // 特性1 + // 特性1 + PROXIO_FEATURE_1_ICON_CLASS: 'fa-solid fa-stopwatch', // fas图标 + PROXIO_FEATURE_1_TITLE_1: '高效工作流程', + PROXIO_FEATURE_1_TEXT_1: '精简的设计流程确保快速交付,在紧迫的工期下仍能保证品质与细节不打折扣。', - PROXIO_FEATURE_2_TITLE_1: '多种主题定制', // 特性2 - PROXIO_FEATURE_2_TEXT_1: '数十种主题,适用于不同场景,总有一款适合你', // 特性2 - PROXIO_FEATURE_2_BUTTON_TEXT: '了解更多', // 特性2 - PROXIO_FEATURE_2_BUTTON_URL: - 'https://docs.tangly1024.com/article/notion-next-themes', // 特性2 + PROXIO_FEATURE_2_ICON_CLASS: 'fa-solid fa-comments', + PROXIO_FEATURE_2_TITLE_1: '协作式流程', + PROXIO_FEATURE_2_TEXT_1: '与你紧密合作,融合反馈意见,打造超越预期的设计', - PROXIO_FEATURE_3_TITLE_1: '优秀的性能', // 特性3 - PROXIO_FEATURE_3_TEXT_1: '基于NextJS开发,更快的响应速度,更好的SEO', // 特性3 - PROXIO_FEATURE_3_BUTTON_TEXT: '了解更多', // 特性3 - PROXIO_FEATURE_3_BUTTON_URL: 'https://docs.tangly1024.com/article/next-js', // 特性3 + PROXIO_FEATURE_3_ICON_CLASS: 'fa-solid fa-search', + PROXIO_FEATURE_3_TITLE_1: '细节把控', + PROXIO_FEATURE_3_TEXT_1: '精益求精雕琢每个元素,确保成品精致统一,令人过目难忘', - PROXIO_FEATURE_4_TITLE_1: '便捷的写作体验', // 特性4 - PROXIO_FEATURE_4_TEXT_1: '只需在Notion笔记中编修,自动同步到网站', // 特性4 - PROXIO_FEATURE_4_BUTTON_TEXT: '了解更多', // 特性4 - PROXIO_FEATURE_4_BUTTON_URL: 'https://docs.tangly1024.com/about', // 特性4 + PROXIO_FEATURE_BUTTON_TEXT: '了解更多', // 按钮文字 + PROXIO_FEATURE_BUTTON_URL: 'https://github.com/tangly1024/NotionNext', // 按钮跳转 // 首页生涯区块 PROXIO_CAREER_ENABLE: true, // 区块开关 - PROXIO_CAREER_TITLE: '一套轻量实用的建站解决方案', + PROXIO_CAREER_TITLE: '生涯', PROXIO_CAREER_TEXT: - 'NotionNext的愿景是帮助非技术人员的小白,最低成本、最快速地搭建自己的网站,帮助您将自己的产品与故事高效地传达给世界。

功能强大的Notion笔记,简单快速的Vercel托管平台,组成一个简单的网站', - PROXIO_CAREER_BUTTON_TEXT: '了解更多', - PROXIO_CAREER_BUTTON_URL: 'https://docs.tangly1024.com/about', - PROXIO_CAREER_IMAGE_1: '/images/starter/about/about-image-01.jpg', - PROXIO_CAREER_IMAGE_2: '/images/starter/about/about-image-02.jpg', - PROXIO_CAREER_TIPS_1: '7000+', - PROXIO_CAREER_TIPS_2: '博客站点', - PROXIO_CAREER_TIPS_3: '正在线上运行', + '以下是我的职业生涯', - // 首页价格区块 - PROXIO_PRICING_ENABLE: true, // 价格区块开关 - PROXIO_PRICING_TITLE: '价格表', - PROXIO_PRICING_TEXT_1: '很棒的定价计划', - PROXIO_PRICING_TEXT_2: - '我们制定了灵活的付费模式,您可以按需选择。(NotionNext免费开源,这里仅演示产品订阅付费功能,请勿下单购买!)', - - PROXIO_PRICING_1_TITLE: '入门版', - PROXIO_PRICING_1_PRICE: '19.9', - PROXIO_PRICING_1_PRICE_CURRENCY: '$', - PROXIO_PRICING_1_PRICE_PERIOD: '每月', - PROXIO_PRICING_1_HEADER: '功能点', - PROXIO_PRICING_1_FEATURES: '所有的主题,免费更新,帮助手册', // 英文逗号隔开 - PROXIO_PRICING_1_BUTTON_TEXT: '立即购买', - PROXIO_PRICING_1_BUTTON_URL: - 'https://tangly1024.lemonsqueezy.com/checkout/buy/c1a38a65-362e-44c5-8065-733fee39eb54', - - PROXIO_PRICING_2_TAG: '推荐', - PROXIO_PRICING_2_TITLE: '基础版', - PROXIO_PRICING_2_PRICE: '39.9', - PROXIO_PRICING_2_PRICE_CURRENCY: '$', - PROXIO_PRICING_2_PRICE_PERIOD: '每月', - PROXIO_PRICING_2_HEADER: '功能点', - PROXIO_PRICING_2_FEATURES: '包含入门版,项目源码,内部社群,技术咨询,SEO优化', // 英文逗号隔开 - PROXIO_PRICING_2_BUTTON_TEXT: '立即购买', - PROXIO_PRICING_2_BUTTON_URL: - 'https://tangly1024.lemonsqueezy.com/checkout/buy/590ad70a-c3b7-4caf-94ec-9ca27bde06d4', - - PROXIO_PRICING_3_TITLE: '高级版', - PROXIO_PRICING_3_PRICE: '59.9', - PROXIO_PRICING_3_PRICE_CURRENCY: '$', - PROXIO_PRICING_3_PRICE_PERIOD: '每月', - PROXIO_PRICING_3_HEADER: '功能点', - PROXIO_PRICING_3_FEATURES: '包含基础版,功能定制开发', // 英文逗号隔开 - PROXIO_PRICING_3_BUTTON_TEXT: '立即购买', - PROXIO_PRICING_3_BUTTON_URL: - 'https://tangly1024.lemonsqueezy.com/checkout/buy/df924d66-09dc-42a4-a632-a6b0c5cc4f28', + // 生涯内容卡牌 ,title是标题 ,bio是备注,text是详情 + PROXIO_CAREERS: [ + { title: 'Freelance Architect', bio: '2016-2020', text: 'As a freelance architect, I worked on a range of residential and commercial projects, balancing form and function. I collaborated with clients and contractors to transform concepts into reality, ensuring each design was both aesthetically pleasing and structurally sound.' }, + { title: 'Product Designer at Spotify', bio: '2020-2022', text: 'At Spotify, I helped shape innovative features for millions of users globally. My focus was on creating seamless music discovery experiences, enhancing user interfaces, and optimizing cross-platform navigation, which led to an improved product flow and increased user satisfaction.' }, + { title: 'Freelance Product Designer', bio: '2022-Now', text: 'Now I design user-centric products that align with client visions. As a freelance product designer, I collaborate with startups and established companies, crafting solutions that elevate user experiences and increase engagement across both digital and physical interfaces.' } + ], // 首页用户测评区块 PROXIO_TESTIMONIALS_ENABLE: true, // 测评区块开关 @@ -114,7 +72,10 @@ const CONFIG = { PROXIO_TESTIMONIALS_TEXT_1: '我们的用户怎么说', PROXIO_TESTIMONIALS_TEXT_2: '数千位站长选择用NotionNext搭建他们的网站,通过帮助手册、交流社群以及技术咨询,大家成功上线了自己的网站', - PROXIO_TESTIMONIALS_STAR_ICON: '/images/starter/testimonials/icon-star.svg', // 评分图标 + + // 用户测评处的跳转按钮 + PROXIO_TESTIMONIALS_BUTTON_URL: '/about', + PROXIO_TESTIMONIALS_BUTTON_TEXT: '联系我', // 这里不支持CONFIG和环境变量,需要一一修改此处代码。 PROXIO_TESTIMONIALS_ITEMS: [ @@ -178,30 +139,20 @@ const CONFIG = { PROXIO_FAQ_TITLE: '常见问题解答', PROXIO_FAQ_TEXT_1: '有任何问题吗?请看这里', PROXIO_FAQ_TEXT_2: '我们收集了常见的用户疑问', + PROXIO_FAQS: [ + { q: 'NotionNext有帮助文档吗?', a: 'NotionNext提供了帮助文档,操作演示视频,以及交流社群来协助您完成网站的搭建部署' }, + { q: '部署后要如何编写文章?', a: '您可以在Notion中之间添加或修改类型为Post的页面,内容将被实时同步在站点中,详情参考《帮助文档》' }, + { q: '站点部署失败,更新失败?', a: '通常是配置修改错误导致,请检查配置或者重试操作步骤,或者通过Vercel后台的Deployments中找到错误日志,并向网友求助' }, + { q: '文章没有实时同步?', a: '先检查Notion_Page_ID是否正确配置,其次由于博客的每个页面都有独立缓存,刷新网页后即可解决' }, + ], - PROXIO_FAQ_1_QUESTION: 'NotionNext有帮助文档吗?', - PROXIO_FAQ_1_ANSWER: - 'NotionNext提供了帮助文档,操作演示视频,以及交流社群来协助您完成网站的搭建部署', - - PROXIO_FAQ_2_QUESTION: '部署后要如何编写文章?', - PROXIO_FAQ_2_ANSWER: - '您可以在Notion中之间添加或修改类型为Post的页面,内容将被实时同步在站点中,详情参考《帮助文档》', - - PROXIO_FAQ_3_QUESTION: '站点部署失败,更新失败?', - PROXIO_FAQ_3_ANSWER: - '通常是配置修改错误导致,请检查配置或者重试操作步骤,或者通过Vercel后台的Deployments中找到错误日志,并向网友求助', - - PROXIO_FAQ_4_QUESTION: '文章没有实时同步?', - PROXIO_FAQ_4_ANSWER: - '先检查Notion_Page_ID是否正确配置,其次由于博客的每个页面都有独立缓存,刷新网页后即可解决', - - // 团队成员区块 - PROXIO_ABOUT_ENABLE: true, // 团队成员区块开关 - PROXIO_ABOUT_TITLE: '团队成员', - PROXIO_ABOUT_TEXT_1: '我们的开发者团队', + // 关于作者区块 + PROXIO_ABOUT_ENABLE: true, // 关于作者区块区块开关 + PROXIO_ABOUT_TITLE: '关于作者', + PROXIO_ABOUT_TEXT_1: 'I am an Architect Turned Into a Product Designer', PROXIO_ABOUT_TEXT_2: - 'NotionNext 由众多开源技术爱好者们共同合作完成,感谢每一位贡献者', - PROXIO_ABOUT_PHOTO_URL: '', + 'With a background in architecture, I now apply my expertise to product design, blending aesthetics, functionality, and innovation. My goal is to create modern, user-focused designs that bring your vision to life.', + PROXIO_ABOUT_PHOTO_URL: '/avatar.png', PROXIO_ABOUT_KEY_1: '经验年限', PROXIO_ABOUT_VAL_1: '10年+', PROXIO_ABOUT_KEY_2: '客户', @@ -232,39 +183,13 @@ const CONFIG = { // PROXIO_CONTACT_MSG_SEND: '发送消息', // PROXIO_CONTACT_MSG_THANKS: '感谢您的留言', - // 合作伙伴的图标 - PROXIO_BRANDS_ENABLE: true, // 合作伙伴开关 + // 横向滚动文字 + PROXIO_BRANDS_ENABLE: true, // 滚动文字 PROXIO_BRANDS: [ - { - IMAGE: '/images/starter/brands/graygrids.svg', - IMAGE_WHITE: '/images/starter/brands/graygrids-white.svg', - URL: 'https://graygrids.com/', - TITLE: 'graygrids' - }, - { - IMAGE: '/images/starter/brands/lineicons.svg', - IMAGE_WHITE: '/images/starter/brands/lineicons-white.svg', - URL: 'https://lineicons.com/', - TITLE: 'lineicons' - }, - { - IMAGE: '/images/starter/brands/uideck.svg', - IMAGE_WHITE: '/images/starter/brands/uideck-white.svg', - URL: 'https://uideck.com/', - TITLE: 'uideck' - }, - { - IMAGE: '/images/starter/brands/ayroui.svg', - IMAGE_WHITE: '/images/starter/brands/ayroui-white.svg', - URL: 'https://ayroui.com/', - TITLE: 'ayroui' - }, - { - IMAGE: '/images/starter/brands/tailgrids.svg', - IMAGE_WHITE: '/images/starter/brands/tailgrids-white.svg', - URL: '"https://tailgrids.com/', - TITLE: 'tailgrids' - } + 'Web Design', + 'Logo Design', + 'Mobile App Design', + 'Product Design' ], PROXIO_FOOTER_SLOGAN: '我们通过技术为品牌和公司创造数字体验。', @@ -326,14 +251,14 @@ const CONFIG = { // 页面底部的行动呼吁模块 PROXIO_CTA_ENABLE: true, - PROXIO_CTA_TITLE: '你还在等待什么呢?', - PROXIO_CTA_TITLE_2: '现在开始吧', + PROXIO_CTA_TITLE: '与我建立联系', + PROXIO_CTA_TITLE_2: '让我们开始链接并尽快启动您的项目', PROXIO_CTA_DESCRIPTION: '访问NotionNext的操作文档,我们提供了详细的教程,帮助你即刻搭建站点', PROXIO_CTA_BUTTON: true, // 是否显示按钮 PROXIO_CTA_BUTTON_URL: - 'https://docs.tangly1024.com/article/vercel-deploy-notion-next', - PROXIO_CTA_BUTTON_TEXT: '开始体验', + '/about', + PROXIO_CTA_BUTTON_TEXT: '联系我', PROXIO_POST_REDIRECT_ENABLE: true, // 默認開啟重定向 PROXIO_POST_REDIRECT_URL: 'https://blog.tangly1024.com', // 重定向域名 diff --git a/themes/proxio/index.js b/themes/proxio/index.js index 4cb3a130..40127758 100644 --- a/themes/proxio/index.js +++ b/themes/proxio/index.js @@ -8,7 +8,7 @@ import { siteConfig } from '@/lib/config' import { isBrowser } from '@/lib/utils' import { useRouter } from 'next/router' import { useEffect } from 'react' -import { About } from './components/About' +import { Career } from './components/Career' import { BackToTopButton } from './components/BackToTopButton' import { Blog } from './components/Blog' import { Brand } from './components/Brand' @@ -115,14 +115,13 @@ const LayoutIndex = props => { )} - {/* 短留言公告 */} + {/* 公告 */} {siteConfig('PROXIO_ANNOUNCEMENT_ENABLE', true, CONFIG) && } - - />} {/* 团队介绍 */} {siteConfig('PROXIO_ABOUT_ENABLE', true, CONFIG) && } @@ -130,12 +129,12 @@ const LayoutIndex = props => { {/* 合作伙伴 */} {siteConfig('PROXIO_BRANDS_ENABLE', true, CONFIG) && } + + {/* 生涯 */} + {siteConfig('PROXIO_CAREER_ENABLE', true, CONFIG) && } + {/* 产品特性 */} {siteConfig('PROXIO_FEATURE_ENABLE', true, CONFIG) && } - - {/* 生涯 */} - {siteConfig('PROXIO_CAREER_ENABLE', true, CONFIG) && } - {/* 价格 */} {/* {siteConfig('PROXIO_PRICING_ENABLE', true, CONFIG) && } */} @@ -152,7 +151,7 @@ const LayoutIndex = props => { {/* 行动呼吁 */} {siteConfig('PROXIO_CTA_ENABLE', true, CONFIG) && } - + {siteConfig('PROXIO_WELCOME_COVER_ENABLE', false, CONFIG) && } ) } diff --git a/themes/proxio/style.js b/themes/proxio/style.js index 87ec2d30..e35cd14e 100644 --- a/themes/proxio/style.js +++ b/themes/proxio/style.js @@ -8,6 +8,11 @@ const Style = () => { return