From 4c483a71feb21c8c45e79466df7d834faf9d38f0 Mon Sep 17 00:00:00 2001 From: zhangjiashu <1130600015@qq.com> Date: Fri, 10 Nov 2023 12:47:27 +0800 Subject: [PATCH 1/9] =?UTF-8?q?[feat]=20=E6=94=AF=E6=8C=81=E9=9A=8F?= =?UTF-8?q?=E6=9C=BA=E5=9B=BE=E7=89=87=20url=20=E7=BB=9F=E4=B8=80=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog.config.js | 8 ++++++++ lib/notion/mapImage.js | 20 ++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/blog.config.js b/blog.config.js index ae020dac..3e6f159f 100644 --- a/blog.config.js +++ b/blog.config.js @@ -37,6 +37,14 @@ const BLOG = { BLOG_FAVICON: process.env.NEXT_PUBLIC_FAVICON || '/favicon.ico', // blog favicon 配置, 默认使用 /public/favicon.ico,支持在线图片,如 https://img.imesong.com/favicon.png + + RANDOM_IMAGE_URL: process.env.NEXT_PUBLIC_RANDOM_IMAGE_URL || '', // 随机图片API,如果未配置下面的关键字,主页封面,头像,文章封面图都会被替换为随机图片 + RANDOM_IMAGE_REPLACE_TEXT: process.env.NEXT_PUBLIC_RANDOM_IMAGE_NOT_REPLACE_TEXT || 'images.unsplash.com', // 触发替换图片的 url 关键字(多个支持用英文逗号分开),只有图片地址中包含此关键字才会替换为上方随机图片url + // eg: images.unsplash.com(notion图床的所有图片都会替换),如果你在 notion 里已经添加了一个随机图片 url,恰巧那个服务跑路或者挂掉,想一键切换所有配图可以将该 url 配置在这里 + // 默认下会将你上传到 notion的主页封面图和头像也给替换,建议将主页封面图和头像放在其他图床,在 notion 里配置 link 即可。 + + + // START ************网站字体***************** FONT_STYLE: process.env.NEXT_PUBLIC_FONT_STYLE || 'font-sans', // ['font-serif','font-sans'] 两种可选,分别是衬线和无衬线: 参考 https://www.jianshu.com/p/55e410bd2115 diff --git a/lib/notion/mapImage.js b/lib/notion/mapImage.js index b6da8d87..e4646d18 100644 --- a/lib/notion/mapImage.js +++ b/lib/notion/mapImage.js @@ -68,6 +68,26 @@ const mapImgUrl = (img, block, type = 'block', from) => { } if (!isEmoji(ret) && ret.indexOf('notion.so/images/page-cover') < 0) { + if (BLOG.RANDOM_IMAGE_URL) { + // 只有配置了随机图片接口,才会替换图片 + const texts = BLOG.RANDOM_IMAGE_REPLACE_TEXT + let isReplace = false; + if (texts) { + const textArr = texts.split(',') + // 判断是否包含替换的文本 + textArr.forEach(text => { + if (ret.indexOf(text) > -1) { + isReplace = true + } + }) + } else { + isReplace = true + } + + if (isReplace) { + ret = BLOG.RANDOM_IMAGE_URL + } + } // 随机图片接口优化 防止因url一致而随机结果相同 const separator = ret.includes('?') ? '&' : '?' // 拼接唯一识别参数,防止请求的图片被缓存 From c9718f49ee5b0016340e3a31c59eda304ccd5a23 Mon Sep 17 00:00:00 2001 From: zhangjiashu <1130600015@qq.com> Date: Fri, 10 Nov 2023 18:39:17 +0800 Subject: [PATCH 2/9] =?UTF-8?q?[feat]=20=E6=94=AF=E6=8C=81matomo=E7=BD=91?= =?UTF-8?q?=E7=AB=99=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog.config.js | 6 +++--- components/CommonScript.js | 18 ++++++++++++++++++ lib/notion/mapImage.js | 33 ++++++++++++++++----------------- 3 files changed, 37 insertions(+), 20 deletions(-) diff --git a/blog.config.js b/blog.config.js index 3e6f159f..263beecd 100644 --- a/blog.config.js +++ b/blog.config.js @@ -37,14 +37,11 @@ const BLOG = { BLOG_FAVICON: process.env.NEXT_PUBLIC_FAVICON || '/favicon.ico', // blog favicon 配置, 默认使用 /public/favicon.ico,支持在线图片,如 https://img.imesong.com/favicon.png - RANDOM_IMAGE_URL: process.env.NEXT_PUBLIC_RANDOM_IMAGE_URL || '', // 随机图片API,如果未配置下面的关键字,主页封面,头像,文章封面图都会被替换为随机图片 RANDOM_IMAGE_REPLACE_TEXT: process.env.NEXT_PUBLIC_RANDOM_IMAGE_NOT_REPLACE_TEXT || 'images.unsplash.com', // 触发替换图片的 url 关键字(多个支持用英文逗号分开),只有图片地址中包含此关键字才会替换为上方随机图片url // eg: images.unsplash.com(notion图床的所有图片都会替换),如果你在 notion 里已经添加了一个随机图片 url,恰巧那个服务跑路或者挂掉,想一键切换所有配图可以将该 url 配置在这里 // 默认下会将你上传到 notion的主页封面图和头像也给替换,建议将主页封面图和头像放在其他图床,在 notion 里配置 link 即可。 - - // START ************网站字体***************** FONT_STYLE: process.env.NEXT_PUBLIC_FONT_STYLE || 'font-sans', // ['font-serif','font-sans'] 两种可选,分别是衬线和无衬线: 参考 https://www.jianshu.com/p/55e410bd2115 @@ -329,6 +326,9 @@ const BLOG = { ANALYTICS_CNZZ_ID: process.env.NEXT_PUBLIC_ANALYTICS_CNZZ_ID || '', // 只需要填写站长统计的id, [cnzz_id] -> https://s9.cnzz.com/z_stat.php?id=[cnzz_id]&web_id=[cnzz_id] ANALYTICS_GOOGLE_ID: process.env.NEXT_PUBLIC_ANALYTICS_GOOGLE_ID || '', // 谷歌Analytics的id e.g: G-XXXXXXXXXX + // Matomo 网站统计 + MATOMO_HOST_URL: process.env.NEXT_PUBLIC_MATOMO_HOST_URL || '', // Matomo服务器地址,不带斜杠 + MATOMO_SITE_ID: process.env.NEXT_PUBLIC_MATOMO_SITE_ID || '', // Matomo网站ID // ACKEE网站访客统计工具 ANALYTICS_ACKEE_TRACKER: process.env.NEXT_PUBLIC_ANALYTICS_ACKEE_TRACKER || '', // e.g 'https://ackee.tangly1024.com/tracker.js' ANALYTICS_ACKEE_DATA_SERVER: process.env.NEXT_PUBLIC_ANALYTICS_ACKEE_DATA_SERVER || '', // e.g https://ackee.tangly1024.com , don't end with a slash diff --git a/components/CommonScript.js b/components/CommonScript.js index 2d6afe14..b5e1fe06 100644 --- a/components/CommonScript.js +++ b/components/CommonScript.js @@ -97,6 +97,24 @@ const CommonScript = () => { /> )} + {/* Matomo 统计 */} + {BLOG.MATOMO_HOST_URL && BLOG.MATOMO_SITE_ID && ( +