diff --git a/README.md b/README.md
index 5621da75..aa972080 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
访问帮助:[NotionNext帮助手册](https://docs.tangly1024.com/)
-> 本项目教程为免费、公开资源,仅限个人学习使用。严禁任何个人或组织将本教程用于商业用途,包括但不限于直接售卖、间接收费、或其他变相盈利行为。转载、复制或介绍本教程内容时,须保留作者信息并明确注明来源。
+> 本项目教程为免费、公开资源,仅限个人学习使用,禁止利用本教程建立的博客发布非法内容、进行违法犯罪活动。严禁任何个人或组织将本教程用于商业用途,包括但不限于直接售卖、间接收费、或其他变相盈利行为。转载、复制或介绍本教程内容时,须保留作者信息并明确注明来源。
> 本项目仅提供由作者团队授权的付费咨询服务,请注意辨别,谨防诈骗行为。任何未经授权的收费服务均可能存在法律风险。
Notion是一个能让效率暴涨的生产力引擎,可以帮你书写文档、管理笔记,搭建知识库,甚至可以为你规划项目、时间管理、组织团队、提高生产力、还有当前最强大的AI技术加持。
diff --git a/components/DebugPanel.js b/components/DebugPanel.js
index 845da502..a0264eb1 100644
--- a/components/DebugPanel.js
+++ b/components/DebugPanel.js
@@ -1,10 +1,10 @@
-import { useEffect, useState } from 'react'
-import Select from './Select'
+import { siteConfigMap } from '@/lib/config'
import { useGlobal } from '@/lib/global'
+import { getQueryParam } from '@/lib/utils'
import { THEMES } from '@/themes/theme'
import { useRouter } from 'next/router'
-import { siteConfigMap } from '@/lib/config'
-import { getQueryParam } from '@/lib/utils'
+import { useEffect, useState } from 'react'
+import Select from './Select'
/**
*
@@ -50,79 +50,83 @@ const DebugPanel = () => {
}
return (
- <>
- {/* 调试按钮 */}
-
-
- {show
- ? {locale.COMMON.DEBUG_CLOSE}
- : {locale.COMMON.DEBUG_OPEN}}
-
-
+ <>
+ {/* 调试按钮 */}
+
+
+ {show ? (
+ {locale.COMMON.DEBUG_CLOSE}
+ ) : (
+ {locale.COMMON.DEBUG_OPEN}
+ )}
+
+
- {/* 调试侧拉抽屉 */}
+ {/* 调试侧拉抽屉 */}
+
+
+
+
-
-
-
- {/*
-
- 主题配置{`config_${debugTheme}.js`}:
-
-
- {Object.keys(themeConfig).map(k => (
-
-
- {k}
-
-
- {filterResult(themeConfig[k] + '')}
-
-
- ))}
-
-
*/}
-
- 站点配置[blog.config.js]
-
-
- {siteConfig && Object.keys(siteConfig).map(k => (
-
-
- {k}
-
-
- {filterResult(siteConfig[k] + '')}
-
-
- ))}
-
-
-
+ className='p-2 cursor-pointer'
+ onClick={handleChangeDebugTheme}>
+
- >
+
+
+
+
+
+
+
+
+ {/*
+
+
+ 主题配置{`config_${debugTheme}.js`}:
+
+
+ {Object.keys(themeConfig).map(k => (
+
+
+ {k}
+
+
+ {filterResult(themeConfig[k] + '')}
+
+
+ ))}
+
+
+ */}
+
+ 站点配置[blog.config.js]
+
+
+ {siteConfig &&
+ Object.keys(siteConfig).map(k => (
+
+
+ {k}
+
+
+ {filterResult(siteConfig[k] + '')}
+
+
+ ))}
+
+
+
+ >
)
}
export default DebugPanel
diff --git a/components/ExternalPlugins.js b/components/ExternalPlugins.js
index 65932a39..fd92820e 100644
--- a/components/ExternalPlugins.js
+++ b/components/ExternalPlugins.js
@@ -11,6 +11,8 @@ import Head from 'next/head'
import ExternalScript from './ExternalScript'
import WebWhiz from './Webwhiz'
import { useGlobal } from '@/lib/global'
+import IconFont from './IconFont'
+
/**
* 各种插件脚本
@@ -126,6 +128,8 @@ const ExternalPlugin = props => {
NOTION_CONFIG
)
+ const ENABLE_ICON_FONT = siteConfig('ENABLE_ICON_FONT', false)
+
// 自定义样式css和js引入
if (isBrowser) {
// 初始化AOS动画
@@ -186,6 +190,7 @@ const ExternalPlugin = props => {
<>
{/* 全局样式嵌入 */}
+ {ENABLE_ICON_FONT && }
{MOUSE_FOLLOW && }
{THEME_SWITCH && }
{DEBUG && }
diff --git a/components/IconFont.js b/components/IconFont.js
new file mode 100644
index 00000000..ddf15d48
--- /dev/null
+++ b/components/IconFont.js
@@ -0,0 +1,54 @@
+import { siteConfig } from '@/lib/config'
+import { loadExternalResource } from '@/lib/utils'
+import { useRouter } from 'next/router'
+import { useEffect } from 'react'
+
+/**
+ * iconfont
+ */
+export default function IconFont() {
+ const router = useRouter()
+
+ useEffect(() => {
+ loadExternalResource('/webfonts/iconfont.js').then(u => {
+ console.log('iconfont loaded')
+
+ // 查找所有 标签且 class 包含 'icon-'
+ const iElements = document.querySelectorAll('i[class*="icon-"]');
+ iElements.forEach(element => {
+ const className = Array.from(element.classList).find(cls => cls.startsWith('icon-'));
+ if (className) {
+ // 创建新的