diff --git a/.env.local b/.env.local index 48b76dc9..0f9ee7c1 100644 --- a/.env.local +++ b/.env.local @@ -1,2 +1,2 @@ # 环境变量 @see https://www.nextjs.cn/docs/basic-features/environment-variables -NEXT_PUBLIC_VERSION=4.0.18 \ No newline at end of file +NEXT_PUBLIC_VERSION=4.1.0 \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 943cf303..4ea399c0 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -12,23 +12,23 @@ assignees: tangly1024 --> **描述bug** -简单说明bug的现象、相关的错误提示、日志等 +【此项必填】简单说明bug的现象、相关的错误提示、日志等 **复现步骤** -出现这个bug的操作步骤 +【此项必填】出现这个bug的操作步骤 **期望的正常结果** -希望按这个步骤,正常操作结果是什么 +【此项必填】希望按这个步骤,正常操作结果是什么 **截图** -相关的页面,应该的结果 +【可选】相关的页面,应该的结果 **环境** -- 操作系统: [例如. iOS, Android, macOS, windows] -- 浏览器 [例如. chrome, safari, firefox] -- NotionNext版本 [e.g. 3.13.6] -- 主题 [例如. hexo] +- 【必填】NotionNext版本 [例如. 4.0.18] +- 【必填】主题 [例如. hexo] +- 【可选】操作系统: [例如. iOS, Android, macOS, windows] +- 【可选】浏览器 [例如. chrome, safari, firefox] **补充说明** -与问题相关的其它说明 \ No newline at end of file +【可选】与问题相关的其它说明 \ No newline at end of file diff --git a/blog.config.js b/blog.config.js index 263beecd..ce07ba3f 100644 --- a/blog.config.js +++ b/blog.config.js @@ -5,7 +5,7 @@ const BLOG = { process.env.NOTION_PAGE_ID || '02ab3b8678004aa69e9e415905ef32a5', PSEUDO_STATIC: process.env.NEXT_PUBLIC_PSEUDO_STATIC || false, // 伪静态路径,开启后所有文章URL都以 .html 结尾。 NEXT_REVALIDATE_SECOND: process.env.NEXT_PUBLIC_REVALIDATE_SECOND || 5, // 更新内容缓存间隔 单位(秒);即每个页面有5秒的纯静态期、此期间无论多少次访问都不会抓取notion数据;调大该值有助于节省Vercel资源、同时提升访问速率,但也会使文章更新有延迟。 - THEME: process.env.NEXT_PUBLIC_THEME || 'hexo', // 当前主题,在themes文件夹下可找到所有支持的主题;主题名称就是文件夹名,例如 example,fukasawa,gitbook,heo,hexo,landing,matery,medium,next,nobelium,plog,simple + THEME: process.env.NEXT_PUBLIC_THEME || 'simple', // 当前主题,在themes文件夹下可找到所有支持的主题;主题名称就是文件夹名,例如 example,fukasawa,gitbook,heo,hexo,landing,matery,medium,next,nobelium,plog,simple THEME_SWITCH: process.env.NEXT_PUBLIC_THEME_SWITCH || false, // 是否显示切换主题按钮 LANG: process.env.NEXT_PUBLIC_LANG || 'zh-CN', // e.g 'zh-CN','en-US' see /lib/lang.js for more. SINCE: 2021, // e.g if leave this empty, current year will be used. @@ -309,13 +309,11 @@ const BLOG = { // HOSTNAME: Webmention绑定之网域,通常即为本站网址 // TWITTER_USERNAME: 评论显示区域需要的资讯 // TOKEN: Webmention的API token - COMMENT_WEBMENTION: { - ENABLE: process.env.NEXT_PUBLIC_WEBMENTION_ENABLE || false, - AUTH: process.env.NEXT_PUBLIC_WEBMENTION_AUTH || '', - HOSTNAME: process.env.NEXT_PUBLIC_WEBMENTION_HOSTNAME || '', - TWITTER_USERNAME: process.env.NEXT_PUBLIC_TWITTER_USERNAME || '', - TOKEN: process.env.NEXT_PUBLIC_WEBMENTION_TOKEN || '' - }, + COMMENT_WEBMENTION_ENABLE: process.env.NEXT_PUBLIC_WEBMENTION_ENABLE || false, + COMMENT_WEBMENTION_AUTH: process.env.NEXT_PUBLIC_WEBMENTION_AUTH || '', + COMMENT_WEBMENTION_HOSTNAME: process.env.NEXT_PUBLIC_WEBMENTION_HOSTNAME || '', + COMMENT_WEBMENTION_TWITTER_USERNAME: process.env.NEXT_PUBLIC_TWITTER_USERNAME || '', + COMMENT_WEBMENTION_TOKEN: process.env.NEXT_PUBLIC_WEBMENTION_TOKEN || '', // <---- 评论插件 diff --git a/components/Ackee.js b/components/Ackee.js index 8a002bc1..2383f982 100644 --- a/components/Ackee.js +++ b/components/Ackee.js @@ -1,45 +1,47 @@ 'use strict' import { useEffect } from 'react' -import BLOG from '@/blog.config' import { loadExternalResource } from '@/lib/utils' import { useRouter } from 'next/router' +import { siteConfig } from '@/lib/config' const Ackee = () => { const router = useRouter() + const server = siteConfig('ANALYTICS_ACKEE_DATA_SERVER') + const domainId = siteConfig('ANALYTICS_ACKEE_DOMAIN_ID') + + // 或者使用其他依赖数组,根据需要执行 handleAckee + useEffect(() => { + handleAckeeCallback() + }, [router]) // handleAckee 函数 const handleAckeeCallback = () => { handleAckee( router.asPath, { - server: BLOG.ANALYTICS_ACKEE_DATA_SERVER, - domainId: BLOG.ANALYTICS_ACKEE_DOMAIN_ID + server: server, + domainId: domainId }, { /* - * Enable or disable tracking of personal data. - * We recommend to ask the user for permission before turning this option on. - */ + * Enable or disable tracking of personal data. + * We recommend to ask the user for permission before turning this option on. + */ detailed: true, /* - * Enable or disable tracking when on localhost. - */ + * Enable or disable tracking when on localhost. + */ ignoreLocalhost: false, /* - * Enable or disable the tracking of your own visits. - * This is enabled by default, but should be turned off when using a wildcard Access-Control-Allow-Origin header. - * Some browsers strictly block third-party cookies. The option won't have an impact when this is the case. - */ + * Enable or disable the tracking of your own visits. + * This is enabled by default, but should be turned off when using a wildcard Access-Control-Allow-Origin header. + * Some browsers strictly block third-party cookies. The option won't have an impact when this is the case. + */ ignoreOwnVisits: false } ) } - // 或者使用其他依赖数组,根据需要执行 handleAckee - useEffect(() => { - handleAckeeCallback() - }, [router]) - return null } @@ -53,8 +55,8 @@ export default Ackee * @param {Object} environment - Object containing the URL of the Ackee server and the domain id. * @param {?Object} options - Ackee options. */ -const handleAckee = async function(pathname, environment, options = {}) { - await loadExternalResource(BLOG.ANALYTICS_ACKEE_TRACKER, 'js') +const handleAckee = async function (pathname, environment, options = {}) { + await loadExternalResource(siteConfig('ANALYTICS_ACKEE_TRACKER'), 'js') const ackeeTracker = window.ackeeTracker const instance = ackeeTracker?.create(environment.server, options) diff --git a/components/AlgoliaSearchModal.js b/components/AlgoliaSearchModal.js index e1ba9f3e..fe672e44 100644 --- a/components/AlgoliaSearchModal.js +++ b/components/AlgoliaSearchModal.js @@ -1,10 +1,10 @@ import { useState, useImperativeHandle, useRef } from 'react' -import BLOG from '@/blog.config' import algoliasearch from 'algoliasearch' import replaceSearchResult from '@/components/Mark' import Link from 'next/link' import { useGlobal } from '@/lib/global' import throttle from 'lodash/throttle' +import { siteConfig } from '@/lib/config' /** * 结合 Algolia 实现的弹出式搜索框 @@ -31,8 +31,8 @@ export default function AlgoliaSearchModal({ cRef }) { } }) - const client = algoliasearch(BLOG.ALGOLIA_APP_ID, BLOG.ALGOLIA_SEARCH_ONLY_APP_KEY) - const index = client.initIndex(BLOG.ALGOLIA_INDEX) + const client = algoliasearch(siteConfig('ALGOLIA_APP_ID'), siteConfig('ALGOLIA_SEARCH_ONLY_APP_KEY')) + const index = client.initIndex(siteConfig('ALGOLIA_INDEX')) /** * 搜索 @@ -97,7 +97,7 @@ export default function AlgoliaSearchModal({ cRef }) { setIsModalOpen(false) } - if (!BLOG.ALGOLIA_APP_ID) { + if (!siteConfig('ALGOLIA_APP_ID')) { return <> } @@ -123,7 +123,7 @@ export default function AlgoliaSearchModal({ cRef }) {