From 75ec3be77e34de38087d99f6fa7bf1a6042f747e Mon Sep 17 00:00:00 2001 From: kazoottt Date: Wed, 6 Mar 2024 19:18:36 +0800 Subject: [PATCH 1/4] feat: support whether to distinguish tags by color --- .env.local | 1 + blog.config.js | 4 +++- lib/notion/getAllTags.js | 29 +++++++++++++++++++++++------ 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/.env.local b/.env.local index 2dacdbef..4d556f6c 100644 --- a/.env.local +++ b/.env.local @@ -166,6 +166,7 @@ NEXT_PUBLIC_VERSION=4.3.1 # NEXT_PUBLIC_NOTION_PROPERTY_TAGS= # NEXT_PUBLIC_NOTION_PROPERTY_ICON= # NEXT_PUBLIC_ENABLE_RSS= +# NEXT_PUBLIC_IS_TAG_COLOR_DISTINGUISHED= # MAILCHIMP_LIST_ID= # MAILCHIMP_API_KEY= # NEXT_PUBLIC_DEBUG= diff --git a/blog.config.js b/blog.config.js index 2b57efcd..d75d9d7f 100644 --- a/blog.config.js +++ b/blog.config.js @@ -12,6 +12,8 @@ const BLOG = { APPEARANCE: process.env.NEXT_PUBLIC_APPEARANCE || 'light', // ['light', 'dark', 'auto'], // light 日间模式 , dark夜间模式, auto根据时间和主题自动夜间模式 APPEARANCE_DARK_TIME: process.env.NEXT_PUBLIC_APPEARANCE_DARK_TIME || [18, 6], // 夜间模式起至时间,false时关闭根据时间自动切换夜间模式 + IS_TAG_COLOR_DISTINGUISHED: process.env.NEXT_PUBLIC_IS_TAG_COLOR_DISTINGUISHED === 'true' || false, // 对于名称相同的tag是否区分tag的颜色 + // 3.14.1版本后,欢迎语在此配置,英文逗号隔开 , 即可支持多个欢迎语打字效果。 GREETING_WORDS: process.env.NEXT_PUBLIC_GREETING_WORDS || 'Hi,我是一个程序员, Hi,我是一个打工人,Hi,我是一个干饭人,欢迎来到我的博客🎉', @@ -461,7 +463,7 @@ const BLOG = { ENABLE_CACHE: process.env.ENABLE_CACHE || process.env.npm_lifecycle_event === 'build' || process.env.npm_lifecycle_event === 'export', // 在打包过程中默认开启缓存,开发或运行时开启此功能意义不大。 isProd: process.env.VERCEL_ENV === 'production', // distinguish between development and production environment (ref: https://vercel.com/docs/environment-variables#system-environment-variables) isProd: process.env.VERCEL_ENV === 'production' // distinguish between development and production environment (ref: https://vercel.com/docs/environment-variables#system-environment-variables) BUNDLE_ANALYZER: process.env.ANALYZE === 'true' || false, // 是否展示编译依赖内容与大小 - VERSION: process.env.NEXT_PUBLIC_VERSION // 版本号 + VERSION: process.env.NEXT_PUBLIC_VERSION, // 版本号 } module.exports = BLOG diff --git a/lib/notion/getAllTags.js b/lib/notion/getAllTags.js index dfc92ac7..165a3387 100644 --- a/lib/notion/getAllTags.js +++ b/lib/notion/getAllTags.js @@ -1,4 +1,5 @@ import { isIterable } from '../utils' +import BLOG from '@/blog' /** * 获取所有文章的标签 @@ -24,14 +25,30 @@ export function getAllTags({ allPages, sliceCount = 0, tagOptions }) { tagObj[tag] = 1 } }) + const list = [] + const { IS_TAG_COLOR_DISTINGUISHED } = BLOG if (isIterable(tagOptions)) { - tagOptions.forEach(c => { - const count = tagObj[c.value] - if (count) { - list.push({ id: c.id, name: c.value, color: c.color, count }) - } - }) + if (!IS_TAG_COLOR_DISTINGUISHED) { + // 如果不区分颜色, 那么不同颜色相同名称的tag当做同一种tag + const savedTagNames = new Set() + tagOptions.forEach(c => { + if (!savedTagNames.has(c.value)) { + const count = tagObj[c.value] + if (count) { + list.push({ id: c.id, name: c.value, color: c.color, count }) + } + savedTagNames.add(c.value) + } + }) + } else { + tagOptions.forEach(c => { + const count = tagObj[c.value] + if (count) { + list.push({ id: c.id, name: c.value, color: c.color, count }) + } + }) + } } // 按照数量排序 From 571de065507f011deeb78696eb7b032583ef48be Mon Sep 17 00:00:00 2001 From: kazoottt Date: Wed, 6 Mar 2024 19:28:08 +0800 Subject: [PATCH 2/4] style: format blog.config.js --- blog.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog.config.js b/blog.config.js index d75d9d7f..644d4862 100644 --- a/blog.config.js +++ b/blog.config.js @@ -463,7 +463,7 @@ const BLOG = { ENABLE_CACHE: process.env.ENABLE_CACHE || process.env.npm_lifecycle_event === 'build' || process.env.npm_lifecycle_event === 'export', // 在打包过程中默认开启缓存,开发或运行时开启此功能意义不大。 isProd: process.env.VERCEL_ENV === 'production', // distinguish between development and production environment (ref: https://vercel.com/docs/environment-variables#system-environment-variables) isProd: process.env.VERCEL_ENV === 'production' // distinguish between development and production environment (ref: https://vercel.com/docs/environment-variables#system-environment-variables) BUNDLE_ANALYZER: process.env.ANALYZE === 'true' || false, // 是否展示编译依赖内容与大小 - VERSION: process.env.NEXT_PUBLIC_VERSION, // 版本号 + VERSION: process.env.NEXT_PUBLIC_VERSION // 版本号 } module.exports = BLOG From ca83d4c08c54fb8f01642b2e7682241075acbdeb Mon Sep 17 00:00:00 2001 From: kazoottt Date: Wed, 6 Mar 2024 19:33:27 +0800 Subject: [PATCH 3/4] fix: wrong import --- lib/notion/getAllTags.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/notion/getAllTags.js b/lib/notion/getAllTags.js index 165a3387..4c7559b9 100644 --- a/lib/notion/getAllTags.js +++ b/lib/notion/getAllTags.js @@ -1,5 +1,5 @@ import { isIterable } from '../utils' -import BLOG from '@/blog' +import BLOG from '@/blog.config' /** * 获取所有文章的标签 From e2bab7b4bf9e7ea39dc35ce17af434801c6c8754 Mon Sep 17 00:00:00 2001 From: KazooTTT Date: Thu, 7 Mar 2024 00:11:17 +0800 Subject: [PATCH 4/4] fix: update blog.config.js --- blog.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog.config.js b/blog.config.js index 644d4862..2af5e64e 100644 --- a/blog.config.js +++ b/blog.config.js @@ -12,7 +12,7 @@ const BLOG = { APPEARANCE: process.env.NEXT_PUBLIC_APPEARANCE || 'light', // ['light', 'dark', 'auto'], // light 日间模式 , dark夜间模式, auto根据时间和主题自动夜间模式 APPEARANCE_DARK_TIME: process.env.NEXT_PUBLIC_APPEARANCE_DARK_TIME || [18, 6], // 夜间模式起至时间,false时关闭根据时间自动切换夜间模式 - IS_TAG_COLOR_DISTINGUISHED: process.env.NEXT_PUBLIC_IS_TAG_COLOR_DISTINGUISHED === 'true' || false, // 对于名称相同的tag是否区分tag的颜色 + IS_TAG_COLOR_DISTINGUISHED: process.env.NEXT_PUBLIC_IS_TAG_COLOR_DISTINGUISHED === 'true' || true, // 对于名称相同的tag是否区分tag的颜色 // 3.14.1版本后,欢迎语在此配置,英文逗号隔开 , 即可支持多个欢迎语打字效果。 GREETING_WORDS: process.env.NEXT_PUBLIC_GREETING_WORDS || 'Hi,我是一个程序员, Hi,我是一个打工人,Hi,我是一个干饭人,欢迎来到我的博客🎉',