diff --git a/components/DebugPanel.js b/components/DebugPanel.js
index 55c4a465..56fc8ce8 100644
--- a/components/DebugPanel.js
+++ b/components/DebugPanel.js
@@ -8,7 +8,7 @@ import { useGlobal } from '@/lib/global'
*
* @returns 调试面板
*/
-export function DebugPanel() {
+const DebugPanel = () => {
const [show, setShow] = useState(false)
const { theme, changeTheme, switchTheme, locale } = useGlobal()
const [siteConfig, updateSiteConfig] = useState({})
@@ -128,3 +128,4 @@ export function DebugPanel() {
>
)
}
+export default DebugPanel
diff --git a/components/ExternalPlugins.js b/components/ExternalPlugins.js
new file mode 100644
index 00000000..235472d8
--- /dev/null
+++ b/components/ExternalPlugins.js
@@ -0,0 +1,58 @@
+import BLOG from 'blog.config'
+import dynamic from 'next/dynamic'
+
+// import TwikooCommentCounter from '@/components/TwikooCommentCounter'
+// import { DebugPanel } from '@/components/DebugPanel'
+// import { ThemeSwitch } from '@/components/ThemeSwitch'
+// import { Fireworks } from '@/components/Fireworks'
+// import { Nest } from '@/components/Nest'
+// import { FlutteringRibbon } from '@/components/FlutteringRibbon'
+// import { Ribbon } from '@/components/Ribbon'
+// import { Sakura } from '@/components/Sakura'
+// import { StarrySky } from '@/components/StarrySky'
+// import { Analytics } from '@vercel/analytics/react'
+
+const TwikooCommentCounter = dynamic(() => import('@/components/TwikooCommentCounter'), { ssr: false })
+const DebugPanel = dynamic(() => import('@/components/DebugPanel'), { ssr: false })
+const ThemeSwitch = dynamic(() => import('@/components/ThemeSwitch'), { ssr: false })
+const Fireworks = dynamic(() => import('@/components/Fireworks'), { ssr: false })
+const Nest = dynamic(() => import('@/components/Nest'), { ssr: false })
+const FlutteringRibbon = dynamic(() => import('@/components/FlutteringRibbon'), { ssr: false })
+const Ribbon = dynamic(() => import('@/components/Ribbon'), { ssr: false })
+const Sakura = dynamic(() => import('@/components/Sakura'), { ssr: false })
+const StarrySky = dynamic(() => import('@/components/StarrySky'), { ssr: false })
+const Analytics = dynamic(() => import('@vercel/analytics/react').then(async (m) => { return m.Analytics }), { ssr: false })
+const MusicPlayer = dynamic(() => import('@/components/Player'), { ssr: false })
+const Ackee = dynamic(() => import('@/components/Ackee'), { ssr: false })
+const Gtag = dynamic(() => import('@/components/Gtag'), { ssr: false })
+const Busuanzi = dynamic(() => import('@/components/Busuanzi'), { ssr: false })
+const GoogleAdsense = dynamic(() => import('@/components/GoogleAdsense'), { ssr: false })
+const Messenger = dynamic(() => import('@/components/FacebookMessenger'), { ssr: false })
+
+/**
+ * 各种第三方组件
+ * @param {*} props
+ * @returns
+ */
+const ExternalPlugin = (props) => {
+ return <>
+ {JSON.parse(BLOG.THEME_SWITCH) && }
+ {JSON.parse(BLOG.DEBUG) && }
+ {BLOG.ANALYTICS_ACKEE_TRACKER && }
+ {BLOG.ANALYTICS_GOOGLE_ID && }
+ {BLOG.ANALYTICS_VERCEL && }
+ {JSON.parse(BLOG.ANALYTICS_BUSUANZI_ENABLE) && }
+ {BLOG.ADSENSE_GOOGLE_ID && }
+ {BLOG.FACEBOOK_APP_ID && BLOG.FACEBOOK_PAGE_ID && }
+ {JSON.parse(BLOG.FIREWORKS) && }
+ {JSON.parse(BLOG.SAKURA) && }
+ {JSON.parse(BLOG.STARRY_SKY) && }
+ {JSON.parse(BLOG.MUSIC_PLAYER) && }
+ {JSON.parse(BLOG.NEST) && }
+ {JSON.parse(BLOG.FLUTTERINGRIBBON) && }
+ {JSON.parse(BLOG.COMMENT_TWIKOO_COUNT_ENABLE) && }
+ {JSON.parse(BLOG.RIBBON) && }
+ >
+}
+
+export default ExternalPlugin
diff --git a/components/Fireworks.js b/components/Fireworks.js
index 8235baa7..d6b9a650 100644
--- a/components/Fireworks.js
+++ b/components/Fireworks.js
@@ -2,16 +2,17 @@
* https://codepen.io/juliangarnier/pen/gmOwJX
* custom by hexo-theme-yun @YunYouJun
*/
-import React from 'react'
+import { useEffect } from 'react'
import anime from 'animejs'
import BLOG from 'blog.config'
-export const Fireworks = () => {
- React.useEffect(() => {
+const Fireworks = () => {
+ useEffect(() => {
createFireworks({})
}, [])
return
}
+export default Fireworks
/**
* 创建烟花
diff --git a/components/FlutteringRibbon.js b/components/FlutteringRibbon.js
index 301fbd23..eb0f03e0 100644
--- a/components/FlutteringRibbon.js
+++ b/components/FlutteringRibbon.js
@@ -1,5 +1,5 @@
/* eslint-disable */
-import React from 'react'
+import { useEffect } from 'react'
const id = 'canvasFlutteringRibbon'
export const FlutteringRibbon = () => {
const destroyRibbon = ()=>{
@@ -9,15 +9,17 @@ export const FlutteringRibbon = () => {
}
}
- React.useEffect(() => {
+ useEffect(() => {
createFlutteringRibbon()
return () => destroyRibbon()
}, [])
return <>>
-
}
+export default FlutteringRibbon
+
+
/**
* 创建连接点
* @param config
diff --git a/components/MusicPlayer.js b/components/MusicPlayer.js
deleted file mode 100644
index 7e788639..00000000
--- a/components/MusicPlayer.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import dynamic from 'next/dynamic'
-
-const MusicPlayer = dynamic(
- () => import('@/components/Player'),
- { ssr: false }
-)
-export default MusicPlayer
diff --git a/components/Nest.js b/components/Nest.js
index 74fa85e3..47453ad2 100644
--- a/components/Nest.js
+++ b/components/Nest.js
@@ -1,7 +1,7 @@
/* eslint-disable */
import { useEffect } from 'react'
const id = 'canvasNestCreated'
-export const Nest = () => {
+const Nest = () => {
const destroyNest = ()=>{
const nest = document.getElementById(id)
if(nest && nest.parentNode){
@@ -16,6 +16,8 @@ export const Nest = () => {
return <>>
}
+export default Nest
+
/**
* 创建连接点
* @param config
diff --git a/components/Ribbon.js b/components/Ribbon.js
index 2c6855fc..468cf443 100644
--- a/components/Ribbon.js
+++ b/components/Ribbon.js
@@ -2,7 +2,7 @@
import { useEffect } from 'react'
const id = 'canvasRibbon'
-export const Ribbon = () => {
+const Ribbon = () => {
const destroyRibbon = ()=>{
const ribbon = document.getElementById(id)
if(ribbon && ribbon.parentNode){
@@ -17,6 +17,8 @@ export const Ribbon = () => {
return <>>
}
+export default Ribbon
+
/**
* 创建连接点
* @param config
diff --git a/components/Sakura.js b/components/Sakura.js
index 7898b3cc..aed87cc0 100644
--- a/components/Sakura.js
+++ b/components/Sakura.js
@@ -1,7 +1,7 @@
/* eslint-disable */
import { useEffect } from 'react'
const id = 'canvas_sakura'
-export const Sakura = () => {
+const Sakura = () => {
const destroySakura = ()=>{
const sakura = document.getElementById(id)
if(sakura && sakura.parentNode){
@@ -16,6 +16,8 @@ export const Sakura = () => {
return <>>
}
+export default Sakura
+
/**
* 创建樱花雨
* @param config
diff --git a/components/StarrySky.js b/components/StarrySky.js
index 4cb5c8a5..5479df93 100644
--- a/components/StarrySky.js
+++ b/components/StarrySky.js
@@ -1,7 +1,7 @@
/* eslint-disable */
import React from 'react'
-export const StarrySky = () => {
+const StarrySky = () => {
React.useEffect(() => {
dark()
}, [])
@@ -12,6 +12,7 @@ export const StarrySky = () => {
)
}
+export default StarrySky
/**
* 创建星空雨
* @param config
diff --git a/components/ThemeSwitch.js b/components/ThemeSwitch.js
index 6265e035..2540815c 100644
--- a/components/ThemeSwitch.js
+++ b/components/ThemeSwitch.js
@@ -6,7 +6,7 @@ import { Draggable } from './Draggable'
*
* @returns 主题切换
*/
-export function ThemeSwitch() {
+const ThemeSwitch = () => {
const { theme, changeTheme } = useGlobal()
const onSelectChange = (e) => {
@@ -30,3 +30,5 @@ export function ThemeSwitch() {
>
)
}
+
+export default ThemeSwitch
diff --git a/pages/_app.js b/pages/_app.js
index 9f83f261..41fc3de3 100644
--- a/pages/_app.js
+++ b/pages/_app.js
@@ -1,6 +1,4 @@
-import BLOG from 'blog.config'
-import React, { useEffect } from 'react'
-import dynamic from 'next/dynamic'
+import { useEffect } from 'react'
import 'animate.css'
import '@/styles/globals.css'
@@ -11,56 +9,21 @@ import 'react-notion-x/src/styles.css'
import '@/styles/notion.css' // 重写部分样式
import { GlobalContextProvider } from '@/lib/global'
-import { DebugPanel } from '@/components/DebugPanel'
-import { ThemeSwitch } from '@/components/ThemeSwitch'
-import { Fireworks } from '@/components/Fireworks'
-import { Nest } from '@/components/Nest'
-import { FlutteringRibbon } from '@/components/FlutteringRibbon'
-import { Ribbon } from '@/components/Ribbon'
-import { Sakura } from '@/components/Sakura'
-import { StarrySky } from '@/components/StarrySky'
-import MusicPlayer from '@/components/MusicPlayer'
-import ExternalScript from '@/components/ExternalScript'
-import smoothscroll from 'smoothscroll-polyfill'
-import { Analytics } from '@vercel/analytics/react'
+import { isMobile } from '@/lib/utils'
import AOS from 'aos'
import 'aos/dist/aos.css' // You can also use for styles
-import { isMobile } from '@/lib/utils'
-import TwikooCommentCounter from '@/components/TwikooCommentCounter'
-const Ackee = dynamic(() => import('@/components/Ackee'), { ssr: false })
-const Gtag = dynamic(() => import('@/components/Gtag'), { ssr: false })
-const Busuanzi = dynamic(() => import('@/components/Busuanzi'), { ssr: false })
-const GoogleAdsense = dynamic(() => import('@/components/GoogleAdsense'), {
- ssr: false
-})
-const Messenger = dynamic(() => import('@/components/FacebookMessenger'), {
- ssr: false
-})
+import smoothscroll from 'smoothscroll-polyfill'
+import dynamic from 'next/dynamic'
+
+// 自定义样式css和js引入
+import ExternalScript from '@/components/ExternalScript'
+
+// 各种扩展插件 动画等
+const ExternalPlugins = dynamic(() => import('@/components/ExternalPlugins'))
const MyApp = ({ Component, pageProps }) => {
- // 外部插件
- const externalPlugins = <>
- {JSON.parse(BLOG.THEME_SWITCH) && }
- {JSON.parse(BLOG.DEBUG) && }
- {BLOG.ANALYTICS_ACKEE_TRACKER && }
- {BLOG.ANALYTICS_GOOGLE_ID && }
- {BLOG.ANALYTICS_VERCEL && }
- {JSON.parse(BLOG.ANALYTICS_BUSUANZI_ENABLE) && }
- {BLOG.ADSENSE_GOOGLE_ID && }
- {BLOG.FACEBOOK_APP_ID && BLOG.FACEBOOK_PAGE_ID && }
- {JSON.parse(BLOG.FIREWORKS) && }
- {JSON.parse(BLOG.SAKURA) && }
- {JSON.parse(BLOG.STARRY_SKY) && }
- {JSON.parse(BLOG.MUSIC_PLAYER) && }
- {JSON.parse(BLOG.NEST) && }
- {JSON.parse(BLOG.FLUTTERINGRIBBON) && }
- {JSON.parse(BLOG.COMMENT_TWIKOO_COUNT_ENABLE) && }
- {JSON.parse(BLOG.RIBBON) && }
-
- >
-
useEffect(() => {
AOS.init()
if (isMobile()) {
@@ -71,7 +34,8 @@ const MyApp = ({ Component, pageProps }) => {
return (
- {externalPlugins}
+
+
)
}
diff --git a/themes/index.js b/themes/index.js
index 7f87efb1..5316dee4 100644
--- a/themes/index.js
+++ b/themes/index.js
@@ -1,32 +1,32 @@
/**
* 切换主题请修改 blog.config.js 中的 THEME 字段
*/
-import * as next from './next'
-import * as fukasawa from './fukasawa'
import * as hexo from './hexo'
-import * as medium from './medium'
-import * as nobelium from './nobelium'
-import * as matery from './matery'
-import * as example from './example'
-import * as simple from './simple'
+// import * as next from './next'
+// import * as fukasawa from './fukasawa'
+// import * as medium from './medium'
+// import * as nobelium from './nobelium'
+// import * as matery from './matery'
+// import * as example from './example'
+// import * as simple from './simple'
export const ALL_THEME = [
- 'hexo',
- 'matery',
- 'next',
- 'medium',
- 'fukasawa',
- 'nobelium',
- 'example',
- 'simple'
+ 'hexo'
+// 'matery',
+// 'next',
+// 'medium',
+// 'fukasawa',
+// 'nobelium',
+// 'example',
+// 'simple'
]
export {
- hexo,
- next,
- medium,
- fukasawa,
- nobelium,
- matery,
- example,
- simple
+ hexo
+// next,
+// medium,
+// fukasawa,
+// nobelium,
+// matery,
+// example,
+// simple
}