diff --git a/components/ExternalPlugins.js b/components/ExternalPlugins.js
index 4e1f7072..ca058428 100644
--- a/components/ExternalPlugins.js
+++ b/components/ExternalPlugins.js
@@ -10,6 +10,7 @@ import { initGoogleAdsense } from './GoogleAdsense'
import Head from 'next/head'
import ExternalScript from './ExternalScript'
import WebWhiz from './Webwhiz'
+import IconFont from './IconFont'
/**
* 各种插件脚本
@@ -124,6 +125,8 @@ const ExternalPlugin = props => {
NOTION_CONFIG
)
+ const ENABLE_ICON_FONT = siteConfig('ENABLE_ICON_FONT', false)
+
// 自定义样式css和js引入
if (isBrowser) {
// 初始化AOS动画
@@ -184,6 +187,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) {
+ // 创建新的