配置有误
` + const newHTML = `请在您的notion中添加一个slug为${CONFIG.INDEX_PAGE}的文章
配置有误
` containerInner?.insertAdjacentHTML('afterbegin', newHTML) } } @@ -230,9 +230,9 @@ const LayoutSlug = (props) => {请在您的notion中添加一个slug为${siteConfig('GITBOOK_INDEX_PAGE', null, CONFIG)}的文章
-
{posts?.map(post => {
- const showPreview = CONFIG.POST_LIST_PREVIEW && post.blockMap
- if (post && !post.pageCoverThumbnail && CONFIG.POST_LIST_COVER_DEFAULT) {
+ const showPreview = siteConfig('HEO_POST_LIST_PREVIEW', null, CONFIG) && post.blockMap
+ if (post && !post.pageCoverThumbnail && siteConfig('HEO_POST_LIST_COVER_DEFAULT', null, CONFIG)) {
post.pageCoverThumbnail = siteInfo?.pageCover
}
- const showPageCover = CONFIG.POST_LIST_COVER && post?.pageCoverThumbnail && !showPreview
+ const showPageCover = siteConfig('HEO_POST_LIST_COVER', null, CONFIG) && post?.pageCoverThumbnail && !showPreview
return
-
-
- {CONFIG.HEADER_BUTTON_1_TITLE}+ +{siteConfig('LANDING_HEADER_BUTTON_1_TITLE', null, CONFIG)}
-
-
- {CONFIG.HEADER_BUTTON_2_TITLE}
+
+ {siteConfig('LANDING_HEADER_BUTTON_2_TITLE', null, CONFIG)}
diff --git a/themes/landing/components/Hero.js b/themes/landing/components/Hero.js index ff7527f6..2982761f 100644 --- a/themes/landing/components/Hero.js +++ b/themes/landing/components/Hero.js @@ -1,5 +1,6 @@ import CONFIG from '../config' import ModalVideo from './ModalVideo' +import { siteConfig } from '@/lib/config' export default function Hero() { return ( @@ -30,21 +31,21 @@ export default function Hero() { {/* Section header */}@@ -100,7 +101,7 @@ export default function ModalVideo({- {CONFIG.HERO_TITLE_1} + {siteConfig('LANDING_HERO_TITLE_1', null, CONFIG)}
-{CONFIG.HERO_P_1}
+{siteConfig('LANDING_HERO_P_1', null, CONFIG)}
@@ -53,11 +54,11 @@ export default function Hero() { {/* Hero image */}diff --git a/themes/landing/components/MobileMenu.js b/themes/landing/components/MobileMenu.js index 7bf556e9..3384f6b0 100644 --- a/themes/landing/components/MobileMenu.js +++ b/themes/landing/components/MobileMenu.js @@ -4,6 +4,7 @@ import { useState, useRef, useEffect } from 'react' import { Transition } from '@headlessui/react' import Link from 'next/link' import CONFIG from '../config' +import { siteConfig } from '@/lib/config' export default function MobileMenu() { const [mobileNavOpen, setMobileNavOpen] = useState(false) @@ -66,13 +67,13 @@ export default function MobileMenu() { > -
- setMobileNavOpen(false)}>
- {CONFIG.HEADER_BUTTON_1_TITLE}+ setMobileNavOpen(false)}> +{siteConfig('LANDING_HEADER_BUTTON_1_TITLE', null, CONFIG)}
-
- setMobileNavOpen(false)}>
- {CONFIG.HEADER_BUTTON_2_TITLE}
+ setMobileNavOpen(false)}>
+ {siteConfig('LANDING_HEADER_BUTTON_2_TITLE', null, CONFIG)}
diff --git a/themes/landing/components/ModalVideo.js b/themes/landing/components/ModalVideo.js index 82cb7352..edebdb8d 100644 --- a/themes/landing/components/ModalVideo.js +++ b/themes/landing/components/ModalVideo.js @@ -4,6 +4,7 @@ import { useState, useRef, Fragment } from 'react' import { Dialog, Transition } from '@headlessui/react' import CONFIG from '../config' import LazyImage from '@/components/LazyImage' +import { siteConfig } from '@/lib/config' export default function ModalVideo({ thumb, @@ -59,7 +60,7 @@ export default function ModalVideo({- {CONFIG.HERO_VIDEO_TIPS} + {siteConfig('LANDING_HERO_VIDEO_TIPS', null, CONFIG)}
- {CONFIG.TESTIMONIALS_WORD} + {siteConfig('LANDING_TESTIMONIALS_WORD', null, CONFIG)}
- {CONFIG.TESTIMONIALS_NICKNAME} + {siteConfig('LANDING_TESTIMONIALS_NICKNAME', null, CONFIG)}- {CONFIG.TESTIMONIALS_ID} {CONFIG.TESTIMONIALS_SOCIAL_NAME} + {siteConfig('LANDING_TESTIMONIALS_ID', null, CONFIG)} {siteConfig('LANDING_TESTIMONIALS_SOCIAL_NAME', null, CONFIG)} -
- setMobileNavOpen(false)}>
-
{CONFIG.SOCIAL_CARD_TITLE_1}
-{CONFIG.SOCIAL_CARD_TITLE_2}
+{siteConfig('HEO_SOCIAL_CARD_TITLE_1', null, CONFIG)}
+{siteConfig('HEO_SOCIAL_CARD_TITLE_2', null, CONFIG)}
{CONFIG.FEATURES_HEADER_1}
- +{siteConfig('LANDING_FEATURES_HEADER_1', null, CONFIG)}
+{CONFIG.FEATURES_HEADER_2}
-{CONFIG.FEATURES_HEADER_2_P}
+{siteConfig('LANDING_FEATURES_HEADER_2', null, CONFIG)}
+{siteConfig('LANDING_FEATURES_HEADER_2_P', null, CONFIG)}
{CONFIG.FEATURES_BLOCK_3_TITLE}
-{CONFIG.FEATURES_BLOCK_3_P}
+{siteConfig('LANDING_FEATURES_BLOCK_3_TITLE', null, CONFIG)}
+{siteConfig('LANDING_FEATURES_BLOCK_3_P', null, CONFIG)}
{CONFIG.FEATURES_BLOCK_4_TITLE}
-{CONFIG.FEATURES_BLOCK_4_P}
+{siteConfig('LANDING_FEATURES_BLOCK_4_TITLE', null, CONFIG)}
+{siteConfig('LANDING_FEATURES_BLOCK_4_P', null, CONFIG)}
{CONFIG.FEATURES_BLOCK_5_TITLE}
-{CONFIG.FEATURES_BLOCK_5_P}
+{siteConfig('LANDING_FEATURES_BLOCK_5_TITLE', null, CONFIG)}
+{siteConfig('LANDING_FEATURES_BLOCK_5_P', null, CONFIG)}
{CONFIG.FEATURES_BLOCK_6_TITLE}
-{CONFIG.FEATURES_BLOCK_6_P}
+{siteConfig('LANDING_FEATURES_BLOCK_6_TITLE', null, CONFIG)}
+{siteConfig('LANDING_FEATURES_BLOCK_6_P', null, CONFIG)}
Subscribe
diff --git a/themes/landing/components/Header.js b/themes/landing/components/Header.js index ee6fe3ff..897ae3a4 100644 --- a/themes/landing/components/Header.js +++ b/themes/landing/components/Header.js @@ -1,7 +1,7 @@ 'use client' import { useState, useEffect } from 'react' - +import { siteConfig } from '@/lib/config' import Link from 'next/link' import Logo from './Logo' import MobileMenu from './MobileMenu' @@ -36,13 +36,13 @@ export default function Header() { {/* Desktop sign in links */}曾经,它是系统繁重的Wordpress、是操作复杂的Hexo、是昂贵且不稳定的技术团队;
现在,只要一个Notion笔记就够了", - FEATURES_HEADER_2: 'Notion+NextJs组合方案', - FEATURES_HEADER_2_P: '在Notion笔记中管理文章数据,NextJs将其渲染成网页排版,通过Vercel等第三方平台将您的网站发布到全球。', - FEATURES_CARD_1_TITLE: '简单快速的系统', - FEATURES_CARD_1_P: '在Notion中写下一篇文章,内容立刻在您的网站首页中呈现给互联网', - FEATURES_CARD_2_TITLE: '高效传播的媒介', - FEATURES_CARD_2_P: '优秀的SEO、快速的响应速度,让您的产品和宣传触达到更多的受众', - FEATURES_CARD_3_TITLE: '人性化的定制工具', - FEATURES_CARD_3_P: '多款主题供您挑选,可以搭建各种不同风格和作用的网站,更多的主题正在陆续加入中。', + LANDING_FEATURES_HEADER_1: '探索的过程', + LANDING_FEATURES_HEADER_1_P: "如何搭建自己的门户网站,塑造一个品牌展示中心?
曾经,它是系统繁重的Wordpress、是操作复杂的Hexo、是昂贵且不稳定的技术团队;
现在,只要一个Notion笔记就够了", + LANDING_FEATURES_HEADER_2: 'Notion+NextJs组合方案', + LANDING_FEATURES_HEADER_2_P: '在Notion笔记中管理文章数据,NextJs将其渲染成网页排版,通过Vercel等第三方平台将您的网站发布到全球。', + LANDING_FEATURES_CARD_1_TITLE: '简单快速的系统', + LANDING_FEATURES_CARD_1_P: '在Notion中写下一篇文章,内容立刻在您的网站首页中呈现给互联网', + LANDING_FEATURES_CARD_2_TITLE: '高效传播的媒介', + LANDING_FEATURES_CARD_2_P: '优秀的SEO、快速的响应速度,让您的产品和宣传触达到更多的受众', + LANDING_FEATURES_CARD_3_TITLE: '人性化的定制工具', + LANDING_FEATURES_CARD_3_P: '多款主题供您挑选,可以搭建各种不同风格和作用的网站,更多的主题正在陆续加入中。', // 特性介绍2 - FEATURES_BLOCK_HEADER: '解决方案', - FEATURES_BLOCK_P: '人人自媒体的时代,一个网站将帮您链接更多的人,带给你无限的机会和客户。
您还在等什么呢?', - FEATURES_BLOCK_1_TITLE: '用网站来展示品牌', - FEATURES_BLOCK_1_P: '比起线下渠道、一个公开域名和网站更有说服力', - FEATURES_BLOCK_2_TITLE: 'SEO带来更多流量', - FEATURES_BLOCK_2_P: '借助搜索引擎,精准定位您的受众', - FEATURES_BLOCK_3_TITLE: '网站的性能很重要', - FEATURES_BLOCK_3_P: '更快的响应,更好的用户体验', - FEATURES_BLOCK_4_TITLE: '打造您的个人品牌', - FEATURES_BLOCK_4_P: '继马斯克、乔布斯之后,您将是下一个传奇', - FEATURES_BLOCK_5_TITLE: '写作表达是核心技能', - FEATURES_BLOCK_5_P: '比起只阅读输入,更重要的是反思和输出', - FEATURES_BLOCK_6_TITLE: '开始写博客吧', - FEATURES_BLOCK_6_P: 'NotionNext,助您轻松开始写作', + LANDING_FEATURES_BLOCK_HEADER: '解决方案', + LANDING_FEATURES_BLOCK_P: '人人自媒体的时代,一个网站将帮您链接更多的人,带给你无限的机会和客户。
您还在等什么呢?', + LANDING_FEATURES_BLOCK_1_TITLE: '用网站来展示品牌', + LANDING_FEATURES_BLOCK_1_P: '比起线下渠道、一个公开域名和网站更有说服力', + LANDING_FEATURES_BLOCK_2_TITLE: 'SEO带来更多流量', + LANDING_FEATURES_BLOCK_2_P: '借助搜索引擎,精准定位您的受众', + LANDING_FEATURES_BLOCK_3_TITLE: '网站的性能很重要', + LANDING_FEATURES_BLOCK_3_P: '更快的响应,更好的用户体验', + LANDING_FEATURES_BLOCK_4_TITLE: '打造您的个人品牌', + LANDING_FEATURES_BLOCK_4_P: '继马斯克、乔布斯之后,您将是下一个传奇', + LANDING_FEATURES_BLOCK_5_TITLE: '写作表达是核心技能', + LANDING_FEATURES_BLOCK_5_P: '比起只阅读输入,更重要的是反思和输出', + LANDING_FEATURES_BLOCK_6_TITLE: '开始写博客吧', + LANDING_FEATURES_BLOCK_6_P: 'NotionNext,助您轻松开始写作', // 感言 - TESTIMONIALS_HEADER: '已搭建超5300个网站、总浏览量突破100,000,000+', - TESTIMONIALS_P: '网站内容涵盖地产、教育、建筑、医学、机械、IT、电子、软件、自媒体、数位游民、短视频、电商、学生、摄影爱好者、旅行爱好者等等各行各业', + LANDING_TESTIMONIALS_HEADER: '已搭建超5300个网站、总浏览量突破100,000,000+', + LANDING_TESTIMONIALS_P: '网站内容涵盖地产、教育、建筑、医学、机械、IT、电子、软件、自媒体、数位游民、短视频、电商、学生、摄影爱好者、旅行爱好者等等各行各业', - TESTIMONIALS_AVATAR: 'https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F22de3fcb-d90d-4271-bc01-f815f476122b%2F4FE0A0C0-E487-4C74-BF8E-6F01A27461B8-14186-000008094BC289A6.jpg?table=collection&id=a320a2cc-6ebe-4a8d-95cc-ea94e63bced9&width=200', - TESTIMONIALS_NICKNAME: 'Ryan_G', - TESTIMONIALS_ID: 'Ryan`Log 站长', - TESTIMONIALS_SOCIAL_NAME: '@Gaoran', - TESTIMONIALS_SOCIAL_URL: 'https://blog.gaoran.xyz/', - TESTIMONIALS_WORD: '“ 感谢大佬的方法。之前尝试过Super、Potion等国外的第三方平台,实现效果一般,个性化程度远不如这个方法,已经用起来了! “', + LANDING_TESTIMONIALS_AVATAR: 'https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F22de3fcb-d90d-4271-bc01-f815f476122b%2F4FE0A0C0-E487-4C74-BF8E-6F01A27461B8-14186-000008094BC289A6.jpg?table=collection&id=a320a2cc-6ebe-4a8d-95cc-ea94e63bced9&width=200', + LANDING_TESTIMONIALS_NICKNAME: 'Ryan_G', + LANDING_TESTIMONIALS_ID: 'Ryan`Log 站长', + LANDING_TESTIMONIALS_SOCIAL_NAME: '@Gaoran', + LANDING_TESTIMONIALS_SOCIAL_URL: 'https://blog.gaoran.xyz/', + LANDING_TESTIMONIALS_WORD: '“ 感谢大佬的方法。之前尝试过Super、Potion等国外的第三方平台,实现效果一般,个性化程度远不如这个方法,已经用起来了! “', - POST_REDIRECT_ENABLE: process.env.NEXT_PUBLIC_POST_REDIRECT_ENABLE || false, // 是否开启文章地址重定向 ; 用于迁移旧网站域名 - POST_REDIRECT_URL: process.env.NEXT_PUBLIC_POST_REDIRECT_URL || 'https://blog.tangly1024.com', // 重定向网站地址 + LANDING_POST_REDIRECT_ENABLE: process.env.NEXT_PUBLIC_POST_REDIRECT_ENABLE || false, // 是否开启文章地址重定向 ; 用于迁移旧网站域名 + LANDING_POST_REDIRECT_URL: process.env.NEXT_PUBLIC_POST_REDIRECT_URL || 'https://blog.tangly1024.com', // 重定向网站地址 - NEWSLETTER: process.env.NEXT_PUBLIC_THEME_LANDING_NEWSLETTER || false // 是否开启邮件订阅 请先配置mailchimp功能 https://docs.tangly1024.com/article/notion-next-mailchimp + LANDING_NEWSLETTER: process.env.NEXT_PUBLIC_THEME_LANDING_NEWSLETTER || false // 是否开启邮件订阅 请先配置mailchimp功能 https://docs.tangly1024.com/article/notion-next-mailchimp } export default CONFIG diff --git a/themes/landing/index.js b/themes/landing/index.js index d5a4f194..a15710e1 100644 --- a/themes/landing/index.js +++ b/themes/landing/index.js @@ -81,8 +81,8 @@ const LayoutIndex = (props) => { const LayoutSlug = (props) => { // 如果 是 /article/[slug] 的文章路径则进行重定向到另一个域名 const router = useRouter() - if (JSON.parse(CONFIG.POST_REDIRECT_ENABLE) && isBrowser && router.route == '/[prefix]/[slug]') { - const redirectUrl = CONFIG.POST_REDIRECT_URL + router.asPath.replace('?theme=landing', '') + if (JSON.parse(siteConfig('LANDING_POST_REDIRECT_ENABLE', null, CONFIG)) && isBrowser && router.route == '/[prefix]/[slug]') { + const redirectUrl = siteConfig('LANDING_POST_REDIRECT_URL', null, CONFIG) + router.asPath.replace('?theme=landing', '') router.push(redirectUrl) return