Merge pull request #2995 from tangly1024/fix/theme-starter-config

配置文件读取规则
This commit is contained in:
tangly1024
2024-11-19 21:29:26 +08:00
committed by GitHub

View File

@@ -18,6 +18,8 @@ export const siteConfig = (key, defaultVal = null, extendConfig = {}) => {
if (!key) {
return null
}
const getValue = (value, fallback) => (hasVal(value) ? value : fallback)
const hasVal = value => value !== undefined && value !== null
// 特殊配置处理以下配置只在服务端生效而Global的NOTION_CONFIG仅限前端组件使用因此需要从extendConfig中读取
switch (key) {
@@ -35,7 +37,9 @@ export const siteConfig = (key, defaultVal = null, extendConfig = {}) => {
case 'IS_TAG_COLOR_DISTINGUISHED':
case 'TAG_SORT_BY_COUNT':
case 'LINK':
return convertVal(extendConfig[key] || defaultVal || BLOG[key])
return convertVal(
getValue(extendConfig[key], getValue(defaultVal, BLOG[key]))
)
default:
}
@@ -79,16 +83,16 @@ export const siteConfig = (key, defaultVal = null, extendConfig = {}) => {
}
// 其次 有传入的extendConfig则尝试读取
if (!val && extendConfig) {
if (!hasVal(val) && extendConfig) {
val = extendConfig[key]
}
// 其次 NOTION没有找到配置则会读取blog.config.js文件
if (!val) {
if (!hasVal(val)) {
val = BLOG[key]
}
if (!val) {
if (!hasVal(val)) {
return defaultVal
}