@@ -1,8 +1,8 @@
// 注: process.env.XX是Vercel的环境变量, 配置方式见: https://docs.tangly1024.com/zh/features/personality
// 注: process.env.XX是Vercel的环境变量, 配置方式见: https://docs.tangly1024.com/article/how-to-config-notion-next#c4768010ae7d44609b744e79e2f9959a
const BLOG = {
// Important page_id! ! ! Duplicate Template from https://www.notion.so/tanghh/02ab3b8678004aa69e9e415905ef32a5
NOTION _PAGE _ID :
process . env . NOTION _PAGE _ID || '02ab3b8678004aa69e9e415905ef32a5' ,
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' , // 主题, 支持 ['next','hexo',"fukasawa','medium','example','matery','gitbook','simple'] @see https://preview.tangly1024.com
@@ -21,6 +21,7 @@ const BLOG = {
BIO : process . env . NEXT _PUBLIC _BIO || '一个普通的干饭人🍚' , // 作者简介
LINK : process . env . NEXT _PUBLIC _LINK || 'https://tangly1024.com' , // 网站地址
KEYWORDS : process . env . NEXT _PUBLIC _KEYWORD || 'Notion, 博客' , // 网站关键词 英文逗号隔开
// 社交链接,不需要可留空白,例如 CONTACT_WEIBO:''
CONTACT _EMAIL : process . env . NEXT _PUBLIC _CONTACT _EMAIL || '' , // 邮箱地址 例如mail@tangly1024.com
CONTACT _WEIBO : process . env . NEXT _PUBLIC _CONTACT _WEIBO || '' , // 你的微博个人主页
@@ -41,7 +42,7 @@ const BLOG = {
FONT _STYLE : process . env . NEXT _PUBLIC _FONT _STYLE || 'font-sans' , // ['font-serif','font-sans'] 两种可选,分别是衬线和无衬线: 参考 https://www.jianshu.com/p/55e410bd2115
// 字体CSS 例如 https://npm.elemecdn.com/lxgw-wenkai-webfont@1.6.0/style.css
FONT _URL : [
// 'https://npm.elemecdn.com/lxgw-wenkai-webfont@1.6.0/style.css'
// 'https://npm.elemecdn.com/lxgw-wenkai-webfont@1.6.0/style.css',
'https://fonts.googleapis.com/css?family=Bitter&display=swap' ,
'https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300&display=swap' ,
'https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@300&display=swap'
@@ -179,19 +180,19 @@ const BLOG = {
// 悬浮挂件
WIDGET _PET : process . env . NEXT _PUBLIC _WIDGET _PET || true , // 是否显示宠物挂件
WIDGET _PET _LINK :
process . env . NEXT _PUBLIC _WIDGET _PET _LINK ||
'https://cdn.jsdelivr.net/npm/live2d-widget-model-wanko@1.0.5/assets/wanko.model.json' , // 挂件模型地址 @see https://github.com/xiazeyu/live2d-widget-models
process . env . NEXT _PUBLIC _WIDGET _PET _LINK ||
'https://cdn.jsdelivr.net/npm/live2d-widget-model-wanko@1.0.5/assets/wanko.model.json' , // 挂件模型地址 @see https://github.com/xiazeyu/live2d-widget-models
WIDGET _PET _SWITCH _THEME : process . env . NEXT _PUBLIC _WIDGET _PET _SWITCH _THEME || true , // 点击宠物挂件切换博客主题
// 音乐播放插件
MUSIC _PLAYER : process . env . NEXT _PUBLIC _MUSIC _PLAYER || false , // 是否使用音乐播放插件
MUSIC _PLAYER _VISIBLE : process . env . NEXT _PUBLIC _MUSIC _PLAYER _VISIBLE || true , // 是否在左下角显示播放和切换,如果使用播放器,打开自动播放再隐藏,就会以类似背景音乐的方式播放,无法取消和暂停
MUSIC _PLAYER _AUTO _PLAY :
process . env . NEXT _PUBLIC _MUSIC _PLAYER _AUTO _PLAY || true , // 是否自动播放,不过自动播放时常不生效(移动设备不支持自动播放)
process . env . NEXT _PUBLIC _MUSIC _PLAYER _AUTO _PLAY || true , // 是否自动播放,不过自动播放时常不生效(移动设备不支持自动播放)
MUSIC _PLAYER _LRC _TYPE : process . env . NEXT _PUBLIC _MUSIC _PLAYER _LRC _TYPE || '0' , // 歌词显示类型,可选值: 3 | 1 | 0( 0: 禁用 lrc 歌词, 1: lrc 格式的字符串, 3: lrc 文件 url) ( 前提是有配置歌词路径, 对 meting 无效)
MUSIC _PLAYER _CDN _URL :
process . env . NEXT _PUBLIC _MUSIC _PLAYER _CDN _URL ||
'https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/aplayer/1.10.1/APlayer.min.js' ,
process . env . NEXT _PUBLIC _MUSIC _PLAYER _CDN _URL ||
'https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/aplayer/1.10.1/APlayer.min.js' ,
MUSIC _PLAYER _ORDER : process . env . NEXT _PUBLIC _MUSIC _PLAYER _ORDER || 'list' , // 默认播放方式,顺序 list, 随机 random
MUSIC _PLAYER _AUDIO _LIST : [
// 示例音乐列表。除了以下配置外,还可配置歌词,具体配置项看此文档 https://aplayer.js.org/#/zh-Hans/
@@ -200,23 +201,23 @@ const BLOG = {
artist : 'Falcom Sound Team jdk' ,
url : 'https://music.163.com/song/media/outer/url?id=731419.mp3' ,
cover :
'https://p2.music.126.net/kn6ugISTonvqJh3LHLaPtQ==/599233837187278.jpg'
'https://p2.music.126.net/kn6ugISTonvqJh3LHLaPtQ==/599233837187278.jpg'
} ,
{
name : '王都グランセル' ,
artist : 'Falcom Sound Team jdk' ,
url : 'https://music.163.com/song/media/outer/url?id=731355.mp3' ,
cover :
'https://p1.music.126.net/kn6ugISTonvqJh3LHLaPtQ==/599233837187278.jpg'
'https://p1.music.126.net/kn6ugISTonvqJh3LHLaPtQ==/599233837187278.jpg'
}
] ,
MUSIC _PLAYER _METING : process . env . NEXT _PUBLIC _MUSIC _PLAYER _METING || false , // 是否要开启 MetingJS, 从平台获取歌单。会覆盖自定义的 MUSIC_PLAYER_AUDIO_LIST, 更多配置信息: https://github.com/metowolf/MetingJS
MUSIC _PLAYER _METING _SERVER :
process . env . NEXT _PUBLIC _MUSIC _PLAYER _METING _SERVER || 'netease' , // 音乐平台,[netease, tencent, kugou, xiami, baidu]
process . env . NEXT _PUBLIC _MUSIC _PLAYER _METING _SERVER || 'netease' , // 音乐平台,[netease, tencent, kugou, xiami, baidu]
MUSIC _PLAYER _METING _ID :
process . env . NEXT _PUBLIC _MUSIC _PLAYER _METING _ID || '60198' , // 对应歌单的 id
process . env . NEXT _PUBLIC _MUSIC _PLAYER _METING _ID || '60198' , // 对应歌单的 id
MUSIC _PLAYER _METING _LRC _TYPE :
process . env . NEXT _PUBLIC _MUSIC _PLAYER _METING _LRC _TYPE || '1' , // 可选值: 3 | 1 | 0( 0: 禁用 lrc 歌词, 1: lrc 格式的字符串, 3: lrc 文件 url)
process . env . NEXT _PUBLIC _MUSIC _PLAYER _METING _LRC _TYPE || '1' , // 可选值: 3 | 1 | 0( 0: 禁用 lrc 歌词, 1: lrc 格式的字符串, 3: lrc 文件 url)
// ********挂件组件相关********
// ----> 评论互动 可同时开启多个支持 WALINE VALINE GISCUS CUSDIS UTTERRANCES GITALK
@@ -228,42 +229,42 @@ const BLOG = {
// utterance
COMMENT _UTTERRANCES _REPO :
process . env . NEXT _PUBLIC _COMMENT _UTTERRANCES _REPO || '' , // 你的代码仓库名, 例如我是 'tangly1024/NotionNext'; 更多文档参考 https://utteranc.es/
process . env . NEXT _PUBLIC _COMMENT _UTTERRANCES _REPO || '' , // 你的代码仓库名, 例如我是 'tangly1024/NotionNext'; 更多文档参考 https://utteranc.es/
// giscus @see https://giscus.app/
COMMENT _GISCUS _REPO : process . env . NEXT _PUBLIC _COMMENT _GISCUS _REPO || '' , // 你的Github仓库名 e.g 'tangly1024/NotionNext'
COMMENT _GISCUS _REPO _ID : process . env . NEXT _PUBLIC _COMMENT _GISCUS _REPO _ID || '' , // 你的Github Repo ID e.g ( 設定完 giscus 即可看到 )
COMMENT _GISCUS _CATEGORY _ID :
process . env . NEXT _PUBLIC _COMMENT _GISCUS _CATEGORY _ID || '' , // 你的Github Discussions 內的 Category ID ( 設定完 giscus 即可看到 )
process . env . NEXT _PUBLIC _COMMENT _GISCUS _CATEGORY _ID || '' , // 你的Github Discussions 內的 Category ID ( 設定完 giscus 即可看到 )
COMMENT _GISCUS _MAPPING :
process . env . NEXT _PUBLIC _COMMENT _GISCUS _MAPPING || 'pathname' , // 你的Github Discussions 使用哪種方式來標定文章, 預設 'pathname'
process . env . NEXT _PUBLIC _COMMENT _GISCUS _MAPPING || 'pathname' , // 你的Github Discussions 使用哪種方式來標定文章, 預設 'pathname'
COMMENT _GISCUS _REACTIONS _ENABLED :
process . env . NEXT _PUBLIC _COMMENT _GISCUS _REACTIONS _ENABLED || '1' , // 你的 Giscus 是否開啟文章表情符號 '1' 開啟 "0" 關閉 預設開啟
process . env . NEXT _PUBLIC _COMMENT _GISCUS _REACTIONS _ENABLED || '1' , // 你的 Giscus 是否開啟文章表情符號 '1' 開啟 "0" 關閉 預設開啟
COMMENT _GISCUS _EMIT _METADATA :
process . env . NEXT _PUBLIC _COMMENT _GISCUS _EMIT _METADATA || '0' , // 你的 Giscus 是否提取 Metadata '1' 開啟 '0' 關閉 預設關閉
process . env . NEXT _PUBLIC _COMMENT _GISCUS _EMIT _METADATA || '0' , // 你的 Giscus 是否提取 Metadata '1' 開啟 '0' 關閉 預設關閉
COMMENT _GISCUS _INPUT _POSITION :
process . env . NEXT _PUBLIC _COMMENT _GISCUS _INPUT _POSITION || 'bottom' , // 你的 Giscus 發表留言位置 'bottom' 尾部 'top' 頂部, 預設 'bottom'
process . env . NEXT _PUBLIC _COMMENT _GISCUS _INPUT _POSITION || 'bottom' , // 你的 Giscus 發表留言位置 'bottom' 尾部 'top' 頂部, 預設 'bottom'
COMMENT _GISCUS _LANG : process . env . NEXT _PUBLIC _COMMENT _GISCUS _LANG || 'zh-CN' , // 你的 Giscus 語言 e.g 'en', 'zh-TW', 'zh-CN', 預設 'en'
COMMENT _GISCUS _LOADING :
process . env . NEXT _PUBLIC _COMMENT _GISCUS _LOADING || 'lazy' , // 你的 Giscus 載入是否漸進式載入, 預設 'lazy'
process . env . NEXT _PUBLIC _COMMENT _GISCUS _LOADING || 'lazy' , // 你的 Giscus 載入是否漸進式載入, 預設 'lazy'
COMMENT _GISCUS _CROSSORIGIN :
process . env . NEXT _PUBLIC _COMMENT _GISCUS _CROSSORIGIN || 'anonymous' , // 你的 Giscus 可以跨網域, 預設 'anonymous'
process . env . NEXT _PUBLIC _COMMENT _GISCUS _CROSSORIGIN || 'anonymous' , // 你的 Giscus 可以跨網域, 預設 'anonymous'
COMMENT _CUSDIS _APP _ID : process . env . NEXT _PUBLIC _COMMENT _CUSDIS _APP _ID || '' , // data-app-id 36位 see https://cusdis.com/
COMMENT _CUSDIS _HOST :
process . env . NEXT _PUBLIC _COMMENT _CUSDIS _HOST || 'https://cusdis.com' , // data-host, change this if you're using self-hosted version
process . env . NEXT _PUBLIC _COMMENT _CUSDIS _HOST || 'https://cusdis.com' , // data-host, change this if you're using self-hosted version
COMMENT _CUSDIS _SCRIPT _SRC :
process . env . NEXT _PUBLIC _COMMENT _CUSDIS _SCRIPT _SRC ||
'https://cusdis.com/js/cusdis.es.js' , // change this if you're using self-hosted version
process . env . NEXT _PUBLIC _COMMENT _CUSDIS _SCRIPT _SRC ||
'https://cusdis.com/js/cusdis.es.js' , // change this if you're using self-hosted version
// gitalk评论插件 更多参考 https://gitalk.github.io/
COMMENT _GITALK _REPO : process . env . NEXT _PUBLIC _COMMENT _GITALK _REPO || '' , // 你的Github仓库名, 例如 'NotionNext'
COMMENT _GITALK _OWNER : process . env . NEXT _PUBLIC _COMMENT _GITALK _OWNER || '' , // 你的用户名 e.g tangly1024
COMMENT _GITALK _ADMIN : process . env . NEXT _PUBLIC _COMMENT _GITALK _ADMIN || '' , // 管理员用户名、一般是自己 e.g 'tangly1024'
COMMENT _GITALK _CLIENT _ID :
process . env . NEXT _PUBLIC _COMMENT _GITALK _CLIENT _ID || '' , // e.g 20位ID , 在gitalk后台获取
process . env . NEXT _PUBLIC _COMMENT _GITALK _CLIENT _ID || '' , // e.g 20位ID , 在gitalk后台获取
COMMENT _GITALK _CLIENT _SECRET :
process . env . NEXT _PUBLIC _COMMENT _GITALK _CLIENT _SECRET || '' , // e.g 40位ID, 在gitalk后台获取
process . env . NEXT _PUBLIC _COMMENT _GITALK _CLIENT _SECRET || '' , // e.g 40位ID, 在gitalk后台获取
COMMENT _GITALK _DISTRACTION _FREE _MODE : false , // 类似facebook的无干扰模式
COMMENT _GITALK _JS _CDN _URL : process . env . NEXT _PUBLIC _COMMENT _GITALK _JS _CDN _URL || 'https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js' , // gitalk客户端 js cdn
COMMENT _GITALK _CSS _CDN _URL : process . env . NEXT _PUBLIC _COMMENT _GITALK _CSS _CDN _URL || 'https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css' , // gitalk客户端 css cdn
@@ -277,7 +278,7 @@ const BLOG = {
COMMENT _VALINE _APP _KEY : process . env . NEXT _PUBLIC _VALINE _KEY || '' ,
COMMENT _VALINE _SERVER _URLS : process . env . NEXT _PUBLIC _VALINE _SERVER _URLS || '' , // 该配置适用于国内自定义域名用户, 海外版本会自动检测(无需手动填写) @see https://valine.js.org/configuration.html#serverURLs
COMMENT _VALINE _PLACEHOLDER :
process . env . NEXT _PUBLIC _VALINE _PLACEHOLDER || '抢个沙发吧~' , // 可以搭配后台管理评论 https://github.com/DesertsP/Valine-Admin 便于查看评论,以及邮件通知,垃圾评论过滤等功能
process . env . NEXT _PUBLIC _VALINE _PLACEHOLDER || '抢个沙发吧~' , // 可以搭配后台管理评论 https://github.com/DesertsP/Valine-Admin 便于查看评论,以及邮件通知,垃圾评论过滤等功能
COMMENT _WALINE _SERVER _URL : process . env . NEXT _PUBLIC _WALINE _SERVER _URL || '' , // 请配置完整的Waline评论地址 例如 hhttps://preview-waline.tangly1024.com @see https://waline.js.org/guide/get-started.html
COMMENT _WALINE _RECENT : process . env . NEXT _PUBLIC _WALINE _RECENT || false , // 最新评论
@@ -307,17 +308,17 @@ const BLOG = {
ANALYTICS _GOOGLE _ID : process . env . NEXT _PUBLIC _ANALYTICS _GOOGLE _ID || '' , // 谷歌Analytics的id e.g: G-XXXXXXXXXX
ANALYTICS _ACKEE _TRACKER :
process . env . NEXT _PUBLIC _ANALYTICS _ACKEE _TRACKER || '' , // e.g 'https://ackee.tangly1024.net/tracker.js'
process . env . NEXT _PUBLIC _ANALYTICS _ACKEE _TRACKER || '' , // e.g 'https://ackee.tangly1024.net/tracker.js'
ANALYTICS _ACKEE _DATA _SERVER :
process . env . NEXT _PUBLIC _ANALYTICS _ACKEE _DATA _SERVER || '' , // e.g https://ackee.tangly1024.net , don't end with a slash
process . env . NEXT _PUBLIC _ANALYTICS _ACKEE _DATA _SERVER || '' , // e.g https://ackee.tangly1024.net , don't end with a slash
ANALYTICS _ACKEE _DOMAIN _ID :
process . env . NEXT _PUBLIC _ANALYTICS _ACKEE _DOMAIN _ID || '' , // e.g '0e2257a8-54d4-4847-91a1-0311ea48cc7b'
process . env . NEXT _PUBLIC _ANALYTICS _ACKEE _DOMAIN _ID || '' , // e.g '0e2257a8-54d4-4847-91a1-0311ea48cc7b'
SEO _GOOGLE _SITE _VERIFICATION :
process . env . NEXT _PUBLIC _SEO _GOOGLE _SITE _VERIFICATION || '' , // Remove the value or replace it with your own google site verification code
process . env . NEXT _PUBLIC _SEO _GOOGLE _SITE _VERIFICATION || '' , // Remove the value or replace it with your own google site verification code
SEO _BAIDU _SITE _VERIFICATION :
process . env . NEXT _PUBLIC _SEO _BAIDU _SITE _VERIFICATION || '' , // Remove the value or replace it with your own google site verification code
process . env . NEXT _PUBLIC _SEO _BAIDU _SITE _VERIFICATION || '' , // Remove the value or replace it with your own google site verification code
// <---- 站点统计
@@ -336,16 +337,16 @@ const BLOG = {
type _post : process . env . NEXT _PUBLIC _NOTION _PROPERTY _TYPE _POST || 'Post' , // 当type文章类型与此值相同时, 为博文。
type _page : process . env . NEXT _PUBLIC _NOTION _PROPERTY _TYPE _PAGE || 'Page' , // 当type文章类型与此值相同时, 为单页。
type _notice :
process . env . NEXT _PUBLIC _NOTION _PROPERTY _TYPE _NOTICE || 'Notice' , // 当type文章类型与此值相同时, 为公告。
process . env . NEXT _PUBLIC _NOTION _PROPERTY _TYPE _NOTICE || 'Notice' , // 当type文章类型与此值相同时, 为公告。
type _menu : process . env . NEXT _PUBLIC _NOTION _PROPERTY _TYPE _MENU || 'Menu' , // 当type文章类型与此值相同时, 为菜单。
type _sub _menu :
process . env . NEXT _PUBLIC _NOTION _PROPERTY _TYPE _SUB _MENU || 'SubMenu' , // 当type文章类型与此值相同时, 为子菜单。
process . env . NEXT _PUBLIC _NOTION _PROPERTY _TYPE _SUB _MENU || 'SubMenu' , // 当type文章类型与此值相同时, 为子菜单。
title : process . env . NEXT _PUBLIC _NOTION _PROPERTY _TITLE || 'title' , // 文章标题
status : process . env . NEXT _PUBLIC _NOTION _PROPERTY _STATUS || 'status' ,
status _publish :
process . env . NEXT _PUBLIC _NOTION _PROPERTY _STATUS _PUBLISH || 'Published' , // 当status状态值与此相同时为发布, 可以为中文
process . env . NEXT _PUBLIC _NOTION _PROPERTY _STATUS _PUBLISH || 'Published' , // 当status状态值与此相同时为发布, 可以为中文
status _invisible :
process . env . NEXT _PUBLIC _NOTION _PROPERTY _STATUS _INVISIBLE || 'Invisible' , // 当status状态值与此相同时为隐藏发布, 可以为中文 , 除此之外其他页面状态不会显示在博客上
process . env . NEXT _PUBLIC _NOTION _PROPERTY _STATUS _INVISIBLE || 'Invisible' , // 当status状态值与此相同时为隐藏发布, 可以为中文 , 除此之外其他页面状态不会显示在博客上
summary : process . env . NEXT _PUBLIC _NOTION _PROPERTY _SUMMARY || 'summary' ,
slug : process . env . NEXT _PUBLIC _NOTION _PROPERTY _SLUG || 'slug' ,
category : process . env . NEXT _PUBLIC _NOTION _PROPERTY _CATEGORY || 'category' ,
@@ -363,9 +364,9 @@ const BLOG = {
AVATAR : process . env . NEXT _PUBLIC _AVATAR || '/avatar.svg' , // 作者头像, 被notion中的ICON覆盖。若无ICON则取public目录下的avatar.png
TITLE : process . env . NEXT _PUBLIC _TITLE || 'NotionNext BLOG' , // 站点标题 , 被notion中的页面标题覆盖; 此处请勿留空白, 否则服务器无法编译
HOME _BANNER _IMAGE :
process . env . NEXT _PUBLIC _HOME _BANNER _IMAGE || '/bg_image.jpg' , // 首页背景大图, 会被notion中的封面图覆盖, 若无封面图则会使用代码中的 /public/bg_image.jpg 文件
process . env . NEXT _PUBLIC _HOME _BANNER _IMAGE || '/bg_image.jpg' , // 首页背景大图, 会被notion中的封面图覆盖, 若无封面图则会使用代码中的 /public/bg_image.jpg 文件
DESCRIPTION :
process . env . NEXT _PUBLIC _DESCRIPTION || '这是一个由NotionNext生成的站点' , // 站点描述, 被notion中的页面描述覆盖
process . env . NEXT _PUBLIC _DESCRIPTION || '这是一个由NotionNext生成的站点' , // 站点描述, 被notion中的页面描述覆盖
// 网站图片
IMG _LAZY _LOAD _PLACEHOLDER : process . env . NEXT _PUBLIC _IMG _LAZY _LOAD _PLACEHOLDER || 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==' , // 懒加载占位图片地址, 支持base64或url