mirror of
https://github.com/d0zingcat/NotionNext.git
synced 2026-06-09 07:26:47 +00:00
@@ -8,6 +8,7 @@ import { GlobalStyle } from './GlobalStyle'
|
|||||||
import { initGoogleAdsense } from './GoogleAdsense'
|
import { initGoogleAdsense } from './GoogleAdsense'
|
||||||
|
|
||||||
import Head from 'next/head'
|
import Head from 'next/head'
|
||||||
|
import ExternalScript from './ExternalScript'
|
||||||
import WebWhiz from './Webwhiz'
|
import WebWhiz from './Webwhiz'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -258,10 +259,10 @@ const ExternalPlugin = props => {
|
|||||||
{/* 提前连接到广告服务器 */}
|
{/* 提前连接到广告服务器 */}
|
||||||
<link rel='preconnect' href='https://cdn.wwads.cn' />
|
<link rel='preconnect' href='https://cdn.wwads.cn' />
|
||||||
</Head>
|
</Head>
|
||||||
<script
|
<ExternalScript
|
||||||
type='text/javascript'
|
type='text/javascript'
|
||||||
src='https://cdn.wwads.cn/js/makemoney.js'
|
src='https://cdn.wwads.cn/js/makemoney.js'
|
||||||
async></script>
|
/>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { isBrowser } from '@/lib/utils'
|
|||||||
* 传入参数将转为 <script>标签。
|
* 传入参数将转为 <script>标签。
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
const ExternalScript = (props) => {
|
const ExternalScript = props => {
|
||||||
const { src } = props
|
const { src } = props
|
||||||
if (!isBrowser || !src) {
|
if (!isBrowser || !src) {
|
||||||
return null
|
return null
|
||||||
@@ -22,7 +22,7 @@ const ExternalScript = (props) => {
|
|||||||
script.setAttribute(key, value)
|
script.setAttribute(key, value)
|
||||||
})
|
})
|
||||||
document.head.appendChild(script)
|
document.head.appendChild(script)
|
||||||
console.log('加载外部脚本', props, script)
|
// console.log('加载外部脚本', props, script)
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,32 @@ const SEO = props => {
|
|||||||
let image
|
let image
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const meta = getSEOMeta(props, router, useGlobal()?.locale)
|
const meta = getSEOMeta(props, router, useGlobal()?.locale)
|
||||||
|
const webFontUrl = siteConfig('FONT_URL')
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
// 使用WebFontLoader字体加载
|
||||||
|
loadExternalResource(
|
||||||
|
'https://cdnjs.cloudflare.com/ajax/libs/webfont/1.6.28/webfontloader.js',
|
||||||
|
'js'
|
||||||
|
).then(url => {
|
||||||
|
const WebFont = window?.WebFont
|
||||||
|
if (WebFont) {
|
||||||
|
// console.log('LoadWebFont', webFontUrl)
|
||||||
|
WebFont.load({
|
||||||
|
custom: {
|
||||||
|
// families: ['"LXGW WenKai"'],
|
||||||
|
urls: webFontUrl
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
// SEO关键词
|
||||||
|
let keywords = meta?.tags || siteConfig('KEYWORDS')
|
||||||
|
if (post?.tags && post?.tags?.length > 0) {
|
||||||
|
keywords = post?.tags?.join(',')
|
||||||
|
}
|
||||||
if (meta) {
|
if (meta) {
|
||||||
url = `${url}/${meta.slug}`
|
url = `${url}/${meta.slug}`
|
||||||
image = meta.image || '/bg_image.jpg'
|
image = meta.image || '/bg_image.jpg'
|
||||||
@@ -28,7 +54,6 @@ const SEO = props => {
|
|||||||
const lang = siteConfig('LANG').replace('-', '_') // Facebook OpenGraph 要 zh_CN 這樣的格式才抓得到語言
|
const lang = siteConfig('LANG').replace('-', '_') // Facebook OpenGraph 要 zh_CN 這樣的格式才抓得到語言
|
||||||
const category = meta?.category || siteConfig('KEYWORDS') // section 主要是像是 category 這樣的分類,Facebook 用這個來抓連結的分類
|
const category = meta?.category || siteConfig('KEYWORDS') // section 主要是像是 category 這樣的分類,Facebook 用這個來抓連結的分類
|
||||||
const favicon = siteConfig('BLOG_FAVICON')
|
const favicon = siteConfig('BLOG_FAVICON')
|
||||||
const webFontUrl = siteConfig('FONT_URL')
|
|
||||||
const BACKGROUND_DARK = siteConfig('BACKGROUND_DARK', '', NOTION_CONFIG)
|
const BACKGROUND_DARK = siteConfig('BACKGROUND_DARK', '', NOTION_CONFIG)
|
||||||
|
|
||||||
const SEO_BAIDU_SITE_VERIFICATION = siteConfig(
|
const SEO_BAIDU_SITE_VERIFICATION = siteConfig(
|
||||||
@@ -68,30 +93,6 @@ const SEO = props => {
|
|||||||
)
|
)
|
||||||
|
|
||||||
const FACEBOOK_PAGE = siteConfig('FACEBOOK_PAGE', null, NOTION_CONFIG)
|
const FACEBOOK_PAGE = siteConfig('FACEBOOK_PAGE', null, NOTION_CONFIG)
|
||||||
// SEO关键词
|
|
||||||
let keywords = meta?.tags || siteConfig('KEYWORDS')
|
|
||||||
if (post?.tags && post?.tags?.length > 0) {
|
|
||||||
keywords = post?.tags?.join(',')
|
|
||||||
}
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
// 使用WebFontLoader字体加载
|
|
||||||
loadExternalResource(
|
|
||||||
'https://cdnjs.cloudflare.com/ajax/libs/webfont/1.6.28/webfontloader.js',
|
|
||||||
'js'
|
|
||||||
).then(url => {
|
|
||||||
const WebFont = window?.WebFont
|
|
||||||
if (WebFont) {
|
|
||||||
// console.log('LoadWebFont', webFontUrl)
|
|
||||||
WebFont.load({
|
|
||||||
custom: {
|
|
||||||
// families: ['"LXGW WenKai"'],
|
|
||||||
urls: webFontUrl
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Head>
|
<Head>
|
||||||
|
|||||||
@@ -6,14 +6,23 @@ import { siteConfig } from '@/lib/config'
|
|||||||
* @param {boolean} sticky - 是否粘性定位
|
* @param {boolean} sticky - 是否粘性定位
|
||||||
* @returns {JSX.Element | null} - 返回渲染的 JSX 元素或 null
|
* @returns {JSX.Element | null} - 返回渲染的 JSX 元素或 null
|
||||||
*/
|
*/
|
||||||
export default function WWAds({ orientation = 'vertical', sticky = false, className }) {
|
export default function WWAds({
|
||||||
|
orientation = 'vertical',
|
||||||
|
sticky = false,
|
||||||
|
className
|
||||||
|
}) {
|
||||||
const AD_WWADS_ID = siteConfig('AD_WWADS_ID')
|
const AD_WWADS_ID = siteConfig('AD_WWADS_ID')
|
||||||
|
|
||||||
if (!AD_WWADS_ID) {
|
if (!AD_WWADS_ID) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
return <div data-id={AD_WWADS_ID} className={`wwads-cn
|
return (
|
||||||
|
<div
|
||||||
|
data-id={AD_WWADS_ID}
|
||||||
|
className={`wwads-cn
|
||||||
${orientation === 'vertical' ? 'wwads-vertical' : 'wwads-horizontal'}
|
${orientation === 'vertical' ? 'wwads-vertical' : 'wwads-horizontal'}
|
||||||
${sticky ? 'wwads-sticky' : ''} z-10 ${className || ''}`} />
|
${sticky ? 'wwads-sticky' : ''} z-10 ${className || ''}`}
|
||||||
|
/>
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,10 +17,6 @@ export const MenuItemCollapse = props => {
|
|||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
if (!link || !link.show) {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
const selected = router.pathname === link.href || router.asPath === link.href
|
const selected = router.pathname === link.href || router.asPath === link.href
|
||||||
|
|
||||||
const toggleShow = () => {
|
const toggleShow = () => {
|
||||||
@@ -36,6 +32,10 @@ export const MenuItemCollapse = props => {
|
|||||||
setOpen(false)
|
setOpen(false)
|
||||||
}, [router])
|
}, [router])
|
||||||
|
|
||||||
|
if (!link || !link.show) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div
|
<div
|
||||||
|
|||||||
@@ -14,10 +14,11 @@ import Swiper from './Swiper'
|
|||||||
const PostListRecommend = ({ latestPosts, allNavPages }) => {
|
const PostListRecommend = ({ latestPosts, allNavPages }) => {
|
||||||
// 获取推荐文章
|
// 获取推荐文章
|
||||||
const recommendPosts = getTopPosts({ latestPosts, allNavPages })
|
const recommendPosts = getTopPosts({ latestPosts, allNavPages })
|
||||||
|
const title = siteConfig('MAGZINE_RECOMMEND_POST_TITLE', '', CONFIG)
|
||||||
|
|
||||||
if (!recommendPosts || recommendPosts.length === 0) {
|
if (!recommendPosts || recommendPosts.length === 0) {
|
||||||
return <PostListEmpty />
|
return <PostListEmpty />
|
||||||
}
|
}
|
||||||
const title = siteConfig('MAGZINE_RECOMMEND_POST_TITLE', '', CONFIG)
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={`w-full py-10 px-2 bg-[#F6F6F1] dark:bg-black`}>
|
<div className={`w-full py-10 px-2 bg-[#F6F6F1] dark:bg-black`}>
|
||||||
|
|||||||
Reference in New Issue
Block a user