From e7453b054ed3887993d3c4e634e6df68ff38c344 Mon Sep 17 00:00:00 2001 From: tangly1024 Date: Sun, 21 Jan 2024 11:56:38 +0800 Subject: [PATCH] TianliGPT --- blog.config.js | 5 +++++ components/Artalk.js | 4 +--- components/ExternalPlugins.js | 3 +++ components/TianliGPT.js | 41 +++++++++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 components/TianliGPT.js diff --git a/blog.config.js b/blog.config.js index 699e0962..29bc46f6 100644 --- a/blog.config.js +++ b/blog.config.js @@ -185,6 +185,11 @@ const BLOG = { STARRY_SKY: process.env.NEXT_PUBLIC_STARRY_SKY || false, // 开关 // ********挂件组件相关******** + // AI 文章摘要生成 @see https://docs_s.tianli0.top/ + TianliGPT_CSS: process.env.NEXT_PUBLIC_TIANLI_GPT_CSS || 'https://cdn1.tianli0.top/gh/zhheo/Post-Abstract-AI@0.15.2/tianli_gpt.css', + TianliGPT_JS: process.env.NEXT_PUBLIC_TIANLI_GPT_JS || 'https://cdn1.tianli0.top/gh/zhheo/Post-Abstract-AI@0.15.2/tianli_gpt.js', + TianliGPT_KEY: process.env.NEXT_PUBLIC_TIANLI_GPT_KEY || '', + // Chatbase 是否显示chatbase机器人 https://www.chatbase.co/ CHATBASE_ID: process.env.NEXT_PUBLIC_CHATBASE_ID || null, // WebwhizAI 机器人 @see https://github.com/webwhiz-ai/webwhiz diff --git a/components/Artalk.js b/components/Artalk.js index a53f18f7..e44edaab 100644 --- a/components/Artalk.js +++ b/components/Artalk.js @@ -1,11 +1,9 @@ import { siteConfig } from '@/lib/config' import { loadExternalResource } from '@/lib/utils' -// import { loadExternalResource } from '@/lib/utils' import { useEffect } from 'react' /** - * Giscus评论 @see https://giscus.app/zh-CN - * Contribute by @txs https://github.com/txs/NotionNext/commit/1bf7179d0af21fb433e4c7773504f244998678cb + * Artalk 自托管评论系统 @see https://artalk.js.org/ * @returns {JSX.Element} * @constructor */ diff --git a/components/ExternalPlugins.js b/components/ExternalPlugins.js index bbfba4f3..0ec4e0d9 100644 --- a/components/ExternalPlugins.js +++ b/components/ExternalPlugins.js @@ -2,6 +2,7 @@ import { siteConfig } from '@/lib/config' import dynamic from 'next/dynamic' import LA51 from './LA51' import WebWhiz from './Webwhiz' +import TianLiGPT from './TianliGPT' const TwikooCommentCounter = dynamic(() => import('@/components/TwikooCommentCounter'), { ssr: false }) const DebugPanel = dynamic(() => import('@/components/DebugPanel'), { ssr: false }) @@ -71,6 +72,7 @@ const ExternalPlugin = (props) => { const ANALYTICS_51LA_ID = siteConfig('ANALYTICS_51LA_ID') const ANALYTICS_51LA_CK = siteConfig('ANALYTICS_51LA_CK') const DIFY_CHATBOT_ENABLED = siteConfig('DIFY_CHATBOT_ENABLED') + const TIANLI_KEY = siteConfig('TianliGPT_KEY') if (DISABLE_PLUGIN) { return null @@ -98,6 +100,7 @@ const ExternalPlugin = (props) => { {!CAN_COPY && } {WEB_WHIZ_ENABLED && } {AD_WWADS_BLOCK_DETECT && } + {TIANLI_KEY && } diff --git a/components/TianliGPT.js b/components/TianliGPT.js new file mode 100644 index 00000000..e90259a2 --- /dev/null +++ b/components/TianliGPT.js @@ -0,0 +1,41 @@ +/* eslint-disable no-unused-vars */ +/* eslint-disable camelcase */ +import { siteConfig } from '@/lib/config' +import { loadExternalResource } from '@/lib/utils' +import { useEffect } from 'react' +/** + * TianliGpt AI文章摘要生成工具 @see https://docs_s.tianli0.top/ + * @returns {JSX.Element} + * @constructor + */ + +const TianLiGPT = () => { + const tianliKey = siteConfig('TianliGPT_KEY') + const tianliCss = siteConfig('TianliGPT_CSS') + const tianliJs = siteConfig('TianliGPT_JS') + + useEffect(() => { + initArtalk() + }, []) + + if (!tianliKey) { + return null + } + + const initArtalk = async () => { + console.log('loading tianliGPT', tianliKey, tianliCss, tianliJs) + + if (!tianliKey) { + return + } + await loadExternalResource(tianliCss, 'css') + + window.tianliGPT_postSelector = '#notion-article'; + window.tianliGPT_key = 'f50e6b018a094fbb0d7c'; + + await loadExternalResource(tianliJs, 'js') + } + return <> +} + +export default TianLiGPT