Landing 主题重定向

This commit is contained in:
tangly1024.com
2023-08-10 16:08:53 +08:00
parent d1268ea1bf
commit 89b6ad7a06
2 changed files with 28 additions and 7 deletions

View File

@@ -57,6 +57,9 @@ const CONFIG = {
TESTIMONIALS_SOCIAL_URL: 'https://blog.gaoran.xyz/',
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', // 重定向网站地址
NEWSLETTER: process.env.NEXT_PUBLIC_THEME_LANDING_NEWSLETTER || false // 是否开启邮件订阅 请先配置mailchimp功能 https://docs.tangly1024.com/article/notion-next-mailchimp
}
export default CONFIG

View File

@@ -15,6 +15,9 @@ import FeaturesBlocks from './components/FeaturesBlocks'
import Testimonials from './components/Testimonials'
import Newsletter from './components/Newsletter'
import CommonHead from '@/components/CommonHead'
import { useRouter } from 'next/router'
import CONFIG from './config'
import Loading from '@/components/Loading'
/**
* 这是个配置文件,可以方便在此统一配置信息
@@ -31,8 +34,8 @@ const THEME_CONFIG = { THEME: 'landing' }
const LayoutBase = (props) => {
const { meta, siteInfo, children } = props
return <div id='theme-blank' className="overflow-hidden flex flex-col justify-between bg-white">
return <div id='theme-landing' className="overflow-hidden flex flex-col justify-between bg-white">
{/* 网页SEO */}
<CommonHead meta={meta} siteInfo={siteInfo} />
@@ -72,11 +75,26 @@ const LayoutIndex = (props) => {
* @param {*} props
* @returns
*/
const LayoutSlug = (props) => <LayoutBase {...props}>
<div id='container-inner' className='mx-auto max-w-screen-lg p-12'>
<NotionPage {...props} />
</div>
</LayoutBase>
const LayoutSlug = (props) => {
// 如果 是 /article/[slug] 的文章路径则进行重定向到另一个域名
const router = useRouter()
if (JSON.parse(CONFIG.POST_REDIRECT_ENABLE) && router.route == '/[prefix]/[slug]') {
const redirectUrl = CONFIG.POST_REDIRECT_URL + router.asPath.replace('?theme=landing', '')
console.log('重定向到博客域名', redirectUrl)
router.push(redirectUrl)
return <div id='theme-landing'><Loading /></div>
}
return <LayoutBase {...props}>
<div id='container-inner' className='mx-auto max-w-screen-lg p-12'>
<NotionPage {...props} />
</div>
</LayoutBase>
}
// 其他布局暂时留空
const LayoutSearch = (props) => <LayoutBase {...props}><Hero /></LayoutBase>